diff options
author | Stan Shebs <shebs@codesourcery.com> | 1999-04-16 01:34:07 +0000 |
---|---|---|
committer | Stan Shebs <shebs@codesourcery.com> | 1999-04-16 01:34:07 +0000 |
commit | 071ea11e85eb9d529cc5eb3d35f6247466a21b99 (patch) | |
tree | 5deda65b8d7b04d1f4cbc534c3206d328e1267ec /gdb/testsuite | |
parent | 1730ec6b1848f0f32154277f788fb29f88d8475b (diff) | |
download | binutils-gdb-071ea11e85eb9d529cc5eb3d35f6247466a21b99.tar.gz |
Initial creation of sourceware repository
Diffstat (limited to 'gdb/testsuite')
395 files changed, 0 insertions, 83333 deletions
diff --git a/gdb/testsuite/.Sanitize b/gdb/testsuite/.Sanitize deleted file mode 100644 index 1b790ce3c05..00000000000 --- a/gdb/testsuite/.Sanitize +++ /dev/null @@ -1,150 +0,0 @@ -# .Sanitize for devo/gdb/testsuite. - -# Each directory to survive its way into a release will need a file -# like this one called "./.Sanitize". All keyword lines must exist, -# and must exist in the order specified by this file. Each directory -# in the tree will be processed, top down, in the following order. - -# Hash started lines like this one are comments and will be deleted -# before anything else is done. Blank lines will also be squashed -# out. - -# The lines between the "Do-first:" line and the "Things-to-keep:" -# line are executed as a /bin/sh shell script before anything else is -# done in this directory. - -Do-first: - -gdbtk_files="gdb.gdbtk" - -if ( echo $* | grep lose\-gdbtk > /dev/null ) ; then - lose_these_too="${gdbtk_files} ${lose_these_too}" - if [ -n "${verbose}" ] ; then - echo Deleting ${gdbtk_files} - fi -else - keep_these_too="${gdbtk_files} ${keep_these_too}" - if [ -n "${verbose}" ] ; then - echo Keeping ${gdbtk_files} - fi -fi - -# All files listed between the "Things-to-keep:" line and the -# "Do-last:" line will be kept. All other files will be removed. -# Directories listed in this section will have their own Sanitize -# called. Directories not listed will be removed in their entirety -# with rm -rf. - -Things-to-keep: - -.gdbinit -ChangeLog -Makefile.in -TODO -aclocal.m4 -config -configure -configure.in -gdb.asm -gdb.base -gdb.c++ -gdb.chill -gdb.disasm -gdb.fortran -gdb.hp -gdb.stabs -gdb.threads -gdb.trace -lib - -Things-to-lose: - -# The lines between the "Do-last:" line and the end of the file -# are executed as a /bin/sh shell script after everything else is -# done. - -Do-last: - -never_files="ChangeLog" -for i in $never_files ; do - if test ! -d $i && (grep sanitize-cygnus-never $i > /dev/null) ; then - if [ -n "${verbose}" ] ; then - echo Removing traces of \"cygnus-never\" from $i... - fi - cp $i new - sed '/start\-sanitize\-cygnus-never/,/end\-sanitize\-cygnus-never/d' < $i > new - if [ -n "${safe}" -a ! -f .Recover/$i ] ; then - if [ -n "${verbose}" ] ; then - echo Caching $i in .Recover... - fi - mv $i .Recover - fi - mv new $i - fi -done - -cygnus_files="ChangeLog" -if ( echo $* | grep keep\-cygnus > /dev/null ) ; then - for i in $cygnus_files ; do - if test ! -d $i && (grep sanitize-cygnus $i > /dev/null) ; then - if [ -n "${verbose}" ] ; then - echo Keeping cygnus stuff in $i - fi - fi - done -else - for i in $cygnus_files ; do - if test ! -d $i && (grep sanitize-cygnus $i > /dev/null) ; then - if [ -n "${verbose}" ] ; then - echo Removing traces of \"cygnus\" from $i... - fi - cp $i new - sed '/start\-sanitize\-cygnus/,/end-\sanitize\-cygnus/d' < $i > new - if [ -n "${safe}" -a ! -f .Recover/$i ] ; then - if [ -n "${verbose}" ] ; then - echo Caching $i in .Recover... - fi - mv $i .Recover - fi - mv new $i - fi - done -fi - -if ( echo $* | grep lose\-gdbtk > /dev/null ) ; then - echo Catering to RMS by removing traces of \"gdbtk\"... - for i in * ; do - if test ! -d $i && (grep sanitize-gdbtk $i > /dev/null) ; then - echo Removing traces of \"gdbtk\" out of $i... - cp $i new - sed '/start\-sanitize\-gdbtk/,/end-\sanitize\-gdbtk/d' < $i > new - if [ -n "${safe}" -a ! -f .Recover/$i ] ; then - echo Caching $i in .Recover... - mv $i .Recover - fi - mv new $i - fi - done -else - echo Leaving \"gdbtk\" in the sources... - for i in * ; do - if test ! -d $i && (grep sanitize-gdbtk $i > /dev/null) ; then - echo Keeping \"gdbtk\" stuff in $i, but editing out sanitize lines... - cp $i new - sed -e '/start\-sanitize\-gdbtk/d' -e '/end\-sanitize\-gdbtk/d' < $i > new - if [ -n "${safe}" -a ! -f .Recover/$i ] ; then - echo Caching $i in .Recover... - mv $i .Recover - fi - mv new $i - fi - done -fi - -for i in * ; do - if test ! -d $i && (grep sanitize $i > /dev/null) ; then - echo '***' Some mentions of Sanitize are still left in $i! 1>&2 - fi -done - -# eof diff --git a/gdb/testsuite/.gdbinit b/gdb/testsuite/.gdbinit deleted file mode 100644 index 62bcb743093..00000000000 --- a/gdb/testsuite/.gdbinit +++ /dev/null @@ -1 +0,0 @@ -set height 400 diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog deleted file mode 100644 index 6d842c634e0..00000000000 --- a/gdb/testsuite/ChangeLog +++ /dev/null @@ -1,5914 +0,0 @@ -1999-02-10 Jason Molenda (jsm@bugshack.cygnus.com) - - * gdb.base/smoke.exp: Disambiguate two test case names (both - called ``print''). - -Fri Feb 5 12:42:56 1999 Stan Shebs <shebs@andros.cygnus.com> - - * gdb.base/volatile.exp: Use gdb_test, add xfails for GCC - compilation. - -1999-02-04 Jason Molenda (jsm@bugshack.cygnus.com) - - * 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. - -1999-02-04 Jason Molenda (jsm@bugshack.cygnus.com) - - * 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 removes - leading zeros. Explicitly ask for hex formatting. Use - unique test case names. - -Tue Feb 2 10:16:08 1999 Elena Zannoni <ezannoni@kwikemart.cygnus.com> - - * lib/gdb.exp (gdb_preprocess): Remove 'puts' statement. - - * gdb.c++/method.exp: Add missing close brace. - -1999-01-30 Jim Blandy <jimb@zwingli.cygnus.com> - - * gdb.base/maint.exp: Use 'set height 0' to disable page - prompting, not 'set height 400'. - - Fix a bunch of timeouts. - * gdb.base/maint.exp ("maint print objfiles"): Break this up into - four separate tests, so expect doesn't take forever to match a ton - of text against a regexp with lots of .* forms. - ("maint print psymbols", "maint print symbols"): Make some of - these greps more selective, so that expect doesn't try to wade - through huge piles of output and time out. - - * gdb.base/maint.exp ("maint print msymbols"): Fix pattern. - - * gdb.base/maint.exp ("maint info breakpoints"): Split into two - tests: one which doesn't expect shlib events to be reported, and - another which does, but is XFAIL for all platforms other than - HP/UX. - - * gdb.base/break.exp: Teach the test suite that the `catch - fork', `catch vfork', and `catch exec' commands produce error - messages on platforms that don't provide these features. - -Mon Jan 25 18:35:56 1999 Stan Shebs <shebs@andros.cygnus.com> - - * gdb.hp/gen-so-thresh.c, so-thresh.sh, so-thresh.exp, - 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. - -Thu Jan 21 15:46:49 1999 Stan Shebs <shebs@andros.cygnus.com> - - * gdb.base/Makefile.in, gdb.c++/Makefile.in, - gdb.trace/Makefile.in (clean): Remove all test executables. - -Tue Jan 19 17:20:09 1999 David Taylor <taylor@texas.cygnus.com> - - * gdb.base/shlib-call.exp: add test cases to verify that gdb - successfully re-sets breakpoints in shared libraries. - * gdb.base/shmain.c (main): return 0, don't fall off the end. - -Fri Jan 15 14:04:57 1999 Elena Zannoni <ezannoni@kwikemart.cygnus.com> - - * gdb.hp/xdb3.exp: do not execute unless on hppa-hpux platform - and compiled w/o GCC. - - * gdb.hp/watch-cmd.exp: ditto. - - * gdb.hp/watch-hp.exp: ditto. - - * gdb.hp/xdb1.exp: ditto. - - * gdb.hp/xdb2.exp: ditto. - - * gdb.hp/dbx.exp: ditto. - -Thu Jan 14 18:36:48 1999 Stan Shebs <shebs@andros.cygnus.com> - - * constvars.c: Remove C++-isms. - * constvars.exp: Use gdb_test everywhere, add xfails if compiled - with GCC. - -Mon Jan 11 10:08:03 1999 David Taylor <taylor@texas.cygnus.com> - - The following changes are part of the HP merge. - - * gdb.base/break.exp: new tests to verify that catchpoints for - fork, vfork, and exec don't trigger inappropriately. - - * gdb.base/opaque.exp: compile one file at a time, then link. - - * gdb.base/signals.exp: be more restrictive about which hppa - systems receive a setup_xfail. new tests. - - * gdb.base/solib_threshold.build: new file. - * gdb.base/solib_threshold.exp: new file. - * gdb.base/solib_threshold.link_opts: new file. - * gdb.base/solib_threshold.mk: new file. - * gdb.base/gen_solib_threshold.c: new file. - - * gdb.c++/classes.exp: if on HPUX and not using gcc, skip the - tests. New tests for enums inside classes. - - * gdb.c++/compiler.cc: indicate support of template debugging. - - * gdb.c++/demangle.exp: run hp style demangling tests. - - * gdb.c++/inherit.exp: if on HPUX and not using gcc, skip the - tests. - - * gdb.c++/misc.cc: changes to support new tests. - - * gdb.c++/templates.cc: changes to support HP's compiler; changes - to support new tests. - - * gdb.c++/virtfunc.exp: if we are on HPUX and we are not using - gcc, then skip these tests. - -Sun Jan 10 23:44:11 1999 David Taylor <taylor@texas.cygnus.com> - - The following files are part of the HP merge; some had longer - names at HP, but have been renamed to be no more than 14 - characters in length. - - * gdb.hp/ambiguous.cc: new file. - * gdb.hp/ambiguous.exp: new file. - * gdb.hp/attach.exp: new file. - * gdb.hp/attach2.exp: new file. - * gdb.hp/classes-hp.exp: new file. - * gdb.hp/ctti.exp: new file. - * gdb.hp/ctti-add.cc: new file. - * gdb.hp/ctti-add1.cc: new file. - * gdb.hp/ctti-add2.cc: new file. - * gdb.hp/ctti-add3.cc: new file. - * gdb.hp/dbx.exp: new file. - * gdb.hp/exception.cc: new file. - * gdb.hp/exception.exp: new file. - * gdb.hp/foll-exec.c: new file. - * gdb.hp/foll-exec.exp: new file. - * gdb.hp/foll-fork.c: new file. - * gdb.hp/foll-fork.exp: new file. - * gdb.hp/foll-vfork.c: new file. - * gdb.hp/foll-vfork.exp: new file. - * gdb.hp/inherit-hp.exp: new file. - * gdb.hp/more-steps.exp: new file. - * gdb.hp/namespace.cc: new file. - * gdb.hp/namespace.exp: new file. - * gdb.hp/optimize.exp: new file. - * gdb.hp/pxdb.c: new file. - * gdb.hp/pxdb.exp: new file. - * gdb.hp/quicksort.exp: new file. - * gdb.hp/reg-test.exp: new file. - * gdb.hp/reg-test.s: new file. - * gdb.hp/sized-enum.c: new file. - * gdb.hp/sized-enum.exp: new file. - * gdb.hp/start-stop.exp: new file. - * gdb.hp/templ-hp.cc: new file. - * gdb.hp/templ-hp.exp: new file. - * gdb.hp/thr-lib.c: new file. - * gdb.hp/thr-lib.exp: new file. - * gdb.hp/thr-lib.h: new file. - * gdb.hp/thr-liblib.c: new file. - * gdb.hp/virtfun-hp.c: new file. - * gdb.hp/virtfun-hp.exp: new file. - * gdb.hp/watch-cmd.exp: new file. - * gdb.hp/watch-hp.exp: new file. - * gdb.hp/xdb1.exp: new file. - * gdb.hp/xdb2.exp: new file. - * gdb.hp/xdb3.exp: new file. - -Wed Jan 6 18:41:15 1999 David Taylor <taylor@texas.cygnus.com> - - The following files are part of the HP merge; some had longer - names at HP, but have been renamed to be no more than 14 - characters in length. - - * gdb.base/ss.h: new file. - * gdb.base/call-ar-st.c: new file. - * gdb.base/call-ar-st.exp: new file. - * gdb.base/call-rt-st.c: new file. - * gdb.base/call-rt-st-exp: new file. - * gdb.base/call-strs.exp: new file. - * gdb.base/ena-dis-br.exp: new file. - * gdb.base/environ.exp: new file. - * gdb.base/long_long.exp: new file. - * gdb.base/sect-cmd.exp: new file. - * gdb.base/shlib-cl2.exp: new file. - * gdb.base/smoke.exp: new file. - * gdb.base/so-impl-ld.c: new file. - * gdb.base/so-impl-ld.exp: new file. - * gdb.base/so-indr-cl.c: new file. - * gdb.base/so-indr-cl.exp: new file. - * gdb.base/varargs.exp: new file. - * gdb.base/volatile.exp: new file. - * gdb.base/whatis-exp.exp: new file. - * gdb.c++/derivation.exp: new file. - * gdb.c++/local.exp: new file. - * gdb.c++/member-ptr.exp: new file. - * gdb.c++/overload.exp: new file. - * gdb.c++/ovldbreak.exp: new file. - * gdb.c++/ref-types.exp: new file. - * gdb.c++/ref-types2.exp: new file. - * gdb.c++/userdef.exp: new file. - -Wed Jan 6 13:50:57 1999 Stan Shebs <shebs@andros.cygnus.com> - - * gdb.base/default.exp: Reflect wording change in remote.c. - -Tue Jan 5 19:14:51 1999 Michael Snyder <msnyder@cleaver.cygnus.com> - - * gdb.base/help.exp: Update to reflect current text. - -Tue Jan 5 13:05:32 1999 David Taylor <taylor@texas.cygnus.com> - - * gdb.c++/anon-union.cc: make foo and bar global, otherwise - they're stack variables and contain garbage. - * gdb.c++/anon-union.exp: new file. - - The following changes were made by David Taylor - <taylor@cygnus.com>, Elena Zannoni <ezannoni@cygnus.com>, and - Edith Epstein <eepstein@cygnus.com> as part of a project to merge - in changes by HP. - - * gdb.base/bitops.exp: new file. - * gdb.base/default.exp: change expected messages for catch and - info catch tests to reflect HP merge changes. - * gdb.base/enable-disable-break.exp - * gdb.base/ending-run.c: new file. - * gdb.base/long_long.c: new file. - * gdb.base/maint.exp: new file. - * gdb.base/pointers2.exp: new file. - * gdb.base/shlib-call2.exp: new file. - * gdb.base/solib.exp: new file. - * gdb.base/step-test.c: new file. - * gdb.c++/anon-union.cc: new file. - * gdb.c++/local.cc: new file. - * gdb.c++/member-pointer.cc: new file. - * gdb.c++/method.cc: new file. - * gdb.c++/ref-types.cc: new file. - * gdb.c++/ref-types2.cc: new file. - * gdb.c++/userdef.cc: new file. - - * gdb.base/scope.exp: compile one file at a time, then link. - * gdb.base/langs.exp: ditto. - * gdb.base/list.exp: ditto. - -Mon Jan 4 10:06:43 1999 David Taylor <taylor@texas.cygnus.com> - - The following changes were made by David Taylor - <taylor@cygnus.com>, Elena Zannoni <ezannoni@cygnus.com>, and - Edith Epstein <eepstein@cygnus.com> as part of a project to merge - in changes by HP. - - * gdb.c++/inherit.exp: if on hppa*-*-hpux* and not using gcc, - skip tests. When compiling pass c++ flag to gdb_compile. - * gdb.c++/ - - * lib/gdb.exp (get_compiler_info): new, optional argument -- args; - test for on hppa*-*-hpux*; use args to see if c++ was specified. - (skip_hp_tests): new function. - (gdb_preprocess): new function. - - * configure.in (hpdir): decide whether to configure gdb.hp. - * configure: regenerated. - - * gdb.base/Makefile.in (MISCELLANEOUS): new macros -- extra things - 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++/Makefile.in (PROGS): update to reflect new executables. - * gdb.c++/cplusfuncs.exp: tell gdb_compile that it's a c++ - compilation. - * gdb.c++/misc.exp: ditto. - * gdb.c++/templates.exp: if we're on hpux and it's not gcc, don't - run the tests. tell gdb_compile that it's a c++ compilation. - - * gdb.threads/pthreads.exp: fix typo in message. - - * gdb.base/all-bin.exp: new file. - * gdb.base/arithmet.exp: new file. - * gdb.base/assign.exp: new file. - * gdb.base/completion.exp: new file. - * gdb.base/cond-expr.exp: new file. - * gdb.base/condbreak.exp: new file. - * gdb.base/define.exp: new file. - * gdb.base/dollar.exp: new file. - * gdb.base/environment.exp: new file. - * gdb.base/eval-skip.exp: new file. - * gdb.base/jump.exp: new file. - * gdb.base/logical.exp: new file. - * gdb.base/pointers.exp: new file. - * gdb.base/relational.exp: new file. - * gdb.base/section_command.exp: new file. - * gdb.base/whatis-expr.exp: new file. - - * gdb.base/all-types.c: new file. - * gdb.base/call-array-struct.c: new file. - * gdb.base/call-return-struct.c: new file. - * gdb.base/call-strings.c: new file. - * gdb.base/callfuncs2.c: new file. - * gdb.base/condbreak.c: new file. - * gdb.base/constvars.c: new file. - * gdb.base/display.c: new file. - * gdb.base/int-type.c: new file. - * gdb.base/jump.c: new file. - * gdb.base/miscexprs.c: new file. - * gdb.base/pointers.c: new file. - * gdb.base/pointers2.c: new file. - * gdb.base/shmain.c: new file. - * gdb.base/shr1.c: new file. - * gdb.base/shr2.c: new file. - * gdb.base/solib.c: new file. - * gdb.base/solib1.c: new file. - * gdb.base/solib2.c: new file. - * gdb.base/varargs.c: new file. - * gdb.c++/derivation.cc: new file. - * gdb.c++/overload.cc: new file. - * gdb.c++/ovldbreak.cc: new file. - * gdb.hp/attach.c: new file. - * gdb.hp/attach2.c: new file. - * gdb.hp/average.c: new file. - * gdb.hp/compiler.c: new file. - * gdb.hp/compiler.cc: new file. - * gdb.hp/execd-program.c: new file. - * gdb.hp/follow-exec.c: new file. - * gdb.hp/follow-fork.c: new file. - * gdb.hp/follow-vfork-and-exec.c: new file. - * gdb.hp/misc-hp.cc: new file. - * gdb.hp/more-steps.c: new file. - * gdb.hp/optimize.c: new file. - * gdb.hp/quicksort.c: new file. - * gdb.hp/run-hp.c: new file. - * gdb.hp/start-stop.c: new file. - * gdb.hp/sum.c: new file. - * gdb.hp/templates-hp.cc: new file. - * gdb.hp/thread-local-in-lib.c: new file. - * gdb.hp/thread-local-in-lib.h: new file. - * gdb.hp/thread-local-in-lib.lib.c: new file. - * gdb.hp/vforked-program.c: new file. - * gdb.hp/virtfunc-hp.cc: new file. - * gdb.hp/watchpoint-hp.c: new file. - * gdb.hp/xdb.c: new file. - * gdb.hp/xdb0.c: new file. - * gdb.hp/xdb0.h: new file. - * gdb.hp/xdb1.c: new file. - -Mon Dec 21 14:08:38 1998 David Taylor <taylor@texas.cygnus.com> - - The following change was made by Edith Epstein - <eepstein@cygnus.com> as part of a project to merge in changes - originally made by HP; HP did not create ChangeLog entries. - - * gdb.c++/demangle.exp: changed the expected output for some - ARM-style mangling -- removed second reference to datatype. - For example, maint demangle __dt__11T1__pt__2_cFv - T1<char>::~T1<char>(void) - becomes, - maint demangle __dt__11T1__pt__2_cFv - T1<char>::~T1(void) - - (test_hp_style_demangling): new hp specific demangling test cases. - -Mon Dec 14 15:07:03 1998 Jeffrey A Law (law@cygnus.com) - - * gdb.trace/actions.exp: Ignore compiler warnings compiling actions.c - * gdb.trace/backtrace.exp: Likewise. - * gdb.trace/circ.exp: Likewise. - * gdb.trace/collection.exp: Likewise. - * gdb.trace/deltrace.exp: Likewise. - * gdb.trace/infotrace.exp: Likewise. - * gdb.trace/limits.exp: Likewise. - * gdb.trace/packetlen.exp: Likewise. - * gdb.trace/passc-dyn.exp: Likewise. - * gdb.trace/passcount.exp: Likewise. - * gdb.trace/report.exp: Likewise. - * gdb.trace/save-trace.exp: Likewise. - * gdb.trace/tfind.exp: Likewise. - * gdb.trace/tracecmd.exp: Likewise. - * gdb.trace/while-dyn.exp: Likewise. - * gdb.trace/while-stepping.exp: Likewise. - -1998-12-07 Jim Blandy <jimb@zwingli.cygnus.com> - - * gdb.base/restore.exp, gdb.base/restore.c: New tests. - -Wed Dec 2 20:03:53 1998 Stan Shebs <shebs@andros.cygnus.com> - - From Brendan Kehoe: - * gdb.c++/cplusfuncs.cc, misc.cc, virtfunc.cc: Add now-required - int return types. - -Sat Oct 24 18:04:22 1998 Felix Lee <flee@cygnus.com> - - * config/slite.exp (gdb_load): use gdb_file_cmd, so we can do - remote dos host testing right. - -Mon Oct 19 01:31:59 1998 Felix Lee <flee@cygnus.com> - - * gdb.base/corefile.exp: remove some xfails. - -Thu Oct 15 10:04:38 1998 Andrew Cagney <cagney@b1.cygnus.com> - - * gdb.base/reread.exp: Sleep 1 - ensures that the two executables - have different timestamps. - -Thu Oct 1 20:56:14 1998 Andrew Cagney <cagney@b1.cygnus.com> - - * lib/gdb.exp, gdb.base/default.exp, config/monitor.exp, - gdb.base/default.exp: Replace "exec" with "executable". - -Tue Sep 29 15:06:29 1998 Andrew Cagney <cagney@b1.cygnus.com> - - * gdb.base/default.exp: Change else if to elseif from previous - delta. - -Mon Sep 28 13:21:43 1998 Nick Clifton <nickc@cygnus.com> - - * gdb.base/default.exp: Add brace missing from previous delta. - -Mon Sep 21 14:39:27 1998 Nick Clifton <nickc@cygnus.com> - - * gdb.base/default.exp: Support test for info float for all - varieties of arm toolchain. - -Fri Sep 18 14:07:44 1998 Michael Snyder <msnyder@cleaver.cygnus.com> - - * gdb.trace/*.exp: remove "remote_download" command. - -Wed Sep 16 11:38:21 1998 Michael Snyder <msnyder@cleaver.cygnus.com> - - * gdb.trace/*.exp: remove -gdwarf from compile. - -Wed Sep 16 01:23:11 1998 Felix Lee <flee@cygnus.com> - - * gdb.trace/configure.in(AC_INIT): typo - * gdb.trace/configure: regenerated - -Mon Sep 14 20:00:04 1998 Michael Snyder <msnyder@cleaver.cygnus.com> - - * config/m68k-emc.exp: New file. - * lib/<emc-support.exp trace-support.exp}: New files. - * configure.in: add new test directory gdb.trace. - * gdb.trace/{configure configure.in Makefile.in}: New files. - * gdb.trace/{actions.c actions.exp gdb_c_test.c}: New files. - * gdb.trace/{circ.c circ.exp limits.c limits.exp}: New files. - * gdb.trace/{collection.c collection.exp tfind.exp }: New files. - * gdb.trace/{backtrace.exp deltrace.exp infotrace.exp}: New files. - * gdb.trace/{packetlen.exp passc-dyn.exp passcount.exp}: New files. - * gdb.trace/{report.exp save-trace.exp tracecmd.exp}: New files. - * gdb.trace/{while-dyn.exp while-stepping.exp}: New files. - -Fri Sep 11 13:58:02 1998 Michael Snyder <msnyder@cleaver.cygnus.com> - - * 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. - -1998-08-11 Dawn Perchik <dawn@cygnus.com> - - * gdb.base/setshow.exp: Fix error introduced by call to runto_main. - -start-sanitize-cygnus -Fri Jul 24 15:51:34 1998 Jeffrey A Law (law@cygnus.com) - - * gdb.disasm/am33.s: Add tests for autoincrement instructions. - * gdb.disasm/am33.exp: Run time. Update tests which use r8-r15 - to use a0-a3/d0-d3 as needed. - -Thu Jul 16 18:20:46 1998 Jeffrey A Law (law@cygnus.com) - - * gdb.disasm/am33.s: Add 4 operand mul and mulu tests. - * gdb.disasm/am33.exp: Corresponding changes. - -end-sanitize-cygnus -start-sanitize-cygnus-never -Tue Jul 14 16:11:11 1998 Keith Seitz <keiths@cygnus.com> - - * configure.in: Fix sanitization start/end error. - * configure: Regenerate. -end-sanitize-cygnus-never -1998-07-11 Felix Lee <flee@cygnus.com> - - * gdb.base/callfuncs.exp: add cmp10 test. - * gdb.base/callfuncs.c (cmp10): new function. - -Thurs Jul 9 11:08:31 1998 Dawn Perchik <dawn@cygnus.com> - - * gdb.base/commands.exp: Break up infrun_breakpoint_command_test - into two parts to get around a synchronization problem in expect. - -Fri Jun 26 14:52:47 1998 Peter Schauer <pes@regent.e-technik.tu-muenchen.de> - - * gdb.fortran/types.exp: Escape brackets in expect patterns - for test_float_literal_types_accepted tests. - * gdb.base/scope.exp: Remove extraneous newline in filelocal_bss - before run test. - -start-sanitize-cygnus -Fri Jun 26 11:12:17 1998 Jeffrey A Law (law@cygnus.com) - - * am33.exp: Just compile, do not link the testcase. - * am33.s: Add ".am33" pseudoop to force am33 mode. - -end-sanitize-cygnus -1998-06-25 Felix Lee <flee@cygnus.com> - - * gdb.base/setshow.exp: make sure $pc is sane. - - * gdb.stabs/weird.exp: split expect patterns properly. - -start-sanitize-cygnus -Wed Jun 24 13:03:15 1998 Jeffrey A Law (law@cygnus.com) - - * gdb.disasm/am33.s: New disassembler testfile for the am33. - * gdb.disasm/am33.exp: Run it. - -end-sanitize-cygnus -Tue Jun 23 11:45:01 1998 Michael Snyder <msnyder@cleaver.cygnus.com> - - * gdb.base/funcargs.exp: simplify expect strings to ease pattern - match processing (and eliminate spurious timeouts when running). - -Fri Jun 12 17:28:22 1998 Michael Snyder <msnyder@cleaver.cygnus.com> - - * gdb.base/signals.exp (test_handle_all_print): put back Mach - exception test, but conditionalize it on target [mach | gnu]. - -Wed Jun 10 10:40:03 1998 Michael Snyder <msnyder@cleaver.cygnus.com> - - * gdb.base/overlays.exp: fixup compile line for linker script. - -Thu Jun 4 21:54:15 1998 Felix Lee <flee@zog.cygnus.com> - - * gdb.fortran/types.exp: don't guess at float size. - -Thu May 21 02:28:37 1998 Felix Lee <flee@zog.cygnus.com> - - * gdb.base/exprs.exp: delete test that depends on int size. - -Sun May 17 17:10:22 1998 Bob Manson <manson@charmed.cygnus.com> - - * config/sim.exp: Removed checks for target triplets. - (gdb_target_sim): Use gdb,target_sim_options. - -Sat May 16 23:43:35 1998 Mark Alexander <marka@cygnus.com> - - * gdb.base/reread.exp: New file. - * gdb.base/reread1.c: New file. - * gdb.base/reread2.c: New file. - -Sat May 16 23:22:09 1998 Mark Alexander <marka@cygnus.com> - - * config/sim.exp: Use 'target sim -sparclite' when running - SPARClite programs. - -Sat May 16 18:48:08 1998 Doug Evans <devans@canuck.cygnus.com> - - * gdb.base/structs2.exp: New file. - * gdb.base/structs2.c: New file. - -Wed May 13 13:36:14 1998 Doug Evans <devans@canuck.cygnus.com> - - * gdb.asm/common.inc: New file. - * gdb.asm/d10v.inc: New file. - * asm-source.exp: Pass -I's to gas to find .inc files. - Update line numbers in expected output. - * asmsrc1.s: Rewrite. - * asmsrc2.s: Rewrite. - * configure.in: Create arch.inc symlink. - * configure: Regenerate. - * Makefile.in (distclean): Delete arch.inc. - -Wed May 6 10:30:54 1998 John Metzler <jmetzler@cygnus.com> - - * callfuncs.c (t_enum_value1) : Cleanup return value warnings - (t_enum_value2): ditto - (t_enum_value3): ditto - (main): ditto -Fri May 1 09:33:37 1998 Peter Schauer <pes@regent.e-technik.tu-muenchen.de> - - * gdb.base/break.exp: Remove xfail for `deleting all breakpoints - when none' unexpected prompt case, fixed by breakpoint.c:delete_command - change. - Use gdb_test instead of send_gdb/gdb_expect sequences. - -Thu Apr 23 12:56:19 1998 Jason Molenda (crash@bugshack.cygnus.com) - - * gdb.c++/virtfunc.cc: Declare extern "C" printf to return int, - not void. - -Thu Apr 16 10:52:34 1998 John Metzler <jmetzler@cygnus.com> - - * 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 - -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. - -Fri Apr 10 22:38:12 1998 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) - - * 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. - -Tue Mar 31 00:40:32 1998 Bob Manson <manson@charmed.cygnus.com> - - * lib/gdb.exp(gdb_test): Send multiline commands one at a time; wait - for a newline from gdb before continuing. - (default_gdb_exit): Just look for y or n. - (gdb_test): Detect abnormal exit from GDB running on DOS; if - it does, fail the rests of the tests in the file. - -Tue Mar 24 22:44:52 1998 Bob Manson <manson@charmed.cygnus.com> - - * config/cygmon.exp: New file. - -Mon Mar 16 21:39:11 1998 Bob Manson <manson@charmed.cygnus.com> - - * gdb.base/list.exp: Fix problem with "list default lines around - main" test on remote targets. - - * gdb.base/scope.exp: Fix problem with filelocal_bss before - run test on remote targets. - -Thu Mar 12 16:23:00 1998 Doug Evans <devans@canuck.cygnus.com> - - * gdb.asm: New directory. - * configure.in: Configure it. - * configure: Regenerate. - * gdb.asm/{Makefile.in,configure.in,configure}: New files. - * gdb.asm/{asm-source.exp,asmsrc1.s,asmsrc2.s}: New files. - -Mon Feb 23 08:22:44 1998 Mark Alexander <marka@cygnus.com> - - * config/mn10300-eval.exp: New file to support MN10300 eval board. - -Wed Feb 18 16:43:46 1998 Michael Snyder (msnyder@cleaver.cygnus.com) - - * gdb.base/overlays (several files): Merge the two overlay - managers into one. Change variables (foox, barx, bazx, grbxx) - back into ints but force them to load in their proper sections. - -Thu Feb 12 13:49:30 1998 Andrew Cagney <cagney@b1.cygnus.com> - - * gdb.base/d10vovly.c (D10VTranslate): Map IMAP0 to low 128k of - on-chip insn memory and IMAP1 to upper 128k. - (D10VCopy): Handle memory regions crossing 16k boundaries. - (D10VCopy): Transfer data in 32 bit chunks. - -Tue Feb 10 17:23:22 1998 Andrew Cagney <cagney@b1.cygnus.com> - - * gdb.base/overlays.c (main): Exit normally when result is - correct. - - * gdb.base/d10v.ld: Update LMAs to reflect current d10v address - map. Include space for printf in .text segment. - - * gdb.base/d10vovly.c (D10VTranslate): New function, handle - updated d10v memory VMA/LMA map. - (D10VCopy): Call D10VTranslate. - -Fri Feb 6 14:13:12 1998 Andrew Cagney <cagney@b1.cygnus.com> - - * gdb.base/m32rovly.c: Force variable _novlys into .data section. - - * gdb.base/bar.c (barx, bar): Change variable to small array so - that it won't be put into the .sdata - small data - - section. Update reference. - * gdb.base/baz.c (bazx, baz): Ditto. - * gdb.base/foo.c (foox, foo): Ditto. - * gdb.base/grbx.c (grbxx, grbx): Ditto. - - * gdb.base/overlays.exp: Expect variables barx, bazx, foox, grbxx - to be arrays. - -Thu Jan 29 14:48:19 1998 Michael Snyder (msnyder@cleaver.cygnus.com) - - * gdb.base/overlays.exp: fix up and get working again. - Add tests for backtraces from an overlay function. - -Fri Jan 23 07:52:45 1998 Fred Fish <fnf@cygnus.com> - - * gdb.base/watchpoint.exp: Set "d10v*-*-*" clear_xfail for - "calling function with watchpoint enabled". - -Thu Jan 22 14:23:29 1998 Fred Fish <fnf@cygnus.com> - - * gdb.base/break.exp (test_next_with_recursion): Remove - gdb_suppress_tests for d10v-*-*. - * lib/gdb.exp (gdb_suppress_tests): Disable this function - pending review of whether it is useful or not. - -Tue Jan 20 13:02:09 1998 Mark Alexander <marka@cygnus.com> - - * gdb.base/funcargs.exp: Increase timeout for slow TX39 boards. - -Mon Jan 19 08:53:04 1998 Mark Alexander <marka@cygnus.com> - - * gdb.base/break.exp: Increase timeout for slow TX39 boards. - * config/dve.exp: New file to support Densan boards. - -Mon Dec 15 22:38:05 1997 Andrew Cagney <cagney@b1.cygnus.com> - - * gdb.base/interrupt.exp: Document problem of simulators, signals, - reads and BSD. - -Wed Nov 26 22:29:18 1997 Bob Manson <manson@charmed.cygnus.com> - - * config/monitor.exp: Be a bit less picky about the "Remote debugging" - response. - - * gdb.c++/misc.exp: Call runto_main instead of doint it manually. - -Tue Nov 25 12:46:36 1997 Andrew Cagney <cagney@b1.cygnus.com> - - * gdb.base/mips_pro.exp: Add "mips64*-*-elf" xfail for backtrace - test. - - * gdb.base/funcargs.exp: Query GDB for target_sizeof_int, - target_sizeof_long and target_bigendian_p. - (structs_by_value, structs_by_reference): Check values according - to targets word size and endianess. - -Mon Nov 24 16:37:06 1997 Andrew Cagney <cagney@b1.cygnus.com> - - * gdb.base/langs.exp: For "continue to exit" ignore any trailing - output. - -Fri Oct 17 13:24:43 1997 Stan Shebs <shebs@andros.cygnus.com> - - * gdb.base/default.exp, gdb.base/help.exp, gdb.base/setshow.exp: - Update test of set args help to match source change. - -Fri Sep 26 17:36:20 1997 Jason Molenda (crash@pern.cygnus.com) - - * gdb.base/default.exp: Expect help system output to be in - alphabetical order. - * gdb.base/help.exp: Ditto. - -Wed Sep 24 13:08:14 1997 Bob Manson <manson@charmed.cygnus.com> - - * gdb.base/signals.exp: Change "i*86-pc-linux-gnu" to - "i*86-pc-linux-gnu*". - * gdb.base/interrupt.exp: Ditto. - * gdb.base/corefile.exp: Ditto. - - * lib/gdb.exp(gdb_compile): If is_vxworks target feature is set, - 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. - -Tue Sep 16 22:21:48 1997 Bob Manson <manson@charmed.cygnus.com> - - * gdb.base/callfuncs.exp: Fix indentation. - - * 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. - -Mon Sep 15 15:43:17 1997 Bob Manson <manson@charmed.cygnus.com> - - * gdb.stabs/weird.exp: Don't start gdb 'til after we've compiled - the testcase. - - * gdb.c++/cplusfuncs.cc(main): Add extern "C" declaration for - set_debug_traps() and breakpoint(). - * gdb.c++/misc.cc (main): Ditto. - * gdb.c++/templates.cc (main): Ditto. - * gdb.c++/virtfunc.cc (main): Ditto. - -Fri Sep 12 16:56:38 1997 Bob Manson <manson@charmed.cygnus.com> - - * lib/gdb.exp(gdb_step_for_stub): New function. - (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. - -Tue Sep 2 19:55:34 1997 Bob Manson <manson@charmed.cygnus.com> - - * config/sparclet.exp: Detect gratuitous change to sparclet gdb - target mode. - -Mon Jul 28 12:14:47 1997 Stan Shebs <shebs@andros.cygnus.com> - - From Bob Manson: - * config/monitor.exp (gdb_target_monitor): Look for "Connected to" - string from GDB when it connects. - - * lib/gdb.exp: Look for $TOOL_EXECUTABLE. - -Thu Jul 3 15:35:12 1997 Bob Manson <manson@charmed.cygnus.com> - - * lib/gdb.exp(get_debug_format): Don't cause the testsuite to fail - 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. - - * config/sparclet.exp: Renamed sparclet-loader.c to stub-loader.c. - -Mon Jun 30 18:31:43 1997 Bob Manson <manson@charmed.cygnus.com> - - * config/arm-ice.exp: New file. - -Sun Jun 29 16:43:30 1997 Bob Manson <manson@charmed.cygnus.com> - - * gdb.base/overlays.exp: Preliminary fixes; temporarily disabled - 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. - -Sat Jun 28 13:31:11 1997 Bob Manson <manson@charmed.cygnus.com> - - * lib/gdb.exp(default_gdb_start): Use gdb_opts host feature. - - * gdb.c++/virtfunc.exp: Remove setting of libs variable. - -Fri Jun 27 07:44:25 1997 Fred Fish <fnf@cygnus.com> - - * lib/gdb.exp (setup_xfail_format): New function. - (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. - -Wed Jun 25 09:08:51 1997 Bob Manson <manson@charmed.cygnus.com> - - * lib/gdb.exp(default_gdb_exit): Don't give an error if the remote - 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-stub.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. - -Sun Jun 22 09:11:02 1997 Fred Fish <fnf@cygnus.com> - - * gdb.base/printcmds.exp: Fix "check for floating addition" - regexp to accept results within approx +/- .01 of exact value. - * lib/gdb.exp (gdb_test): Remove unused expect_out global decl. - -Wed Jun 18 11:11:39 1997 Bob Manson <manson@charmed.cygnus.com> - - * lib/gdb.exp(gdb_init): Pass our arguments to default_gdb_init - properly. - (gdb_expect): Add optional timeout parameter, and add timeout - value to various calls. - (gdb_suppress_tests): Only give one warning message per group. - -Tue Jun 17 13:10:10 1997 Bob Manson <manson@charmed.cygnus.com> - - * lib/gdb.exp(gdb_expect): Declare errorInfo and errorCode as - global variables. Handle getting a value for $timeout more - gracefully. - -Sat Jun 14 09:23:26 1997 Bob Manson <manson@charmed.cygnus.com> - - * lib/gdb.exp: Close connection to remote host if gdb doesn't - 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/monitor.exp(gdb_load): Fix typo in regexp. - -Thu Jun 12 20:57:12 1997 Bob Manson <manson@charmed.cygnus.com> - - * gdb.base/funcargs.exp: Remove spurious suppress tests call. - -Tue Jun 3 15:20:20 1997 Bob Manson <manson@charmed.cygnus.com> - - * config/monitor.exp(gdb_target_monitor): Call gdb_file_cmd - 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. - Also detect "Timeout reading from remote" error. - - * 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. - -Fri May 23 13:28:29 1997 Bob Manson <manson@charmed.cygnus.com> - - * gdb.base/list.exp: If we're debugging a non-native target, - try to set the pc register to point to the start of the - program before doing the first list command. - - * gdb.c++/virtfunc.exp(gdb_virtfunc_restart): Make sure we run - 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. - - * config/i386-bozo.exp: New file. - -Thu May 22 18:51:32 1997 Bob Manson <manson@charmed.cygnus.com> - - * lib/gdb.exp(gdb_expect): Look for gdb,timeout target - feature. - - * config/proelf.exp: New entry. - -Wed May 21 21:23:16 1997 Bob Manson <manson@charmed.cygnus.com> - - * lib/gdb.exp: Remove spurious .* patterns at the beginning - of regexps. - - * gdb.base/watchpoint.exp: Don't run the test_stepping - tests if gdb can't call functions on the target. - - * gdb.base/setshow.exp: Don't run the set prompt tests if - the board has gdb_prompt set. - -Tue May 20 08:58:49 1997 Jeffrey A Law (law@cygnus.com) - - * gdb.base/a2-run.exp: Change "gdb,noargs" to just "noargs". - * gdb.base/commands.exp: Likewise. - * gdb.base/setshow.exp: Likewise. - -Mon May 19 15:37:50 1997 Bob Manson <manson@charmed.cygnus.com> - - * config/monitor.exp(gdb_start): Look for gdb_prompt target - feature. - - * config/i960.exp: New file. - -Thu May 1 18:01:50 1997 Bob Manson <manson@charmed.cygnus.com> - - * gdb.base/funcargs.exp: Check for gdb,short_int target - feature instead of looking for explicit target triplets. - -Mon Apr 28 17:27:40 1997 Michael Snyder <msnyder@cleaver.cygnus.com> - - * gdb.base/printcmds.exp: add a couple more tests a la - "p 123DEADBEEF", to check parse_number. - * top.c: change "to enable to enable" to "to enable" in a couple - of help strings. - -Thu Apr 24 14:38:18 1997 Jeffrey A Law (law@cygnus.com) - - * gdb.base/callfuncs.exp: Mark some tests as expected to fail - on the mn10300. - -Mon Apr 21 15:05:42 1997 Fred Fish <fnf@cygnus.com> - - * gdb.base/a2-run.exp: Add arm-*-coff setup_xfails for cases - where the test executable is run with explicit args. - * gdb.base/default.exp: Handle arm-*-coff case for "info float". - -Mon Apr 21 13:38:58 1997 Fred Fish <fnf@cygnus.com> - - * gdb.base/run.c: Use FAKEARGV to build test executable that - 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. - -Wed Apr 9 11:12:36 1997 Jeffrey A Law (law@cygnus.com) - - * gdb.base/recurse.exp: Enable these tests for the mn10300. - * gdb.base/watchpoint.exp: Don't expect a failure for an "calling - function with watchpoint enabled" test. - -Tue Apr 8 19:33:20 1997 Bob Manson <manson@charmed.cygnus.com> - - * gdb.base/watchpoint.exp(test_watchpoint_triggered_in_syscall): - Don't call gdb_test when the command doesn't return to a gdb prompt. - - * lib/gdb.exp(gdb_stop_suppressing_tests): Don't print gratuitous - "Tests restarted" messages. - -Tue Apr 8 16:38:46 1997 Jeffrey A Law (law@cygnus.com) - - * gdb.disasm/mn10300.exp: Fix buglets in "other" tests. - -Thu Apr 3 15:21:26 1997 Michael Snyder <msnyder@cleaver.cygnus.com> - - * 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.exp: turn on complex watchpoint test for M32R. - -Thu Apr 3 09:38:53 1997 Bob Manson <manson@charmed.cygnus.com> - - * lib/gdb.exp(gdb_suppress_tests): Add explanation for subsequent - failures. - (gdb_stop_suppressing_tests): Note that tests have restarted. - -Wed Apr 2 19:04:20 1997 Bob Manson <manson@charmed.cygnus.com> - - * config/h8300.exp: New file. - -Sun Mar 30 13:38:25 1997 Bob Manson <manson@charmed.cygnus.com> - - * gdb.base/setshow.exp: Check for the existence of a - feature, not its value. - -Sat Mar 29 11:19:46 1997 Bob Manson <manson@charmed.cygnus.com> - - * gdb.c++/virtfunc.exp: Restart gdb in a sane fashion. - - * gdb.base/scope.exp: It's now init0(), not init(). - - * gdb.base/scope0.c: For now, change init() to be init0(). - - * config/monitor.exp: Use gdb_serial in preference to serial - or netport. - - * lib/gdb.exp: Set GDB to [transform gdb] if we're using a remote host - and it's not already set. - -Fri Mar 28 19:54:18 1997 Bob Manson <manson@charmed.cygnus.com> - - * gdb.base/setshow.exp: Only test the run command if the target - isn't using a stub and if it supports argument passing. - -Sat Mar 22 19:50:25 1997 Bob Manson <manson@charmed.cygnus.com> - - * config/udi.exp(gdb_start): Make sure UDICONF is set - properly before starting gdb. - -Mon Mar 24 14:40:33 1997 Jeffrey A Law (law@cygnus.com) - - * gdb.disasm/mn10300.s: New test file for mn10300 disassembler. - * gdb.disasm/mn10300.exp: Run mn10300 disassembler tests. - * gdb.disasm/Makefile.in: Remove "mn10300" when cleaning. - -Tue Mar 11 11:42:58 1997 Bob Manson <manson@charmed.cygnus.com> - - * config/vx.exp: Use remote_ld, not vxworks_ld. Don't use - specialized code to reboot the board, use remote_reboot instead. - - * config/vxworks29k.exp: Use vx.exp, not vx-gdb.exp. - - * lib/gdb.exp: Add GDB_TESTCASE_OPTIONS. - - * config/monitor.exp: Make sure we disconnect from the target. - Also, try a reboot/reload cycle instead of failing if the - load fails. - -Fri Mar 7 13:48:30 1997 Bob Manson <manson@charmed.cygnus.com> - - * gdb.base/default.exp: Don't set match_max. - * gdb.base/help.exp: Ditto. - * gdb.base/list.exp: Ditto. - * gdb.base/signals.exp: Ditto. - - * config/monitor.exp(gdb_load): If gdb,use_standard_load is - set, use remote_ld to download the testcase instead of - the GDB loader. - -Wed Mar 5 00:00:43 1997 Bob Manson <manson@charmed.cygnus.com> - - * config/vr5000.exp: New file. - - * config/monitor.exp(gdb_target_monitor): Add pattern for - "Ending remote" to detect errors in connecting. - - * gdb.base/setshow.exp: Add .* within auto language test. - - * lib/gdb.exp(gdb_run_cmd): Add check for gdb_init_command - target feature. - - * config/monitor.exp(gdb_load): Check for a failure when loading, - and reboot the board if necessary. - - * gdb.base/setvar.exp(test_set): Handle multiple prints within - a set of tests. Remove print.* from the patterns being checked. - -Mon Mar 3 11:57:43 1997 Bob Manson <manson@charmed.cygnus.com> - - * gdb.base/a1-selftest.exp: Use send_gdb consistently. Don't - refer to gdb_spawn_id. - - * config/m32r-stub.exp: Remove references to gdb_spawn_id, no - longer used. - * config/sparclet.exp: Ditto. - * config/sparclet-old.exp: Ditto. - * config/slite.exp: Ditto. - * config/sim.exp: Ditto. - * gdb.base/funcargs.exp: Ditto. - - * lib/gdb.exp:Remove references to gdb_spawn_id. - (gdb_expect): Move to remote.exp. - -Fri Feb 28 20:47:39 1997 Bob Manson <manson@charmed.cygnus.com> - - * config/monitor.exp: Detect the "Couldn't establish connection" - message from GDB. - -Tue Feb 25 14:08:55 1997 Bob Manson <manson@charmed.cygnus.com> - - * gdb.base/bitfields.exp: Use runto instead of explicit - gdb_run_cmd/gdb_expect sequences. - - * gdb.base/break.exp(text_next_with_recursion): Add match for - gdb_expect call. - - * config/monitor.exp(gdb_target_monitor): Calling exit loses big. - We also need to handle the "A program is being debugged already" - prompt from gdb. Use gdb_test to set the baud rate. - - * lib/gdb.exp(gdb_init): Increase the default expect buffer size - to 20000. Really. I mean it. - -Mon Feb 24 13:23:26 1997 Bob Manson <manson@charmed.cygnus.com> - - * lib/gdb.exp(gdb_test): Generate a FAIL message when send_gdb - fails. If suppress_flag is set, skip perror message about not - being able to send to GDB. - (send_gdb): If suppress_flag is set, don't try to send commands to - GDB. - (gdb_expect): If suppress_flag is set, always fail immediately. - (gdb_suppress_tests, gdb_stop_suppressing_tests): New functions. - (gdb_init): Call gdb_stop_suppressing_tests. - (default_gdb_exit): Ditto. - (default_gdb_start): Ditto. - - * gdb.base/bitfields.exp: Call gdb_suppress_tests and - gdb_stop_suppressing_tests as appropriate. - * gdb.base/break.exp: Ditto. - * gdb.base/callfuncs.exp: Ditto. - * gdb.base/commands.exp: Ditto. - * gdb.base/exprs.exp: Ditto. - * gdb.base/funcargs.exp: Ditto. - * gdb.base/list.exp: Ditto. - * gdb.base/recurse.exp: Ditto. - * gdb.base/scope.exp: Ditto. - * gdb.base/structs.exp: Ditto. - * gdb.c++/inherit.exp: Ditto. - -Sun Feb 23 19:56:02 1997 Bob Manson <manson@charmed.cygnus.com> - - * config/vr4300.exp: New file. - - * gdb.*/*.exp: Call gdb_expect instead of expect. - - * lib/gdb.exp(gdb_expect): New function. - -Thu Feb 20 13:57:01 1997 Bob Manson <manson@charmed.cygnus.com> - - * lib/gdb.exp(gdb_init): New function. - - * gdb.base/setvar.exp(test_set): Don't bother printing a PASS/FAIL - for each individual variable set. - - * gdb.base/exprs.exp(test_expr): Make sure each test gets a unique - name. - - * gdb.base/help.exp: Fix the syntax of a few gdb_test calls. - - * gdb.base/scope.exp: Use gdb_test. - - * 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. - -Thu Feb 20 13:32:24 1997 Stan Shebs <shebs@andros.cygnus.com> - - * gdb.base/help.exp: Fix syntax of "help info all-registers" test. - -Thu Feb 20 10:34:21 1997 Jeffrey A Law (law@cygnus.com) - - * gdb.disasm/mn10200.s: Add "nop" after "main" so that "main" - and "add_tests" are not at the same address. - -Fri Feb 14 18:47:23 1997 Bob Manson <manson@charmed.cygnus.com> - - * gdb.base/ptype.exp: Use gdb_test. - -Thu Feb 13 16:09:36 1997 Jeffrey A Law (law@cygnus.com) - - * gdb.disasm/mn10200.s (misc_tests): Fix targets for "jsr" insns. - * gdb.disasm/mn10200.exp (misc_tests): Remove bogus line accidentally - left in. No longer expect them to fail. - - * gdb.stabs/*.mt; Deleted, no longer used. - * gdb.stabs/configure.in: Remove references to target makefile - frags. - * gdb.stabs/configure: Rebuilt. - - * gdb.disasm/*.mt: Deleted, no longer used. - * gdb.disasm/configure.in: Remove references to target makefile - frags. Use "sh3.s" as the unique filename for this directory. - * gdb.disasm/configure: Rebuilt. - - * gdb.disasm/mn10200.s: New test file for mn10200 disassembler. - * gdb.disasm/mn10200.exp: Run mn10200 disassembler tests. - * gdb.disasm/Makefile.in: Remove "mn10200" when cleaning. - -Tue Feb 11 16:57:58 1997 Bob Manson <manson@charmed.cygnus.com> - - * config/udi.exp: Use mondfe,name instead of remote_host. - -Tue Feb 11 11:22:36 1997 Jeffrey A Law (law@cygnus.com) - - * gdb.base/watchpoint.exp: Don't expect a failure when calling - a function with a watchpoint enabled on the mn10200. - - * gdb.stabs/weird.exp: Don't quit if "weird.s" doesn't exist - before trying to create it! - -Mon Feb 10 16:40:47 1997 Bob Manson <manson@charmed.cygnus.com> - - * config/vx.exp: Use hostname instead of netport. - - * config/vxworks.exp: New file. - - * gdb.base/a2-run.exp: Change vxworks cases to use gdb_spawn_id. - - * config/monitor.exp(gdb_target_monitor): Look for a prompt from - gdb before assuming everything worked. Send a ^C if a timeout - occurs. - - * lib/gdb.exp(gdb_test): Check the result of send_gdb. Use - $gdb_spawn_id directly. - (gdb_run_cmd): Try _start as well as start. Use the target feature - gdb,start_symbol as the symbol to start from when jumping. - -Mon Feb 10 11:26:59 1997 Jeffrey A Law (law@cygnus.com) - - * gdb.base/exprs.exp: Delete bogus/incorrect (and probably - redundant) test. - - * gdb.base/recurse.exp: Relax final value test for 'b' so that - it doesn't lose for 16bit integer systems. - -Fri Feb 7 09:31:21 1997 Jeffrey A Law (law@cygnus.com) - - * gdb.fortran/types.exp: If the target doesn't support "double" - data types, then expect "real" types to only be 4 bytes. - - * gdb.c++/virtfunc.exp: Expect failure for virtual function - call tests if the target doesn't support inferior function calls. - - * gdb.base/printcmds.exp: Allow minor deviation in FP values - in printf tests. - -Thu Feb 6 12:46:14 1997 Jeffrey A Law (law@cygnus.com) - - * gdb.base/help.exp: Disable "help set", "help show", and - "help support". Simplify regexp for "help stack". - - * gdb.base/default.exp: Set match_max to 5000 and the timeout - to 60 seconds. Temporarily set match_max to 15000 around the - "info copying" test. - - * gdb.base/nodebug.exp: Don't try to do an inferior function - call if the target doesn't support them. - * gdb.base/printcmds.exp: Likewise. - * gdb.base/setvar.exp: Likewise. - * gdb.base/structs.exp: Likewise. - * gdb.c++/templates.exp: Likewise. - * gdb.base/ptype.exp: Likewise. Remove UDI specific stuff. - - * gdb.base/recurse.exp: Enable for the mn10200. - - * configure.in: Do configure gdb.stabs directory for *-*-elf - targets. - * configure: Rebuilt. - - * gdb.base/break.exp: Check for gdb,noresults before testing - 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. - -Tue Feb 4 21:52:17 1997 Bob Manson <manson@charmed.cygnus.com> - - * config/sh.exp: New file. - - * 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. - -Mon Feb 3 12:09:37 1997 Bob Manson <manson@charmed.cygnus.com> - - * gdb.base/a1-selftest.exp: Make sure we call gdb_exit before - 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. - -Sun Feb 2 00:55:14 1997 Bob Manson <manson@charmed.cygnus.com> - - * lib/gdb.exp(gdb_test): Surround the result pattern with - parenthesis in case it contains multiple regexps separated - with |. - - * gdb.base/watchpoint.exp: Use gdb_test. - * gdb.base/default.exp: Ditto. - -Sat Feb 1 23:51:01 1997 Bob Manson <manson@charmed.cygnus.com> - - * gdb.*/*.exp: Replace $prompt with $gdb_prompt. - - * gdb.base/scope.exp: Use gdb_test. - * gdb.c++/classes.exp: Ditto. - * gdb.c++/inherit.exp: Ditto. - -Fri Jan 31 13:09:12 1997 Bob Manson <manson@charmed.cygnus.com> - - * gdb.base/crossload.exp: Don't use execute_anywhere, use - remote_exec instead. - * gdb.base/corefile.exp: Don't be ridiculous. - * gdb.base/*.c: Add missing stub invocations. - -Thu Jan 30 16:49:25 1997 Bob Manson <manson@charmed.cygnus.com> - - * config/slite.exp: Miscellaneous fixes. - - * lib/gdb.exp: Fix runto. - - * gdb.base/signals.exp: Check for a gdb,nosignals feature of - the target. - - * gdb.base/watchpoint.exp: Fix regexp. - - * lib/gdb.exp(default_gdb_exit): Add a catch to the - close and wait commands, as the descriptor may now be - invalid. Always call "remote_close host". - -Tue Jan 28 14:42:31 1997 Bob Manson <manson@charmed.cygnus.com> - - Major rewrite for testsuite revision. - - * lib/gdb.exp: Remove references to global CC, CXX, B_OPTIONS, - TARGET_INCLUDES, LDFLAGS and target_alias. Use gdb_spawn_id - instead of relying on spawn_id to always contain a valid - spawn id. - (get_compiler_info): New procedure to build the ${binfile}.ci - file, instead of replicating this in N different places. - (gdb_compile): New procedure. - - gdb.*/*.exp: Use gdb_compile and get_compiler_info (with - appropriate arguments) instead of compile. Use gdb_test in a lot - more places. Use send_gdb instead of send. Always run gdb_start - at the start of a testcase, as this is no longer done magically. - - config/*-gdb.exp: Rename without the -gdb suffix. - - config/mips.exp: Use remote_close instead of exit_remote_shell. - config/monitor.exp: Use target_info instead of looking at - baud, timeout, etc. - config/sim.exp: Use gdb_spawn_id instead of relying on spawn_id. - -Sat Dec 14 00:43:57 1996 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) - - * gdb.c++/templates.exp (test_ptype_of_templates), - gdb.c++/inherit.exp (test_ptype_si, test_print_anon_union): - Update expect patterns for destructors and assignment operators - to match corresponding c-typeprint.c changes. - * gdb.c++/templates.exp (test_template_breakpoints): Revert change - to destructor breakpoint test, GDB should be able to set the - destructor breakpoint without specifying arguments. - -Tue Dec 3 20:17:52 1996 Fred Fish <fnf@cygnus.com> - - * gdb.threads/pthreads.exp: Change result for failure to compile due - to lack of pthreads runtime support from an error to simply an - unsupported test, per dejagnu standards. - -Sun Dec 1 00:18:59 1996 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) - - * lib/gdb.exp (gdb_test): Simplify expect pattern for the case - where GDB exits to reduce pattern match time. - (skip_chill_tests): Skip chill tests for mips*-sgi-irix6*. - - * gdb.base/nodebug.exp: Add mips*-sgi-irix6* xfails. - -Tue Nov 26 18:29:23 1996 Michael Snyder <msnyder@cleaver.cygnus.com> - - * gdb.base/callfuncs.exp: Turn on function call tests for h8300. - * gdb.base/default.exp: ditto. - * gdb.base/nodebug.exp: ditto. - * gdb.base/printcmds.exp: ditto. - * gdb.base/ptype.exp: ditto. - * gdb.base/setvar.exp: ditto. - * gdb.base/structs.exp: ditto. - * gdb.base/setshow.c: Guard against uninitialized values of argc. - -Tue Nov 26 17:23:28 1996 Ian Lance Taylor <ian@cygnus.com> - - * configure, */configure: Rebuild with autoconf 2.12. - -Sat Nov 23 13:32:15 1996 Fred Fish <fnf@cygnus.com> - - * gdb.base/a1-selftest.exp: Change x86 linux setup_xfails to - 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. - -Fri Nov 22 10:13:29 1996 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) - - * gdb.base/a1-selftest.exp (do_steps_and_nexts): Reinitialize source - 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. - -Thu Nov 21 09:17:19 1996 Fred Fish <fnf@cygnus.com> - - * lib/gdb.exp (CFLAGS): Remove, unreferenced. - (CXXFLAGS): Remove, unreferenced. - (B_OPTIONS): Add for -B options and add code to initialize with - previous -B options and also add -B option to pick up cross compiled - runtime. - (TARGET_INCLUDES): Add for -I options and add code to initialize when - doing cross compiles. - (target_alias): Declare global. - (xgcc): Set variable to full path of gcc in build tree. Use findfile - to verify that gcc exists in build tree, and if so set CC to that - gcc and to use B_OPTIONS and TARGET_INCLUDES. - -Tue Nov 12 16:20:13 1996 Fred Fish <fnf@cygnus.com> - - * gdb.c++/inherit.exp (test_print_anon_union): Reenable - ptype test for anonymous union. Fixup testcase to match - current gcc debug output. - -Mon Nov 11 14:12:06 1996 Jeffrey A Law (law@cygnus.com) - - * gdb.base/funcargs.c: Use cast rather than "UL" suffix to - force argument to an unsigned long type. - -Mon Nov 11 10:27:55 1996 Fred Fish <fnf@cygnus.com> - - * gdb.c++/inherit.exp (test_ptype_si): Fix tagless struct ptype - tests and anonymous union print/ptype tests. - * gdb.base/list.exp (test_forward-search): Increase timeout by - 5 minutes for the "search extremely long line" case. - * lib/gdb.exp (gdb_test): Document that the third arg to gdb_test is - completely optional and that the pass/fail messages use the command as - the message if that third arg is a null string. - (gdb_test_exact): Arrange that a null string pattern means match a - null string output rather than any output, which might include random - errors. - * gdb.base/mips_pro.exp: Add "mips*-sgi-irix4*" xfail for - backtrace test. - * gdb.c++/demangle.exp: Add a "*-*-*" xfail for test that was - always failing and failure is now exposed by gdb.exp changes. - -Sat Nov 9 11:13:24 1996 Fred Fish <fnf@cygnus.com> - - * gdb.c++/inherit.exp (test_ptype_vi): Log some passes that - weren't being noted. - -Sat Nov 9 01:05:10 1996 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) - - * gdb.base/corefile.exp: Consume $prompt in mmap fail cases. - * gdb.stabs/weird.exp: Remove v_comb xfails. - -Tue Nov 5 10:44:23 1996 Michael Snyder <msnyder@cleaver.cygnus.com> - - * gdb.base/[bitfields.exp crossload.exp funcargs.exp interrupt.exp - list.exp scope.exp watchpoint.exp] - Make all timeout error msgs explicitly say "(timeout)". - -Mon Nov 4 12:03:06 1996 Michael Snyder <msnyder@cleaver.cygnus.com> - - * config/monitor.exp: Increase download timeout to 1000 seconds. - -Mon Nov 4 12:02:26 1996 Michael Snyder <msnyder@cleaver.cygnus.com> - - * config/m32r.exp: Increase timeout to 120 seconds. - -Sun Nov 3 14:37:05 1996 Fred Fish <fnf@cygnus.com> - - * gdb.c++/classes.exp: Modify to handle current gcc C++ member ordering - and accept older ordering as obsolescent gcc or gdb. - * gdb.c++/templates.exp: Ditto. - * gdb.c++/virtfunc.exp: Ditto. - -Fri Nov 1 11:56:09 1996 Fred Fish <fnf@cygnus.com> - - * gdb.base/coremaker.c: Add code to mmap some data so we - can check that it ends up in the core file. - * gdb.base/corefile.exp: Add test to read mmapped data - from core file. - -Wed Oct 30 18:19:16 1996 Michael Snyder <msnyder@cleaver.cygnus.com> - - * config/m32r.exp: New file. - -Mon Oct 21 14:40:50 1996 Stu Grossman (grossman@critters.cygnus.com) - - * testsuite/gdb.base/nodebug.exp: Whack out -g options by hand so - that cflags can contains -gstabs, and work correctly for other tests. - -Mon Oct 21 14:00:37 1996 Michael Snyder <msnyder@cleaver.cygnus.com> - - * gdb.base/setshow.exp: New file, tests show and set. - * 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. - -Wed Oct 16 19:03:54 1996 Stu Grossman (grossman@critters.cygnus.com) - - * testsuite/gdb.base/break.exp: Make backtrace from factorial - errors unique. - * testsuite/gdb.base/nodebug.exp: Whack out all -g options - explicitly. - -Tue Oct 15 16:45:02 1996 Stu Grossman (grossman@critters.cygnus.com) - - * config/sim-gdb.exp (gdb_target_sim): Remove setting of height - and width commands. This is done elsewhere. - * (gdb_start): Don't call gdb_start_sim here. That's already - done in gdb_load. This fixes lots of failures in default.exp. - -Sun Oct 13 10:40:23 1996 Fred Fish <fnf@cygnus.com> - - From Peter Schauer <Peter.Schauer@Regent.E-Technik.TU-Muenchen.DE>: - * gdb.base/mips_pro.exp: Fix misplaced gdb_exit/gdb_start/gdb_load. - * lib/gdb.exp (gdb_test): Treat failures due to program exiting - in the same we we treat other failures (since it may be an expected - condition), rather than as an error. - * gdb.base/signals.exp (test_handle_all_print): Revert back to - old test format. - -Fri Oct 11 17:05:22 1996 Fred Fish <fnf@cygnus.com> - - * Makefile.in (clean mostlyclean): Also remove chill *.grt files. - (distclean maintainer-clean realclean): No need to remove files - twice. Nuke the duplicates. - * gdb.base/Makefile.in (EXECUTABLES): Add "structs". - * gdb.threads/Makefile.in (distclean maintainer-clean realclean): - Remove config.h along with other config files. - -Mon Sep 30 20:16:22 1996 Fred Fish <fnf@cygnus.com> - - * gdb.base/interrupt.exp: Add i*86-*-linux* setup_xfail for - "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. - -Fri Sep 27 10:34:51 1996 Fred Fish <fnf@cygnus.com> - - * gdb.base/a1-selftest.exp: Tweak tests to account for new - 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. - -Fri Sep 13 21:43:48 1996 Fred Fish <fnf@cygnus.com> - - * Makefile.in (VPATH): Add - * Makefile.in (Makefile, config.status): Fix rules so things get - remade when necessary. - -Fri Sep 13 18:16:10 1996 Fred Fish <fnf@cygnus.com> - - * Makefile.in (just-check): Add path to sibling expect dir - to environment variable specified by RPATH_ENVVAR. - -Fri Sep 13 12:05:34 1996 Fred Fish <fnf@cygnus.com> - - * Makefile.in (RPATH_ENVVAR): New var, set to @RPATH_ENVVAR@. - (just-check): Add shared library paths for libstdc++, tk, - tcl, bfd, and opcodes to the environment variable specified - in RPATH_ENVVAR. - * configure.in: Add support to recognize --enable-shared flag - and generate correct value for RPATH_ENVVAR. - * configure: Regenerated with autoconf. - -Mon Sep 2 06:36:02 1996 Fred Fish <fnf@cygnus.com> - - * gdb.base/break.exp: Expand "Delete all breakpoints" xfail to - include all osf versions. - * gdb.threads/pthreads.exp: Expand "run to main" xfail to include - all osf versions. Add -D_MIT_POSIX_THREADS to compilation command - when target is linux. When failing to build pthreads test - executable, give more meaningful message. - * gdb.threads/pthreads.c: Hpux also uses old definition of second - arg for pthread_create. - -Mon Aug 19 09:58:59 1996 Fred Fish <fnf@cygnus.com> - - * gdb.threads/pthreads.c (PTHREAD_CREATE_ARG2, - PTHREAD_CREATE_NULL_ARG2): Accomodate old pthreads implementations. - * gdb.threads/pthreads.exp: Try linking with both -lpthread (Solaris) - and -lpthreads (everybody else). - (test_startup): Fail gracefully if threads are not supported. - * gdb.base/nodebug.exp: Add setup_xfail hppa*-*-hpux* for - "p/c array_index("abcdef",2)" when not gcc compiled. - * gdb.base/corefile.exp: Add setup_xfail hppa*-*-hpux* for - "print func2::coremaker_local" when not gcc compiled. - * gdb.base/opaque.exp: Remove setup_xfail hppa*-*-hpux* for - "ptype on opaque struct tagname (statically)", - "ptype on opaque struct tagname (dynamically) 1", and - "ptype on opaque struct tagname (dynamically) 2" - for not compiled with gcc. - * gdb.base/mips_pro.exp: Only do setup_xfail hppa*-*-* for - backtrace when compiled with gcc. - * lib/gdb.exp (runto_main): Return result of "runto main" rather - than always return success. - -Sat Aug 17 13:28:00 1996 Fred Fish <fnf@cygnus.com> - - * gdb.c++/virtfunc.exp: Remove setup_xfail for "mips-*-irix5*". - -Tue Aug 13 10:26:10 1996 Jeffrey A Law (law@cygnus.com) - - * gdb.base/structs.exp: Undo last change. - -Mon Aug 12 15:29:08 1996 Fred Fish <fnf@cygnus.com> - - * gdb.base/a1-selftest.exp (do_steps_and_nexts): New routine to - 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/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. - -Sun Aug 11 13:11:24 1996 Fred Fish <fnf@cygnus.com> - - * gdb.base/term.exp: Set 7-bit strings, address off, width to 0, - and don't expect address info in breakpoint confirmations. - -Wed Aug 7 20:47:43 1996 Fred Fish <fnf@cygnus.com> - - * gdb.base/list.exp (test_forward_search): Increase timeout - temporarily by 60 seconds for searching extremely long line, - and then reset to old value when done. Increase expect input - buffer to 10000. - -Wed Aug 7 15:34:22 1996 Fred Fish <fnf@cygnus.com> - - * gdb.base/list.exp (test_forward_search): Fix to handle very - long source line without overflowing expect's input buffer. - -Wed Aug 7 12:03:25 1996 Tom Tromey <tromey@creche.cygnus.com> - - * config/slite-gdb.exp (gdb_start): Use "full_buffer", not - "buffer_full". - - * config/nind-gdb.exp (gdb_start): Use "full_buffer", not - "buffer_full". - - * config/mips-gdb.exp (gdb_start): Use "full_buffer", not - "buffer_full". - - * lib/gdb.exp (gdb_test): Correct pattern is "full_buffer", not - "buffer_full". - -Wed Aug 7 11:05:47 1996 Fred Fish <fnf@cygnus.com> - - * configure.in (configdirs): Add gdb.threads. - * configure: Regenerated with autoconf. - * gdb.threads/{config.in, pthreads.c, pthreads.exp}: New. - * gdb.threads/{Makefile.in, configure.in}: Complete rewrites. - * gdb.threads/configure: New, generated with autoconf. - -Tue Aug 6 10:23:04 1996 Tom Tromey <tromey@rtl.cygnus.com> - - * lib/gdb.exp (gdb_test_exact): Turn \n in pattern into \r\n. - -Mon Aug 5 18:11:53 1996 Fred Fish <fnf@cygnus.com> - - * gdb.base/signals.exp (test_handle_all_print): Test separately for - 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. - -Sun Aug 4 10:20:50 1996 Jeffrey A Law (law@cygnus.com) - - * gdb.disasm/hppa.s: Export fmemLRbug_tests_4 as a ST_CODE - symbol. - -Fri Aug 2 17:37:26 1996 Brendan Kehoe <brendan@lisa.cygnus.com> - - * config/vx-gdb.exp (gdb_start): Fix syntax of `$shell_id < 0'. - -Thu Jun 27 20:41:40 1996 Fred Fish <fnf@cygnus.com> - - * gdb.base/signals.exp (test_handle_all_print): Temporarily increase - timeout by 60 seconds. - -Thu Jun 27 18:13:57 1996 Fred Fish <fnf@cygnus.com> - - * config/unix-gdb.exp: Increase default timeout from 30 to 60 sec. - * config/netware.exp (gdb_run_cmd): Restore old timeout before doing - error return. - -Thu Jun 27 10:54:58 1996 Fred Fish <fnf@cygnus.com> - - * lib/gdb.exp (default_gdb_start): When reporting a timeout during - gdb initialization, also report how long dejagnu waited. Restore - old timeout before doing error return. Temporarily increase timeout - by 3 minutes to allow for slow startups over heavy NFS use. - -Tue Jun 25 19:59:17 1996 Fred Fish <fnf@cygnus.com> - - * lib/gdb.exp: Report timeout value for verbosity level 2. - * config/gdbserver.exp: Ditto. - * config/hppro.exp: Ditto. - * config/mips-gdb.exp: Ditto. - * config/monitor.exp: Ditto. - * config/netware.exp: Ditto. - * config/sim-gdb.exp: Ditto. - * config/slite-gdb.exp: Ditto. - * config/udi-gdb.exp: Ditto. - * config/unix-gdb.exp: Ditto. - * config/vx-gdb.exp: Ditto. - * gdb.base/a1-selftest.exp: Ditto. - * gdb.base/a2-run.exp: Ditto. - * gdb.base/break.exp: Ditto. - * gdb.base/corefile.exp: Ditto. - * gdb.base/list.exp: Ditto. - * gdb.base/recurse.exp: Ditto. - * gdb.base/scope.exp: Ditto. - * gdb.base/signals.exp: Ditto. - -Tue Jun 25 23:16:58 1996 Jason Molenda (crash@godzilla.cygnus.co.jp) - - * gdb.threads/Makefile.in (docdir): Removed. - -Tue Jun 25 17:02:39 1996 Jason Molenda (crash@godzilla.cygnus.co.jp) - - * configure.in (AC_PREREQ): autoconf 2.5 or higher. - * gdb.{base,c++,chill,disasm,stabs}/Makefile.in (VPATH): set to - @srcdir@. - * gdb.{base,c++,chill,disasm,stabs}/configure.in (AC_PREREQ): - autoconf 2.5 or higher. - * gdb.{base,c++,chill,disasm,stabs}/configure: Rebuilt. - -Thu Jun 13 11:16:10 1996 Tom Tromey <tromey@thepub.cygnus.com> - - * configure: Regenerated. - * aclocal.m4 (CY_AC_PATH_TCLH, CY_AC_PATH_TKH): Use odd names to - avoid name clashes with SunOS headers. - -Wed Jun 5 16:43:27 1996 Jeffrey A Law (law@cygnus.com) - - * gdb.c++/virtfunc.exp: Search $objdir/../../libstdc++ for libstdc++. - -Thu May 30 11:35:11 1996 Jeffrey A Law (law@cygnus.com) - - * gdb.base/callfuncs.exp: Finish last change -- make sure the - prototype information ends up in the compiler info file. - -Thu May 23 12:48:41 1996 Fred Fish <fnf@cygnus.com> - - * gdb.base/callfuncs.exp: Remove the compiler info file prior to - 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. - -Sat May 18 02:43:58 1996 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) - - * gdb.base/recurse.exp: Remove setup_xfail for "sparc*-*-sunos4*", - it got fixed by the recent lookup_minimal_symbol_by_pc change. - Increase timeout, a lot of single stepping might be needed if the - target has no hardware watchpoints. - -Wed May 15 08:47:42 1996 Jeffrey A Law (law@cygnus.com) - - * gdb.base/break.exp: Ignore compiler warnings when compiling - break.c. - * gdb.base/callfuncs.exp: Don't run these tests on the h8300. - * gdb.base/default.exp: Add h8300 xfails. Handle messages - from remote-sim. - * gdb.base/exprs.exp: Add h8300 xfails. - * gdb.base/funcargs.exp: Likewise. - * gdb.base/nodebug.exp: Likewise. - * gdb.base/printcmds.exp: Likewise. - * gdb.base/ptype.exp: Likewise. - * gdb.base/setvar.exp: Handle sizeof (int) != 4 for h8300. Add - h8300 xfails. - * gdb.base/return.exp: Handle float/double precision problems - on the h8300. - * gdb.base/funcargs.c: Explicitly make last constant argument to - call_after_alloca_subr an unsigned long type. - * gdb.base/return.c: Include stdio.h. - -Tue May 7 22:01:12 1996 Rob Savoye <rob@chinadoll.cygnus.com> - - * config/abug.exp: New file for the older Motorola Bug monitor - that runs on the mvme13x series VME boards. - * config/monitor.exp: Use the new config array for target settings - if they exist. - -Fri May 3 16:02:55 1996 Stan Shebs <shebs@andros.cygnus.com> - - * sim-gdb.exp: Make the SH simulator allocate less space when - it is targeted. - -Thu May 2 12:31:56 1996 Jeffrey A Law (law@cygnus.com) - - * gdb.base/mips_pro.exp: Expect failure for hppa*-*-* in backtrace - test. - -Wed Mar 20 08:48:03 1996 Fred Fish <fnf@cygnus.com> - - * gdb.base/list.exp (test_list_function): Remove setup_xfail for - "rs6000-*-*" for "list function in include file" when gcc compiled. - * gdb.base/printcmds.exp: Remove setup_xfail for "rs6000-*-aix*" - for "p ctable1[120]". - * gdb.base/scope.exp: Remove setup_xfail for "rs6000-*-*" for - "print 'scope0.c'::filelocal_bss before run" when gcc compiled. - Remove setup_xfail for "rs6000-*-*" for - "print 'scope0.c'::filelocal before run". - * gdb.base/{langs.exp, lists.exp, opaque.exp, scope.exp}, - gdb.stabs/weird.exp: Remove use of compiler options "-c -o ..." - since some compilers don't allow both options to be given - on the same command line. Create object file and move it. - -Tue Mar 19 23:49:31 1996 Fred Fish <fnf@cygnus.com> - - * gdb.base/corefile.exp: Always regenerate the core file, since - we always regenerate the coremaker program. Detect special case - where registers cannot be read from core file. - -Tue Mar 19 16:52:49 1996 Fred Fish <fnf@cygnus.com> - - From Peter Schauer <Peter.Schauer@Regent.E-Technik.TU-Muenchen.DE> - * gdb.base/funcargs.c: Patch for SPARCworks alloca compatibility - * gdb.c++/templates.exp: Only match on basename of file since - some formats like xcoff don't encode directory information. - * gdb.stabs/weird.exp: Use the right sed script for powerpc - and rs6000 AIX xcoff targets. - * configure.in: Add stabsdirs to configdirs for powerpc-*-aix*. - * configure: Regenerate. - * gdb.base/Makefile.in (clean): Remove generated file twice-tmp.c - here, rather than in distclean. - -Sun Mar 17 13:35:31 1996 Fred Fish <fnf@cygnus.com> - - * gdb.base/mips_pro.exp: Create mips_pro.ci to get gcc_compiled - defined, and use it to compile the test case with -O2. The - native compilation still uses no optimization. - * gdb.base/mips_pro.c: Remove inline assembly code since - it is compiled PIC by default, which results in assembler - warnings that make the testsuite think the compilation - was unsuccessful. - -Sat Mar 16 15:02:24 1996 Fred Fish <fnf@cygnus.com> - - * gdb.c++/misc.exp: Add note to message for - "print s.a for foo struct" that this is a known gcc 2.7.2 - and earlier bug. - -Fri Mar 15 17:49:57 1996 Fred Fish (fnf@cygnus.com) - - * gdb.base/break.exp: Fix pattern for matching "Delete all - 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. - -Fri Mar 15 16:17:22 1996 Fred Fish <fnf@cygnus.com> - - * gdb.base/corefile.exp: Remove "alpha-dec-osf2*" native compiled - setup_xfail for "print coremaker_bss", "print coremaker_ro", - "print func2::coremaker_local", and "backtrace in corefile.exp". - -Wed Mar 13 14:54:11 1996 Fred Fish <fnf@cygnus.com> - - * gdb.base/signals.exp: Remove "alpha-*-osf2*" setup_xfail for - "bt in signals.exp". This problem only appears when running - the testsuite, and then only intermittently. - -Tue Mar 12 15:00:16 1996 Stan Shebs <shebs@andros.cygnus.com> - - * gdb.base/return.exp (return_tests): Differentiate between - two tests of continuing. - -Tue Mar 5 14:33:33 1996 Stan Shebs <shebs@andros.cygnus.com> - - * */Makefile.in (maintainer-clean): Remove config.log. - * gdb.base/Makefile.in (EXECUTABLES): Replace twice with twice-tmp. - * gdb.c++/Makefile.in (PROGS): Add inherit. - (clean): Remove *.ci. - -Tue Feb 20 16:36:10 1996 Fred Fish <fnf@cygnus.com> - - * gdb.c++/misc.cc: Add test code from Mike Stump. - * gdb.c++/misc.exp: Add test to print s.a, for Mike Stump. - -Sun Feb 18 11:39:12 1996 Fred Fish <fnf@cygnus.com> - - * gdb.base/signals.exp: Change setup_xfail for "alpha-*-osf2" - 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. - Change "alpha-dec-osf2*" setup_xfail for "bt in signals.exp" - to be for gcc only. - * lib/gdb.exp: Move verbose statements outside conditionals. - -Sat Feb 17 02:22:14 1996 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) - - * gdb.base/sigall.exp: Remove setup_xfail for irix4. Fixed by - Feb 3 procfs.c change. - -Fri Feb 16 13:25:31 1996 Fred Fish <fnf@cygnus.com> - - * config/unix-gdb.exp: Remove extraneous newlines from end of file. - -Thu Feb 15 08:12:55 1996 Fred Fish <fnf@cygnus.com> - - * config/unix-gdb.exp: Default timeout in UNIX case to 30 seconds, up - from dejagnu's apparent default of 10 seconds, which gives random - results when running the tests over NFS on moderately loaded systems. - * lib/gdb.exp (gdb_run_cmd): Add "(timeout)" in timeout case. - -Mon Feb 12 16:50:28 1996 Fred Fish <fnf@cygnus.com> - - * gdb.base/callfuncs.exp: Remove setup_xfail for PR 5318. Now fixed. - * gdb.base/a2-run.exp: Replace $binfile with $testfile in test - result reports. - -Fri Feb 9 15:56:51 1996 Fred Fish <fnf@cygnus.com> - - * configure.in (CY_AC_PATH_TCLH): Remove. - * configure: Regenerate. - -Fri Feb 9 08:21:31 1996 Fred Fish <fnf@cygnus.com> - - * gdb.c++/Makefile.in (clean): Add missing '{'. - -Fri Feb 2 10:19:40 1996 Jeffrey A Law (law@cygnus.com) - - * lib/gdb.exp: Provide a default value for noinferior. - - * lib/gdb.exp: Fix typos (LDLAGS -> LDFLAGS). - Load libgloss.exp. - -Thu Feb 1 20:20:14 1996 Jeffrey A Law (law@cygnus.com) - - * gdb.disasm/hppa.exp: Compile directly into an executable, use - the executable, not the .o to run the tests from. - -Wed Jan 31 14:21:09 1996 Jeffrey A Law (law@cygnus.com) - - * gdb.base/break.exp: Don't test for program exit or exit status - if $noresults if nonzero. - * gdb.base/langs.exp: Likewise. - * gdb.base/watchpoint.exp: Likewise. - - * gdb.base/default.exp: Remove extraneous call to load gdb.exp. - * gdb.chill/pr-8405.exp: Move skip_chill_tests check to just before - trying to compile the testcase. - -Wed Jan 24 23:42:39 1996 Doug Evans <dje@charmed.cygnus.com> - - * gdb.base/interrupt.exp (p func1): xfail sparc64-*-solaris2. - * gdb.base/signals.exp (continue to handler): Likewise. - -Tue Jan 23 16:28:22 1996 Per Bothner <bothner@kalessin.cygnus.com> - - * gdb.c++/classes.exp: Now = returns false/true, not 1/0. - - * gdb.fortran/exprs.exp: .LT. and .GT. now return .TRUE. or .FALSE.. - -Tue Jan 23 15:41:57 1996 Jeffrey A Law (law@cygnus.com) - - * gdb.base/corefile.exp: Recognize "not found" as failure - when trying to determine if a core file was generated. - If no core file was generate the first time, try again without - the ulimit -c to work around braindamaged shells. - -Mon Jan 15 09:33:00 1996 Fred Fish <fnf@cygnus.com> - - * gdb.stabs/configure.in (alpha-*-*,mips-*-*): Replace - [] tests with "test" and enclose string in quotes. - * gdb.stabs/configure: Rebuild - -Thu Jan 11 09:43:14 1996 Tom Tromey <tromey@creche.cygnus.com> - - Changes in sync with expect: - * aclocal.m4 (CY_AC_PATH_TCLH): Handle Tcl 7.5 and greater. - (CY_AC_PATH_TCLLIB): Handle Tcl 7.5 and greater. - (CY_AC_PATH_TKH): Handle Tk 4.1 and greater. - (CY_AC_PATH_TKLIB): Handle Tk 4.1 and greater. Properly quote - argument to AC_REQUIRE. - * configure: Regenerated. - -Thu Jan 4 08:17:22 1996 Fred Fish <fnf@cygnus.com> - - * gdb.base/corefile.exp: When generating a core, discard any - error messages about ulimit not found and the "core dumped" - message from the shell that runs the coredumper. - -Wed Jan 3 01:30:41 1996 Jeffrey A Law (law@cygnus.com) - - * lib/gdb.exp (skip_chill_tests): Skip them on the PA too. - - * gdb.stabs/weird.exp: Use ${target_triplet} to determine - which sed script to run. Expect failure for v_comb test - on PA targets too. - -Sat Dec 30 16:09:04 1995 Fred Fish <fnf@rtl.cygnus.com> - - * gdb.base/corefile.exp: Remove "i*86-*-linux" xfail for - "print func2::coremaker_local" and for "backtrace in corefile.exp" - -Sat Dec 30 12:59:12 1995 Fred Fish <fnf@cygnus.com> - - * lib/gdb.exp: Fix typo and rewrite skip_chill_tests. - * gdb.stabs/weird.exp: Setup "sparc-sun-sunos4*" and - "sparc-sun-solaris*" xfails for "p v_comb". - * lib/gdb.exp (default_gdb_start): Fix typo. - * 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". - -Fri Dec 29 16:09:20 1995 Stan Shebs <shebs@andros.cygnus.com> - - * gdb.base/a1-selftest.exp (test_with_self): Run without windows. - -Wed Dec 6 10:45:42 1995 Jeffrey A. Law <law@sethra.cygnus.com> - - * gdb.base/*.exp: Make ${srcfile} only be the basename of the - input source file; fix code to compile test to deal with this - convention. - * gdb.c++/*.exp: Likewise. - -Mon Nov 27 11:40:16 1995 Fred Fish <fnf@cygnus.com> - - * gdb.base/signals.exp: Setup "alpha-*-osf2*" xfail for - "bt in signals.exp". - -Sat Nov 25 20:52:15 1995 Fred Fish <fnf@phydeaux.cygnus.com> - - * gdb.base/a1-selftest.exp: Add alpha-dec-osf2 setup_xfail for - "step over execarg initialization" and - "step over corearg initialization". - -Sat Nov 25 18:20:14 1995 Fred Fish <fnf@cygnus.com> - - * gdb.base/ptype.c (main): Declare malloc as a "char *" for systems - with sizeof(pointer) > sizeof(int). Avoid "void *" or include files. - -Sat Nov 25 11:03:42 1995 Fred Fish <fnf@cygnus.com> - - From Rob Savoye (rob@poseidon.cygnus.com) - * Makefile.in, configure.in, gdb.base/{Makefile.in, configure.in}, - gdb.c++/{Makefile.in, configure.in}, gdb.chill/{Makefile.in, - configure.in}, gdb.disasm/{Makefile.in, configure.in}, - gdb.stabs/{Makefile.in, configure.in}, gdb.threads/{Makefile.in, - configure.in}: Major reworking for autoconfig. - * aclocal.m4, configure, gdb.base/configure, gdb.c++/configure, - gdb.disasm/configure, gdb.stabs/configure, gdb.stabs/default.mt : - New files. - * config/unix-gdb.exp: Make GDB global. - * gdb.base/{a1-selftest.exp, a2-run.exp,bitfields.exp, break.exp, - callfuncs.exp, commands.exp, corefile.exp, crossload.exp, exprs.exp, - funcargs.exp, interrupt.exp, langs.exp, list.exp, mips_pro.exp, - nodebug.exp, opaque.exp, printcmds.exp, ptype.exp, recurse.exp, - regs.exp, return.exp, scope.exp, setvar.exp, sigall.exp, signals.exp, - term.exp, twice.exp, watchpoint.exp, whatis.exp}, - gdb.c++/{classes.exp, callfuncs.exp, inherit.exp, misc.exp, - templates.exp, virtfunc.exp}, gdb.chill/{callch.exp, chillvars.exp, - misc.exp, pr-4975.exp, pr-5016.exp, pr-5020.exp, pr-5022.exp, - pr-5646.exp, pr-5984.exp, pr-6292.exp, pr-6632.exp, pr-8134.exp, - pr-8136.exp, result.exp, string.exp, tuples.exp}, - gdb.disasm/{hppa.exp, sh3.exp}, gdb.stabs/weird.exp: Change continues - to returns as necessary, arrange for test to compile own testcase - executable. - * lib/gdb.exp: Changes for testsuite to compile own test cases. - -Tue Nov 21 16:15:45 1995 Fred Fish <fnf@cygnus.com> - - * gdb.c++/classes.exp (test_pointers_to_class_members): Add - clear_xfail at end of test which might not call either pass or fail. - * gdb.base/a1-selftest.exp: Add i*86-*-linuxaout xfail for - "backtrace through signal handler". - -Sat Nov 18 04:09:31 1995 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) - - * gdb.base/sigall.exp: Work around OSF/1-3.x kernel bug when - continuing from a job control stop signal. - * gdb.stabs/alpha.mt: Use $(CFLAGS) when building weird.o. - -Wed Nov 15 00:28:03 1995 Jeffrey A Law (law@cygnus.com) - - * gdb.base/callfuncs.exp: Remove bogus hppa xfails. - * gdb.base/corefile.exp: Likewise. - * gdb.base/funcargs.exp: Likewise. - -Tue Nov 14 15:18:10 1995 Stu Grossman (grossman@cygnus.com) - - * config/hmsirom.exp: Setup for talking to hmsi ROM monitor. - * config/monitor.exp: Add support for setting baud rate. - -Sat Nov 4 15:35:52 1995 Fred Fish <fnf@cygnus.com> - - * gdb.base/a1-selftest.exp: Remove i*86-*-sysv4* and - i*86-*-linux* xfails for "backtrace through signal handler". - * gdb.base/corefile.exp: Add i*86-*-sysv4* xfail for - "print func2::coremaker_local". - * gdb.base/break.exp: Add i*86-*-sysv4*, sparc-sun-sunos4, - alpha-dec-osf2* xfail for - "delete all breakpoints when none". - -Wed Nov 1 15:57:16 1995 Fred Fish <fnf@cygnus.com> - - * gdb.base/break.exp: Change test that deletes all breakpoints - when no user breakpoints are installed. A post 4.15 change - causes gdb to no longer prompt in this case. - -Tue Oct 31 15:13:43 1995 Fred Fish <fnf@cygnus.com> - - * gdb.base/return.exp (return_tests): Change xfail for test - "correct value returned double test" to stop xfailing at - Solaris 2.5. Apparently the bug has been fixed. - -Sun Oct 29 12:18:16 1995 Fred Fish <fnf@cygnus.com> - - * gdb.stabs/ecoff.sed: Remove comment lines except for first one. - IRIX 4.0 /bin/sed chokes on them, though they work fine elsewhere. - -Tue Oct 24 11:12:12 1995 Jeffrey A Law (law@cygnus.com) - - * gdb.disasm/hppa.exp: Test lci and syncdma instructions. - * gdb.disasm/hppa.s: Corresponding changes. - -Wed Oct 18 11:27:47 1995 Jeffrey A Law (law@cygnus.com) - - * gdb.base/configure.in (hppa*-*-hpux*): No longer needs target - makefile fragment. - * config/mt-hpux: Deleted. - -Tue Oct 17 23:02:12 1995 Jeffrey A Law (law@cygnus.com) - - * Many files: When warning about suppressed tests due to a - nonexistant test binary, avoid incrementing the warning count. - -Tue Oct 10 11:00:41 1995 Fred Fish <fnf@cygnus.com> - - * Makefile.in (TARGET_FLAGS_TO_PASS): Remove BISON. - -Sun Oct 8 04:23:14 1995 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) - - * gdb.base/return.exp: Change xfail from "sparc-*-solaris2.*" to - "sparc-*-solaris2*". - -Sat Sep 23 01:22:23 1995 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) - - * gdb.base/coremaker.c: Produce a full core dump for AIX targets. - Add global and local variables and initialize them. - * gdb.base/corefile.exp: Test correct mapping of corefile sections - by printing variables. Remove rs6000 and powerpc xfails, BFD now - extracts the file name and terminating signal from the core file. - * TODO: Remove note about tests for correct mapping of corefile. - * gdb.base/ptype.c (main): Use boolean2 to inhibit AIX 4.1 xlc - from optimizing it away. - * gdb.stabs/weird.exp: Remove rs6000 xfail, xcoffread.c now - handles common blocks. - -Thu Sep 21 01:28:10 1995 Jeff Law (law@snake.cs.utah.edu) - - * gdb.disasm/sh3.s (fmac): Update for new assembler syntax - * gdb.disasm/sh3.exp (fmac): Corresponding changes. - -Wed Sep 20 13:15:05 1995 Ian Lance Taylor <ian@cygnus.com> - - * Makefile.in (maintainer-clean): New target, synonym for - realclean. - * gdb.base/Makefile.in (maintainer-clean): Likewise. - * gdb.c++/Makefile.in (maintainer-clean): Likewise. - * gdb.chill/Makefile.in (maintainer-clean): Likewise. - * gdb.disasm/Makefile.in (maintainer-clean): Likewise. - * gdb.stabs/Makefile.in (maintainer-clean): Likewise. - * gdb.threads/Makefile.in (maintainer-clean): Likewise. - -Sun Sep 10 13:14:01 1995 Fred Fish <fnf@cygnus.com> - - * gdb.base/scope.exp (text_at_main): Add "hppa*-*-hpux*" - xfails when not gcc compiled for "print foo::funclocal". - (test_at_foo): Add "hppa*-*-hpux*" xfails when not gcc compiled for: - "print foo::funclocal at foo", - "print 'scope1.c'::foo::funclocal at foo", - "print foo::funclocal_bss at foo", - "print 'scope1.c'::foo::funclocal_bss at foo", - "print foo::funclocal_ro at foo", - "print 'scope1.c'::foo::funclocal_ro at foo", - "print bar::funclocal at foo" and - "print 'scope1.c'::bar::funclocal at foo". - (test_at_bar): Add "hppa*-*-hpux*" xfails when not - gcc compiled for "print foo::funclocal at bar". - Expand all messages to ensure that they identify that - the test is at bar(). - * gdb.base/opaque.exp: Add "hppa*-*-hpux*" xfails when not - gcc compiled for: - "ptype on opaque struct pointer (statically)", - "ptype on opaque struct tagname (statically)", - "ptype on opaque struct pointer (dynamically) 1", - "ptype on opaque struct tagname (dynamically) 1", - "ptype on opaque struct pointer (dynamically) 2" and - "ptype on opaque struct tagname (dynamically) 2 - * gdb.base/nodebug.exp: Add "hppa*-*-hpux*" xfails when not - gcc compiled for: - "p datalocal" - "whatis datalocal", - "ptype datalocal", - "p bsslocal", - "whatis bsslocal", and - "ptype bsslocal". - * gdb.base/langs.exp: Add "hppa*-*-hpux*" xfails for - "backtrace in langs.exp" and "up to langs0__2do in langs.exp" - when not gcc compiled. - * gdb.base/funcargs.exp (float_and_integral_args): Add - "hppa*-*-hpux*" xfail for "run to call2a" when not gcc - compiled. - (discard_and_shuffle): Add "hppa*-*-hpux*" xfail for - "backtrace from call6a" when not gcc compiled. - (shuffle_round_robin): Add "hppa*-*-hpux*" xfail for - "backtrace from call7a" when not gcc compiled. - * gdb.base/callfuncs.exp (do_function_calls): - Add "hppa*-*-hpux*" xfail when not gcc compiled for - "p t_char_array_values(char_array_val2,char_array_val1)", - "p t_char_array_values(char_array_val1,char_array_val2)", - "p t_char_array_values("carray 1","carray 2")", - "p t_char_array_values("carray 1",char_array_val2)", - "p t_char_array_values(char_array_val1,"carray 2")", - "p sum_args(1,{2})", - "p sum_args(2,{2,3})", - "p sum_args(3,{2,3,4})", - "p sum_args(4,{2,3,4,5})" - * gdb.base/corefile.exp: Add "hppa*-*-hpux*" xfail for - "backtrace in corefile.exp" when not gcc compiled. - -Sat Sep 9 01:35:39 1995 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) - - * gdb.base/signals.exp: Rewrite `handle all print' test as - a procedure. Accept blanks or TABs as whitespace, increase - timeout and expect input buffer size for the large output - from the command. Remove "i*86-*-bsdi2.0" xfail. - -Sat Sep 2 06:41:26 1995 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) - - * gdb.base/setvar.exp: Add new testcases for truncation when - assigning invalid values to bitfields. - -Sat Sep 2 00:17:31 1995 Fred Fish <fnf@cygnus.com> - - * gdb.base/callfuncs.exp (do_function_calls): Remove - mips-sgi-irix* xfail for - "call inferior func with struct - returns char *" - and fix test so that an optional (unsigned char *) cast is - accepted in the result. - -Fri Sep 1 13:42:01 1995 Fred Fish <fnf@cygnus.com> - - * gdb.base/funcargs.exp (float_and_integral_args): Remove - sparc-sun-solaris2* xfail for "print f1 after run to call2a". - * gdb.c++/Makefile.in (SUFFIXES): Add .SUFFIXES and ".cc" suffix. - * gdb.base/signals.exp: Remove duplicate "handle all print" test - that accidentally got checked in. - -Sun Aug 27 23:35:35 1995 Fred Fish <fnf@cygnus.com> - - * gdb.base/callfuncs.exp (do_function_calls): Add alpha-dec-osf2* - clear_xfail for "p t_float_values2(3.14159,float_val2)" for gcc - compiled test. - * gdb.base/opaque.exp (setup_xfail_on_opaque_pointer): - Add mips-sgi-irix5* xfail for not gcc compiled. - * gdb.base/Makefile.in (nodebug.o): Also create nodebug.ci. - * gdb.base/nodebug.exp: Add mips-sgi-irix5 xfail when not gcc compiled for - "p top", "whatis top", "p middle", and "whatis middle". - * gdb.base/whatis.exp: Add mips-sgi-irix* xfail for - "whatis signed char" for not gcc compiled. - * gdb.base/setvar.exp: Add mips-sgi-irix4* xfail (works on irix5) for - "set variable signed char=-1 (-1)" and - "set variable signed char=0xFF (0xFF)" for not gcc compiled. - * gdb.base/funcargs.exp (float_and_integral_args): - Add mips-sgi-irix5* xfail for "run to call2a" for not gcc compiled. - Add mips-sgi-irix* xfail when not gcc compiled for - "continue to call2b". - Add mips-sgi-irix4* xfail (works with irix5) when gcc compiled for - "continue to call2g". - (discard_and_shuffle): Add mips-sgi-irix5* xfail whn not gcc compiled for - "backtrace from call6a" - (shuffle_round_robin): Add mips-sgi-irix* xfail when not gcc compiled for - "backtrace from call7k". - Add mips-sgi-irix5* xfail when not gcc compiled for - "backtrace from call7a". - (localvars_after_alloca): Fix gdb_test cmds for - "print * after runto ...". - Remove rs6000-*-* xfails for - "print i after runto localvars_after_alloca" and - "print l after runto localvars_after_alloca" - for all compilers. - * gdb.base/exprs.exp: Add mips-sgi-irix4* xfails (works with irix5), - when not compiled with gcc, for: - "print signed char == (minus)", - "print signed char != (minus)", - "print signed char < (minus)", - "print signed char > (minus)". - * gdb.base/callfuncs.exp (do_function_calls): - Add mips-sgi-irix* xfail, when compiled with native compiler, for - "call inferior func with struct - returns char *". - * gdb.base/return.exp (return_tests): Change xfail for - "correct value returned double test" to include Solaris 2.4. - * gdb.base/funcargs.exp (float_and_integral_args): - Add sparc-sun-solaris2* xfail for "print f1 after run to call2a". - -Sat Aug 26 00:26:11 1995 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) - - * gdb.base/setvar.c, gdb.base/setvar.exp: Add new tests for - enumeration bitfields if compiling with GNU C. - * lib/gdb.exp: Consume `(y or n) ' in `Reinitialize source path - to empty' prompt. - -Tue Aug 22 00:30:37 1995 Jeff Law (law@snake.cs.utah.edu) - - * gdb.base/scope.exp: xfail 'scope0.c'::filelocal_bss before run - test for PRO targets. - - * gdb.base/funcargs.exp: Avoid ever setting more than 8 - breakpoints in the inferior at any given time by making - two groups of breakpoints for call2*, call6* and call7* - tests. - -Sun Aug 20 06:58:25 1995 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) - - * gdb.base/funcargs.exp: Fix typos introduced by Aug 15 change. - * gdb.base/callfuncs.c (main): Use struct_val1 to inhibit xlc - from optimizing it away. - * gdb.base/callfuncs.exp: Remove rs6000-*-* xfails for - "call inferior func with struct". - -Wed Aug 16 11:57:15 1995 Stan Shebs <shebs@andros.cygnus.com> - - * configure.in: Only configure gdb.chill for particular targets. - -Tue Aug 15 09:42:44 1995 Fred Fish <fnf@cygnus.com> - - * gdb.base/Makefile.in: Add action to .c.o transformation - rule that generates a .ci file for each .o file and remove - explicit .c.o rules except for callfuncs.o. - * gdb.c++/Makefile.in: Add .cc.o transformation rule that - generates a .ci file for each .o file and remove explicit - .cc.o rules. - (clean): Remove *.tmp *.ci files. - (EXECUTABLES): Remove templ-info.exp. - * gdb.base/compiler.c: New file. - * gdb.c++/compiler.cc: New file - * gdb.base/scope.exp: Source gdb.base/scope.ci. - Change rs6000-*-* xfail for - "print 'scope0.c'::filelocal_ro" and - "print 'scope1.c'::filelocal" and - "print 'scope1.c'::filelocal_bss" and - "print 'scope1.c'::filelocal_ro" and - "print 'scope1.c'::foo::funclocal" and - "print 'scope1.c'::foo::funclocal_ro" and - "print 'scope1.c'::bar::funclocal" and - "print 'scope0.c'::filelocal_ro" and - "print 'scope1.c'::filelocal at foo" and - "print 'scope1.c'::filelocal_bss at foo" and - "print 'scope1.c'::filelocal_ro at foo" and - "print 'scope1.c'::foo::funclocal at foo" and - "print 'scope1.c'::foo::funclocal_bss at foo" and - "print 'scope1.c'::foo::funclocal_ro at foo" and - "print 'scope1.c'::bar::funclocal at foo" and - "print 'scope0.c'::filelocal_ro" and - "print 'scope1.c'::filelocal" and - "print 'scope1.c'::filelocal_bss" and - "print 'scope1.c'::filelocal_ro" and - "print 'scope1.c'::foo::funclocal" and - "print 'scope1.c'::foo::funclocal_bss" and - "print 'scope1.c'::foo::funclocal_ro" and - "print 'scope1.c'::bar::funclocal" and - "print 'scope1.c'::bar::funclocal_bss" - to only be xfail'd when not compiled with gcc. - Add rs6000-*-* xfail for - "print 'scope0.c'::filelocal_bss before run" - when compiled with gcc. - (test_at_main): Add rs6000-*-* xfail for - "print filelocal_ro in test_at_main" - when compiled with gcc. - * gdb.base/ptype.exp: Source gdb.base/ptype.ci. - Add rs6000-*-aix* xfail for - "whatis unnamed typedef'd enum (compiler bug in IBM's xlc)" and - "ptype t_char_array", not compiled with gcc. - * gdb.base/list.exp (test_list_function): Add rs6000-*-* - xfail for "list foo (in include file)" when gcc compiled. - * gdb.base/funcargs.exp: Source gdb.base/funcargs.ci - (integral_args): Add rs6000-*-* xfail for - "run to call0a" if not compiled with gcc. - (unsigned_integral_args): Add rs6000-*-* xfail for - "run to call1a" if not compiled with gcc. - (float_and_integral_args): Add rs6000-*-* xfail for - "run to call2a" if not compiled with gcc and for - "continue to call2b" for any compiler. - Add rs6000-*-* xfail to - "print f1 after run to call2a" for gcc compiled. - (discard_and_shuffle): Add rs6000-*-* xfail for - "run to call6a". - (shuffle_round_robin): Add rs6000-*-* xfail for - "backtrace from call7a" if not compiled with gcc. - Add rs6000-*-* xfail for - "backtrace from call7b" if compiled with gcc. - (call_after_alloca): Add rs6000-*-* xfail for - "print c in call_after_alloca" and - "print s in call_after_alloca" and - "backtrace from call_after_alloca_subr" - if not compiled with gcc. - (localvars_in_indirect_call): Add rs6000-*-* xfail for - "print c in localvars_in_indirect_call" and - "print c in localvars_in_indirect_call" and - "backtrace in indirectly called function" and - "stepping into indirectly called function" - if not compiled with gcc. - (localvars_after_alloca): Add rs6000-*-* xfail for - "print c after runto localvars_after_alloca" and - "print s after runto localvars_after_alloca" and - "print i after runto localvars_after_alloca" and - "print l after runto localvars_after_alloca" - for all compilers. - * gdb.base/whatis.exp: Source gdb.base/whatis.ci rather - than whatis-info.exp. - * gdb.base/opaque.exp: Source gdb.base/opaque0.ci rather - than opaque-info.exp. - Setup rs6000-*-* xfail for - "ptype on opaque struct pointer (statically)" and - "ptype on opaque struct pointer (dynamically)" when - not compiled with gcc. - * gdb.base/callfuncs.exp: Source gdb.base/callfuncs.ci - rather than callf-info.exp. - (do_function_calls): Add clear_xfail for rs6000-*-* for - "p t_float_values2(3.14159,float_val2)". Seems to work - fine there, both with xlc and gcc. Need to find out what - it is doing right and fix other platforms. - * gdb.base/callfuncs.exp: Add rs6000-*-* xfail for - "call inferior func with struct - returns int", - "call inferior func with struct - returns long", - "call inferior func with struct - returns float", - "call inferior func with struct - returns double", - "call inferior func with struct - returns char *", - but only if not gcc compiled (presumes xlc compiled). - Change rs6000-*-* xfails for - "call inferior func with struct - returns char" and - " call inferior func with struct - returns short" to only - xfail if not using gcc. - (clean mostlyclean): Remove *.ci and *.tmp files. - * gdb.c++/templates.exp: Source gdb.c++/templates.ci rather - than templ-info.exp. - * gdb.base/langs.exp: Source gdb.base/langs.ci. - Add rs6000-*-* xfail for "up to foo in langs.exp" - "up to cppsub_ in langs.exp" and "up to fsub in langs.exp" - when not gcc compiled. - -Sat Aug 12 15:05:36 1995 Jeffrey A. Law <law@rtl.cygnus.com> - - * gdb.base/callfuncs.exp: Add xfails for the powerpc. - * gdb.base/corefile.exp: Likewise. - * gdb.base/list.exp: Likewise. - * gdb.base/scope.exp: Likewise. - * gdb.base/siganls.exp: Likewise. - - * gdb.base/nodebug.exp: Add xfails for the powerpc. Handle aix4 - compiler output. - * gdb.base/whatis.exp: Likewise. - -Fri Aug 11 13:36:20 1995 Jeff Law (law@snake.cs.utah.edu) - - * gdb.disasm/sh3.exp (all_fp_misc_tests): No longer expect a - failure (opcode table has been fixed to match reality). - -Mon Aug 14 09:01:59 1995 Fred Fish <fnf@cygnus.com> - - * gdb.base/callfuncs.exp: Add rs6000-*-* xfails for - "call inferior func with struct - returns char", - "call inferior func with struct - returns short" - - * gdb.base/scope.exp: Remove rs6000-*-* xfails for - "print 'scope0.c'::filelocal at main", - "print 'scope0.c'::filelocal_bss in test_at_main", - "print 'scope0.c'::filelocal at foo", - "print 'scope0.c'::filelocal_bss in test_at_foo", - "print 'scope0.c'::filelocal at bar", - "print 'scope0.c'::filelocal_bss in test_at_bar" - - * gdb.base/list.exp: Remove rs6000-*-* xfail for "list function - in source file 1". This bug seems to have been fixed with both - gcc and native cc (was native assembler bug?). - -Wed Aug 9 08:04:12 1995 Fred Fish (fnf@cygnus.com) - - * gdb.base/a1-selftest.exp: Change "i*86-*-sysv4" xfail for - "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". - -Mon Aug 7 02:43:28 1995 Jeff Law (law@snake.cs.utah.edu) - - * gdb.disasm/sh3.s: Source for sh3 disassembler tests. - * 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. - -Mon Aug 7 08:09:37 1995 Fred Fish <fnf@cygnus.com> - - * Makefile.in (CHILL_FOR_TARGET): Use previously defined - (or overriden) "CHILL" macro rather then bare "gcc". - Also look for ../../gcc/xgcc since that is what we will - actually need, not "Makefile". Remove following assignment - of CHILL to CHILL_FOR_TARGET because that results in - recursive definition. - -Sun Aug 6 16:52:29 1995 Fred Fish <fnf@cygnus.com> - - * gdb.base/corefile.exp: Change xfail for backtrace in - 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". - -Thu Aug 3 10:45:37 1995 Fred Fish <fnf@cygnus.com> - - * Update all FSF addresses except those in COPYING* files. - -Sun Jul 30 17:50:35 1995 Fred Fish <fnf@cygnus.com> - - * gdb.base/a2-run.exp: Change messages to be more explicit about - the status of args, and quote binfile in results. - -Sun Jul 30 10:24:20 1995 Fred Fish <fnf@cygnus.com> - - * gdb.base/callfuncs.exp: Add tests for passing structs to - 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. - -Sat Jul 29 14:22:33 1995 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) - - * gdb.base/Makefile.in (clean): Remove callf-info.exp. - -Fri Jul 28 13:36:11 1995 Brendan Kehoe <brendan@lisa.cygnus.com> - - * config/vxworks29k.exp: New file, sources vxworks.exp. - -Fri Jul 28 00:28:36 1995 Jeffrey A. Law <law@rtl.cygnus.com> - - * config/gdbremote.exp: New file. Testing framework using - gdbserver. - -Thu Jul 27 12:17:14 1995 Fred Fish (fnf@cygnus.com) - - * gdb.base/interrupt.exp: Setup "i*86-*-linux" xfail for - "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. - -Tue Jul 25 17:30:10 1995 Jeffrey A. Law <law@rtl.cygnus.com> - - * gdb.threads: New directory with some crude multi-threaded - gdb tests (step.exp and step2.exp). - * config/mt-lynx (STEP_EXECUTABLE): Define. - (THREADFLAGS): Define. - -Tue Jul 25 01:03:52 1995 Jeff Law (law@snake.cs.utah.edu) - - * gdb.base/sigall.exp: Avoid losing in SIGPRIO test on lynx. - - * gdb.base/signals.exp: Disable whole file for lynx until - further notice. - - * gdb.base/signals.exp: xfail test where "next" acts like - "continue" for lynx. - - * gdb.base/interrupt.exp: xfail test for calling function while - inferior is asleep for lynx. - - * gdb.base/watchpoint.exp: Handle more cases of gdb echoing more - than one cr-lf after each command. - -Sun Jul 23 23:33:18 1995 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) - - * configure.in: Reinstate setting of stabsdirs variable, fix - 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. - -Fri Jul 21 11:39:34 1995 Jeff Law (law@snake.cs.utah.edu) - - * gdb.base/gdbvars.exp: Expect zero or more additional cr-lf - sequences to be echo'd by gdb when using gdb_test. - * gdb.chill/chexp.exp: Likewise. - * gdb.fortran/exprs.exp: Likewise - -Thu Jul 20 13:28:36 1995 Jeffrey A. Law <law@rtl.cygnus.com> - - * gdb.base/a1-selftest.exp: Reset the timeout value to 30 seconds - after the inferior gdb has started. - - * 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. - - * gdb.base/watchpoint.exp: Disable watchpoint triggered in syscall - test if we can't handle IO to/from the inferior. - - * gdb.c++/misc.exp: Always check for a program already being - started after sending a "run" command to gdb. - - * gdb.base/twice.exp: Start with a fresh gdb. - - * gdb.chill/chexp.exp: Remove skip_chill_tests check; these tests - only depend on gdb's expression code, not the chill runtime. - - * gdb.base/return.c: Put return values into variables so we - can have gdb print them rather than depending on the program - to print them. - * gdb.base/return.exp: Corresponding changes. - - * lib/gdb.exp: Provide default value for noinferiorio. - * gdb.base/interrupt.exp: Skip tests if we can't handle IO to/from - the inferior. - - * gdb.base/break.exp: Always check for a program already being - 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/commands.exp: Protect tests which need arguments with - $noargs conditionals. - -Wed Jul 19 22:42:43 1995 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) - - * gdb.base/printcmds.exp: Adjust expect patterns for addresses - of structure member arrays to match gdb/valops.c:value_addr change. - -Mon Jul 17 10:12:27 1995 Jeff Law (law@snake.cs.utah.edu) - - * gdb.base/a1-selftest.exp: Fix unmatched quotes in many timeout - cases. - -Wed Jul 12 10:20:08 1995 Fred Fish (fnf@cygnus.com) - - * configure.in (configdirs): Remove gdb.chill from default list - of subdirs and then add it back in only if doing a native build. - The current chill compiler does not yet work in any cross build. - * Revert all signal changes from Jul 6. - * 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. - -Thu Jul 6 20:58:30 1995 Fred Fish (fnf@cygnus.com) - - * configure.in (signaldirs): Define and add to configdirs for all - 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. - -Sun Jun 25 12:55:18 1995 Jeff Law (law@snake.cs.utah.edu) - - * gdb.base/interrupt.exp: Don't choke if $nointerrupts doesn't exist. - -Wed Jun 21 16:35:55 1995 Fred Fish <fnf@cygnus.com> - - * gdb.base/return.exp: Xfail `return double' test failure - on at least Solaris 2.3 and handle future/past versions on - a case by case basis as appropriate. Also update message - to include i*86 failures. - -Wed May 24 07:10:10 1995 Jim Kingdon (kingdon@lioth.cygnus.com) - - * Makefile.in: Change variable CFLAGS to TESTSUITE_CFLAGS. - - * lib/gdb.exp: Fix comment which erroneously identified - gdb_file_cmd as gdb_load (the 19 May change was in fact to - gdb_file_cmd not gdb_load). - * config/unix-gdb.exp (gdb_load): Add "upvar timeout timeout". - - * gdb.base/setvar.exp: Make test names consistent between pass and - fail cases. Use gdb_test more. - -Fri May 19 07:22:58 1995 Jim Kingdon (kingdon@lioth.cygnus.com) - - * lib/gdb.exp (gdb_load): Add "upvar timeout timeout". - -Mon May 15 23:50:51 1995 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) - - * gdb.base/help.exp: Fix expected help string for `show commands'. - -Thu May 11 07:55:11 1995 Jim Kingdon <kingdon@deneb.cygnus.com> - - * gdb.stabs/xcoff.sed: Change N_LSYM to C_DECL not C_LSYM. - - * gdb.stabs/weird.exp: Remove xfail for xcoff bitching about lack - of a text section. - -Thu May 11 15:02:24 1995 Stu Grossman (grossman@andros.cygnus.com) - - * config/monitor.exp (gdb_target_monitor): Fix loop interator so - that loop eventually terminates. Fix Connection refused logic so - that testsuite will expire nicely. - -Wed May 10 17:57:35 1995 Stu Grossman (grossman@andros.cygnus.com) - - * config/cpu32bug.exp, config/est.exp, config/hppro.exp, - 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. - -Wed May 10 16:03:23 1995 Torbjorn Granlund <tege@adder.cygnus.com> - - * Makefile.in: Make clean targets work also when SUBDIRS is empty. - -Mon May 1 07:32:48 1995 Jim Kingdon (kingdon@lioth.cygnus.com) - - * lib/gdb.exp: Disable chill tests for irix5. - -Wed Apr 26 07:36:03 1995 Jim Kingdon (kingdon@lioth.cygnus.com) - - * gdb.base/scope.exp: Make test names unique. Use gdb_test. Make - each test pass or fail. - -Sun Apr 23 21:32:32 1995 Jim Kingdon (kingdon@lioth.cygnus.com) - - * gdb.base/opaque.exp: Remove xfails for aix; print a warning if - xlc not gcc. - -Fri Apr 21 15:44:02 1995 Stu Grossman (grossman@rtl.cygnus.com) - - * cpu32bug.exp est.exp rom68k.exp: Delete. Unify into monitor.exp. - -Wed Apr 19 17:41:21 1995 Stu Grossman (grossman@cygnus.com) - - * config/est.exp: Fix copyright and comments. Remove dead code. - 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. - -Wed Apr 19 13:47:16 1995 Jim Kingdon (kingdon@lioth.cygnus.com) - - * gdb.base/watchpoint.exp: Don't run - test_watchpoint_triggered_in_syscall for sunos. - -Mon Apr 17 12:48:52 1995 Jim Kingdon (kingdon@lioth.cygnus.com) - - * gdb.base/{break.c,run.c}: Don't include vxWorks.h or stdioLib.h; - they don't seem to exist. Do include stdio.h. - -Fri Apr 14 09:40:22 1995 Jim Kingdon (kingdon@lioth.cygnus.com) - - * gdb.base/a1-selftest.exp: Add alpha xfail. - -Mon Apr 10 13:07:50 1995 Jim Kingdon (kingdon@lioth.cygnus.com) - - * gdb.base/watchpoint.c (main): Prompt before calling read(). - * gdb.base/watchpoint.exp (test_watchpoint_triggered_in_syscall): - Revise accordingly. Remove cruft about sending "123" several - times, until it gets noticed. Clean up the "print buf[0]" stuff - so that it passes or fails, and waits for prompts in the usual way. - -Sun Apr 9 09:02:36 1995 Jim Kingdon (kingdon@lioth.cygnus.com) - - * gdb.base/recurse.exp: Fix comment. - - * 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.). - - * gdb.base/bitfields.exp: Various cleanups (make each test pass or - fail, make test names unique, etc.). - -Sat Apr 8 02:47:45 1995 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) - - * gdb.base/nodebug.c: Change return type of top and middle to - 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. - -Thu Apr 6 08:54:18 1995 Jim Kingdon (kingdon@lioth.cygnus.com) - - * gdb.base/break.exp: Remove commented out if $usestubs {}. As - 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. - -Mon Apr 3 09:00:27 1995 Jim Kingdon (kingdon@lioth.cygnus.com) - - * gdb.base/break.exp: Look for different line number for - breakpoint at main depending on usestubs. - -Sun Apr 2 08:15:45 1995 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) - - * gdb.base/list.exp: Adjust some alternate expect patterns to - match recent list0.c change. Add alternate expect pattern for - output from `list default lines around main' for optimizing - compilers. - -Sat Apr 1 07:23:22 1995 Jim Kingdon (kingdon@lioth.cygnus.com) - - * lib/gdb.exp: If nosignals is not set, set it to 0. - -Fri Mar 31 16:13:48 1995 Kung Hsu <kung@mexican.cygnus.com> - - * config/slite-gdb.exp: Responds to load symbol table prompt. - * gdb.base/break.exp: Adjust line number, fix rerun. - * gdb.base/langs0.c: Add #ifdef usestubs. - -Thu Mar 30 15:36:55 1995 Kung Hsu <kung@mexican.cygnus.com> - - * gdb.base/list.exp: Adjust line contents after adding new lines in - list0.c. Also fix a syntax error. - - * lib/gdb.exp (gdb_run_cmd): Special handling for targets use stubs. - * gdb.base/break.exp: ditto. - * gdb.base/list.exp: ditto. - * gdb.base/bitfields.c: Add #ifdef usestubs in main(). - * gdb.base/run.c: ditto. - * gdb.base/list0.c: ditto. - * gdb.base/funcargs.c: ditto. - -Wed Mar 29 17:09:29 1995 Stu Grossman (grossman@cygnus.com) - - * testsuite/config/rom68k.exp (gdb_target_rom68k): Use - $targetname, $serialport and $baud instead of hardwired variables. - * testsuite/gdb.base/{sigall.exp signals.exp}: Skip these if the - target doesn't support signals. - -Wed Mar 29 12:29:34 1995 Kung Hsu <kung@mexican.cygnus.com> - - * lib/gdb.exp (runto_main): Fix regular expression bug, add return 1. - -Tue Mar 28 08:46:45 1995 Jim Kingdon (kingdon@lioth.cygnus.com) - - * gdb.base/recurse.exp: Make test names unique. Change \\(+ to \\(. - Don't rely on the value of an auto variable before it has been - initialized. Use gdb_test more. - -Mon Mar 27 08:00:34 1995 Jim Kingdon (kingdon@lioth.cygnus.com) - - * lib/gdb.exp (default_gdb_version): A version number must start - with a digit, but other than that contains all characters up to - the first whitespace character. - -Sun Mar 26 13:19:32 1995 Jim Kingdon (kingdon@lioth.cygnus.com) - - * gdb.base/commands.exp (breakpoint_command_test): New tests. - -Sat Mar 25 15:38:06 1995 Jim Kingdon (kingdon@lioth.cygnus.com) - - * gdb.c++/*.exp: Warn if executable does not exist. The original - 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. - -Sat Mar 25 01:16:10 1995 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) - - * gdb.base/list.exp: Add expect patterns for output from - SunPRO compiled executables. - * gdb.base/whatis.exp: Allow leading `signed' for all v_signed_* - types. - -Fri Mar 24 06:11:05 1995 Jim Kingdon (kingdon@lioth.cygnus.com) - - * gdb.base/break.exp (test_next_with_recursion): Accept any line - 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). - - * gdb.base/a1-selftest.exp (test_with_self): Remove comment which - apparently went with a (very) old xfail. - -Fri Mar 24 13:41:09 1995 Kung Hsu <kung@mexican.cygnus.com> - - * gdb.base/callfuncs.exp: call runto_main instead of runto main. - 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.c++/classes.exp: ditto. - * gdb.c++/inherit.exp: ditto. - * gdb.c++/templates.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. - * gdb.c++/misc.cc: ditto. - * gdb.c++/templates.cc: ditto. - -Fri Mar 24 06:11:05 1995 Jim Kingdon (kingdon@lioth.cygnus.com) - - * config/vx-gdb.exp, lib/gdb.exp: Regexp cleanups (\[(\] -> \\(, etc.). - - * gdb.base/a1-selftest.exp: Don't check for # followed by a digit - 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. - - * gdb.base/scope.exp: Make test names unique. \[(\] -> \\(. - -Thu Mar 23 14:58:35 1995 Jim Kingdon (kingdon@lioth.cygnus.com) - - * gdb.base/commands.exp (infrun_breakpoint_command_test): New test. - -Wed Mar 22 18:36:05 1995 Kung Hsu <kung@mexican.cygnus.com> - - * config/mt-slite: add LIBS and -nostdlib. - * config/slite-gdb.exp: add this new file to support sparclite target. - -Tue Mar 21 21:41:04 1995 Doug Evans <dje@canuck.cygnus.com> - - * config/vx-gdb.exp (gdb_load): Update test of vxworks_ld return code. - - * gdb.base/a2-run.exp: Change argument to istarget from - "*-*-vxworks" to "*-*-vxworks*". - * gdb.base/{break.exp,default.exp,scope.exp}: Likewise. - -Tue Mar 21 17:08:47 1995 Kung Hsu <kung@mexican.cygnus.com> - - * lib/gdb.exp: add proc runto_main, for targets that use stubs, this - will not runto main but do a 'step' to step out of breakpoint(). - * config/mt-slite: add -Dusestubs. - -Tue Mar 21 12:14:12 1995 Jim Kingdon (kingdon@lioth.cygnus.com) - - * gdb.base/printcmds.exp (test_artificial_arrays): Send ^V@ - instead of just @. - - * gdb.base/signals.exp: Add test for "handle all print". - * 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/recurse.exp: Enable test for SunOS4. xfail one test - for SunOS4 (reason for failure not investigated). Remove - redundant test for $binfile. - - * gdb.base/nodebug.c (array_index): Call malloc. - - * gdb.base/{corefile.exp,default.exp}: Make names of "up" tests unique. - -Mon Mar 20 10:08:17 1995 Jeff Law (law@snake.cs.utah.edu) - - * gdb.base/recurse.exp: Update gdb_test invocation to use new - conventions and slightly simplify the matching regexp. - -Fri Mar 17 05:43:28 1995 Jim Kingdon (kingdon@lioth.cygnus.com) - - * gdb.base/break.exp: Update gdb_test invocation to use new - convention. - - * lib/gdb.exp: If noargs is not set, set it to 0. - - * gdb.base/nodebug.exp: Comment out redundant test. Make name of - tests unique. - - * lib/gdb.exp: Skip CHILL for AIX and Solaris. - -Thu Mar 16 16:27:07 1995 Jim Kingdon (kingdon@lioth.cygnus.com) - - * gdb.base/nodebug.exp: It is OK if GDB thinks top and middle have - one argument of type "<non-float parameter>". - -Wed Mar 15 15:54:56 1995 Stu Grossman (grossman@cygnus.com) - - * config/rom68k.exp: New file to support Motorola IDP board. - * 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. - -Wed Mar 15 04:11:14 1995 Jim Kingdon (kingdon@lioth.cygnus.com) - - * gdb.base/printcmds.exp (test_character_literals_accepted): 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. - - * gdb.base/signals.exp (signal_tests_1): Make pass message - consistent with fail message. - - * gdb.base/whatis.exp: Remove xfails for printing char vs. - 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. - -Tue Mar 14 07:39:19 1995 Jim Kingdon (kingdon@lioth.cygnus.com) - - * lib/gdb.exp (gdb_test): Between $pattern and $prompt, expect - 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. - - * gdb.base/funcargs.exp: Replace \[(\]+ with \\(. The latter is - clearer and does not spuriously match multiple ('s. Likewise for - ) and *. - - * gdb.base/nodebug.exp: Test ability to call a function and pass - it a string (even with no debugging info). - - * gdb.base/printcmds.exp (test_integer_literals_rejected): Change - "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. - -Fri Mar 10 13:31:46 1995 Jim Kingdon (kingdon@lioth.cygnus.com) - - * gdb.base/a1-selftest.exp: Remove xfail for solaris. The bug (PR - 1817) was fixed literally years ago. - -Fri Mar 10 02:49:40 1995 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) - - * gdb.base/funcargs.exp (call_after_alloca): Remove `next' - 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++/templates.exp: Source templ-info.exp only if - the templates executable exists. - - * 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. - -Thu Mar 9 11:43:55 1995 Jim Kingdon (kingdon@lioth.cygnus.com) - - * gdb.base/langs2.c (cppsub_): Don't prototype. - * gdb.base/langs2.cxx (cppsub_): Fix prototype (cosmetic value - only, I believe). - -Wed Mar 8 10:29:33 1995 Jim Kingdon (kingdon@lioth.cygnus.com) - - * lib/gdb.exp (skip_chill_tests): New procedure. - - * gdb.base/signals.exp (signal_tests_1): xfail for irix. - -Mon Mar 6 10:44:06 1995 Jeff Law (law@snake.cs.utah.edu) - - * gdb.disasm/hppa.exp: Delete redundant ".*" at the beginning of - each expect pattern. Cuts runtime from 12 to about 4 seconds. - -Thu Mar 2 05:31:34 1995 Jim Kingdon (kingdon@lioth.cygnus.com) - - * gdb.base/langs.exp: Don't insist that foo__Fi be demangled. - - * gdb.disasm/hppa.exp (all_fpu_comparison_tests): Only - disassemble 8, not 16, instructions for part 4. - - * config/vx-gdb.exp (gdb_start): Use \030, not \CX. tcl doesn't - support the latter anymore. - - * gdb.base/Makefile.in: Try compiling callfuncs.c, if that fails try - -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). - -Tue Feb 28 16:28:54 1995 Kung Hsu <kung@mexican.cygnus.com> - - * config/mips-gdb.exp (gdb_load): In every test case, we need to do - 'file' command firts, then 'target', then 'load', this is due to gdb - target set up. - * config/mips-gdb.exp: Fix a couple regular exp bugs. - -Thu Feb 23 17:44:55 1995 Jeff Law (law@snake.cs.utah.edu) - - * gdb.disasm/hppa.s (fmemLRbug_tests): Add tests for the indexing - FP load/store variants. - * gdb.disasm/hppa.exp (fmemLRbug_tests): Test new variants. - -Wed Feb 22 18:29:08 1995 Jim Kingdon <kingdon@rtl.cygnus.com> - - * gdb.base/term.exp: Do not give a warning if not native, it is - not an abnormal condition. - -Tue Feb 21 13:08:47 1995 Jim Kingdon <kingdon@cygnus.com> - - * gdb.base/ptype.exp: Accept char[0] as well as char[] for "ptype - t_char_array". - -Sun Feb 19 13:10:06 1995 Jim Kingdon <kingdon@rtl.cygnus.com> - - * lib/gdb.exp (default_gdb_version): Pass GDBFLAGS to gdb when we - are getting the version number. - - * gdb.base/{a1-selftest.exp,corefile.exp}: Do not give a warning - if not native, it is not an abnormal condition. - -Thu Feb 16 15:56:56 1995 Jim Kingdon (kingdon@lioth.cygnus.com) - - * lib/gdb.exp: Just use "file exists", rather than undocumented - dejagnu procedure "findfile". - -Thu Feb 16 10:30:24 1995 J.T. Conklin <jtc@rtl.cygnus.com> - - * config/mt-vxworks (CFLAGS): Set to -g -Dvxworks. - (LDFLAGS): Set to -Xlinker -Ur. - - * Makefile.in, gdb.{base,c++,chill}/Makefile.in (GDB, GDBFLAGS): - Removed, these values are set by lib/gdb.exp. - - * lib/gdb.exp: If GDBFLAGS is unset, set it to -nx. - -Wed Feb 15 14:23:28 1995 J.T. Conklin <jtc@rtl.cygnus.com> - - * config/vx-gdb.exp (spawn_vxgdb): Use default_gdb_start instead - of replicating gdb startup code. - - * config/mt-vxworks (LDFLAGS): Set to -r. - (CFLAGS_FOR_TARGET): Removed. - - * config/vx-gdb.exp: always set prompt; gdb.exp sets it to - (gdb) and gdb for vxworks uses (vxgdb). - - * Makefile.in, gdb.{base,c++,chill}/Makefile.in (GDB): If a gdb - executable is not in the tree and host != target, use sed and - program_transform_name to determine the gdb name used by the - target. - - * configure.in, gdb.{base,c++,chill}/configure.in: changed so - *-*-vxworks* matches vxworks and *-*-netware* matches NetWare. - -Sun Feb 12 08:11:58 1995 Jim Kingdon (kingdon@lioth.cygnus.com) - - * gdb.base/{callfuncs.exp,callfuncs.c}: Add tests for passing - floats, chars, and shorts where there are ANSI-style function - definitions. - - * gdb.base/langs.exp, gdb.base/langs*: New test. - * gdb.base/Makefile.in: Build it. - * TODO: Remove item about checking that C names don't get C++ - demangling applied; this test tests it. - -Thu Feb 9 12:43:56 1995 Jim Kingdon (kingdon@lioth.cygnus.com) - - * gdb.stabs/weird.exp: Remove "Haven't examined" comment which - went with the const70 xfail. The xfail went away a year ago. - - * gdb.base/signals.exp: Rename a bunch of tests to give unique names. - - * gdb.base/corefile.exp: Give backtrace test unique name. xfail - for hp300. - - * gdb.base/interrupt.exp: Also xfail hpux (for hp300). - - * gdb.base/a1-selftest.exp: Don't run on hp300. - -Sat Feb 4 15:04:32 1995 Jim Kingdon (kingdon@lioth.cygnus.com) - - * Makefile.in (site.exp): Set host_alias and target_alias as well - as host_triplet and target_triplet. - -Wed Feb 1 08:03:48 1995 Jim Kingdon (kingdon@lioth.cygnus.com) - - * gdb.base/a1-selftest.exp: Invoke stty before starting inferior. - - * gdb.base/nodebug.exp: Add xfails for ultrix and irix5 (same - places as other ecoff systems). - - * gdb.base/a1-selftest.exp (test_with_self): Don't invoke stty on - ultrix. - -Mon Jan 30 11:44:52 1995 Jim Kingdon (kingdon@lioth.cygnus.com) - - * gdb.base/nodebug.c (inner): Use variables so AIX linker doesn't - 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. - - * gdb.base/list.exp (test_forward_search): Set listsize to 4 not - 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. - -Sun Jan 29 13:34:25 1995 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) - - * gdb.base/signals.exp: Reinitialize searched source directories - after gdb_start call. - -Sat Jan 28 01:34:44 1995 Jeff Law (law@snake.cs.utah.edu) - - * gdb.disasm/Makefile.in (clean): Delete "errs" file. - * gdb.stabs/Makefile.in: Likewise. - - * gdb.disasm/hppa.exp (all_fpu_comparison_tests): Revert last - change. Instead split the tests into smaller pieces. - * gdb.disasm/hppa.s: Corresponding changes. - -Fri Jan 27 09:24:51 1995 Jim Kingdon (kingdon@lioth.cygnus.com) - - * gdb.base/a1-selftest.exp (test_with_self), gdb.base/interrupt.exp: - Quote ^C when passing it to stty. For some shells ^ is a pipe. - - * gdb.base/funcargs.exp: Modify many tests so that every test - either passes or fails. Make some test names unique. - -Thu Jan 26 19:20:34 1995 Jim Kingdon (kingdon@lioth.cygnus.com) - - * gdb.base/a1-selftest.exp (test_with_self), gdb.base/interrupt.exp: - Call stty to set interrupt character. - - * gdb.disasm/hppa.mt (hppa), gdb.stabs/hppa.mt (weird.o): Check - for HP assembler versus GNU assembler based on actual behavior of - $(CC), rather than assuming that $(AS) is always the GNU assembler. - - * TODO: Suggest a few more stepping tests. - -Wed Jan 25 14:52:41 1995 Stan Shebs <shebs@andros.cygnus.com> - - * gdb.base/default.exp: xfail no-stack backtraces for h8300, - 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. - -Wed Jan 25 11:12:07 1995 Jim Kingdon (kingdon@lioth.cygnus.com) - - * gdb.disasm/hppa.exp (all_fpu_comparison_tests): Set timeout - higher, these tests generate a lot of output. - -Tue Jan 24 07:58:44 1995 Jim Kingdon (kingdon@lioth.cygnus.com) - - * lib/gdb.exp (gdb_test): Remove catch from around the send. The - 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. - -Mon Jan 23 21:57:54 1995 Jeff Law (law@snake.cs.utah.edu) - - * gdb.base/commands.exp: Make test names unique; every test either - passes or fails. Update some comments. - - * gdb.disasm/hppa.exp (do_system_control_tests): Update. - -Sat Jan 21 15:34:52 1995 Jim Kingdon (kingdon@lioth.cygnus.com) - - The following fixes a FAIL caused by the fact that the alpha stabs - 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. - - * gdb.c++/cplusfuncs.exp (test_lookup_operator_functions): Fix - 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.base/nodebug.exp: xfail most of the new tests for ecoff systems. - -Fri Jan 20 12:14:23 1995 Jim Kingdon (kingdon@lioth.cygnus.com) - - * gdb.c++/classes.exp, gdb.c++/cplusfuncs.exp, - 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. - -Tue Jan 17 10:47:53 1995 Jim Kingdon <kingdon@lioth.cygnus.com> - - * gdb.base/nodebug.exp: Update new tests to reflect improved - wording of gdb output. - - * gdb.base/nodebug.exp: Add tests to check that "print", "whatis" - and "ptype" work on variables in files compiled without -g. - Replaces commented out "maint print msymbol" tests. - -Mon Jan 16 12:13:28 1995 Jim Kingdon <kingdon@lioth.cygnus.com> - - * gdb.base/setvar.c (dummy): Call malloc. - - * gdb.stabs/aout.sed: Enclose comments within a sed command to avoid - losing with the irix4 sed. - - * gdb.base/sigall.exp (test_one_sig): Add xfail for "get signal - ALRM" on irix4. - -Sun Jan 15 21:58:26 1995 Jim Kingdon <kingdon@lioth.cygnus.com> - - * TODO: Remove items about corefile.exp testing new exec-file and - backtrace; both are now done. Add items about printing enums. - -Sat Jan 14 11:25:28 1995 Jim Kingdon <kingdon@lioth.cygnus.com> - - * gdb.base/sigall.exp (test_one_sig): Attempt to recover if - "get signal $thissig" test fails. - - * gdb.base/setvar.exp: Check for and reject crazy expected type hacks. - -Thu Jan 12 01:14:53 1995 Jim Kingdon <kingdon@lioth.cygnus.com> - - * gdb.base/sigall.c (gen_*): Pass argument to handle_* to avoid - 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. - - * gdb.base/sigall.exp: Add workaround for alpha weirdness. - - * gdb.base/help.exp: Don't test "help show". - -Wed Jan 11 14:37:04 1995 Jim Kingdon <kingdon@lioth.cygnus.com> - - * gdb.base/commands.exp: Call gdb_exit and gdb_start so that - "set print address" is on. - * gdb.base/commands.exp (if_while_breakpoint_command_test): Don't - pass prompt to gdb_test; gdb_test already looks for the prompt. - - * gdb.base/help.exp: Replace most of docstring for "define" with ".*". - - * gdb.base/a1-selftest.exp: Don't test "maint dump-me". That test - 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. - -Wed Jan 11 00:14:40 1995 Jeff Law (law@snake.cs.utah.edu) - - * gdb.base/commands.exp: Test a simple user defined command with - arguments and if/while statements; verify the full user command is - printed by "show user". - - * gdb.base/commands.exp: Test if/while commands as part of a - breakpoint command list; verify they appear in breakpoint - information. - -Wed Jan 11 00:47:58 1995 Jim Kingdon <kingdon@lioth.cygnus.com> - - * gdb.base/sigall.c (gen_FPE): Generate SIGFPE with kill() rather - than by dividing by zero. - -Tue Jan 10 21:38:05 1995 Jeff Law (law@snake.cs.utah.edu) - - * gdb.base/watchpoint.exp: hppa*-*-*bsd* no longer has problems - performing an inferior call with watchpoints enabled. - * gdb.base/watchpoint.c (main): Delete second unnecessary read - call. - -Tue Jan 10 18:42:07 1995 Jim Kingdon <kingdon@lioth.cygnus.com> - - * gdb.stabs/weird.exp: Allow spaces followed by backspaces in echo - of "file" command. - - * gdb.c++/classes.exp (test_ptype_class_objects, ptype class Foo): - Add additional pattern for when "int operator int(void);" appears - in a different order. - -Mon Jan 9 16:22:46 1995 Jim Kingdon <kingdon@lioth.cygnus.com> - - * gdb.base/signals.exp: Call gdb_exit and gdb_start. - - * gdb.base/help.exp: Replace most of docstrings for "info signals" - and "signal" with ".*". - -Wed Jan 4 11:35:19 1995 Jim Kingdon (kingdon@lioth.cygnus.com) - - * TODO: Add note about "handle all nostop". - - * gdb.base/{sigall.c, sigall.exp}: New test. - * gdb.base/Makefile.in: Add it. - -Thu Jan 5 17:34:03 1995 Stan Shebs <shebs@andros.cygnus.com> - - * lib/gdb.exp, gdb.base/corefile.exp: Supply -nw as argument - when invoking GDB, suppresses any windowing interface. - -Mon Jan 2 17:40:21 1995 Stan Shebs <shebs@andros.cygnus.com> - - * config/sim-gdb: New file, simulator testing support. - -Wed Dec 28 12:21:50 1994 Jeff Law (law@snake.cs.utah.edu) - - * gdb.base/interrupt.exp: Test calling func1 twice. - -Wed Dec 21 12:51:37 1994 Jim Kingdon <kingdon@deneb.cygnus.com> - - * gdb.base/list.exp (test_forward_search): Set timeout higher - 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. - -Tue Dec 20 12:35:21 1994 Jim Kingdon (kingdon@lioth.cygnus.com) - - * gdb.base/printcmds.exp: New test, for printing register before - program is running. - -Mon Dec 19 00:32:55 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) - - * gdb.base/list.exp: Correct some alternate expect patterns - to reflect changes in list1.c. - -Sat Dec 17 14:20:03 1994 Jim Kingdon (kingdon@lioth.cygnus.com) - - * TODO: Add item regarding large frames. - - * gdb.base/{funcargs.exp, funcargs.c} (call_after_alloca): New test. - - * TODO: Remove item about enabling return.exp; it - is enabled. Suggest a few more "return" tests. - -Sat Dec 17 02:33:37 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) - - * gdb.c++/misc.cc, gdb.c++/inherit.exp: Add testcases for - anonymous unions. - -Tue Dec 13 11:26:00 1994 Jim Kingdon (kingdon@lioth.cygnus.com) - - * gdb.chill/Makefile.in: Put all rule before rules for pr-4975.o - and pr-5646.o, so "make" is the same as "make all", not "make - pr-4975.o". - -Wed Dec 7 19:02:02 1994 Stan Shebs <shebs@andros.cygnus.com> - - * gdb.base/list.exp: Adjust expectations to reflect changes in - list1.c. - (test_forward_search): New test proc. - * gdb.base/list1.c (long_line): New function, has long source line. - -Thu Dec 1 23:14:49 1994 Stan Shebs <shebs@andros.cygnus.com> - - * gdb.base/a1-selftest.exp: Change initial stepping to know about - additional line of code that was added. - -Wed Nov 30 19:43:14 1994 Jeff Law (law@snake.cs.utah.edu) - - * gdb.disasm/hppa.s: Break the large branching tests into smaller - tests so as not to overflow expect's input buffers. - * gdb.disasm/hppa.exp: Corresponding changes. - -Fri Nov 25 13:37:10 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) - - Beginnings of template debugging tests. - * 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. - -Sat Nov 5 00:20:17 1994 Jeff Law (law@snake.cs.utah.edu) - - * gdb.disasm/hppa.exp (branch_tests): Allow any symbol as the - branch target since some assemblers (gas-2.5) may emit a - relocation for the branch instead of resolving it in the - assembler. - -Sat Oct 29 02:40:40 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) - - * gdb.base/a1-selftest.exp: Remove RS/6000 xfail for backtrace - through signal handler. - -Fri Oct 21 11:10:16 1994 J.T. Conklin (jtc@phishhead.cygnus.com) - - * configure.in (*-*-netware): Use config/mt-netware. - - * 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. - -Sat Oct 15 03:43:00 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) - - * gdb.base/exprs.exp: Remove xfail for alpha, it is fixed - by the recent changes to use ANSI C arithmetic conversions. - -Sun Oct 9 07:44:06 1994 Jim Kingdon (kingdon@lioth.cygnus.com) - - * gdb.base/corefile.exp: Add (xfail'd) test for reinit_frame_cache - bug involving using inferior_pid to figure out whether to select a - frame. - -Wed Sep 28 23:12:02 1994 Jeff Law (law@snake.cs.utah.edu) - - * gdb.disasm/hppa.exp: Change arg[0..3] to r[26..23] to - match the current disassembler output. - -Fri Sep 16 11:42:41 1994 Stan Shebs (shebs@andros.cygnus.com) - - * gdb.fortran/exprs.exp: Expect VOID instead of void. - * gdb.fortran/types.exp: Escape the expected '*'s in Fortran - types, expect "int" as type of integer values (for now). - -Wed Sep 7 23:33:51 1994 Jeff Law (law@snake.cs.utah.edu) - - * gdb.base/commands.exp: New tests for if/while commands. - -Tue Sep 6 13:16:11 1994 Per Bothner (bothner@kalessin.cygnus.com) - - * lib/gdb.exp (runto): Replace sub-pattern for hex value - by .*, since hex values have different syntax in Chill mode. - -Tue Sep 6 02:15:51 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) - - * gdb.c++/demangle.exp (test_arm_style_demangling): Remove - linefeed from expect pattern for repeated types with indices > 9. - -Mon Aug 29 14:20:44 1994 Stan Shebs (shebs@andros.cygnus.com) - - First part of Fortran test suite. - * gdb.fortran: New directory. - * gdb.fortran/exprs.exp, gdb.fortran/types.exp: New files. - -Sat Aug 27 23:32:43 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) - - * gdb.base/default.exp: Update expect pattern for load command - without arguments. - -Wed Aug 24 13:15:02 1994 Ian Lance Taylor (ian@sanguine.cygnus.com) - - * configure.in: Change i386 to i[345]86. - * gdb.base/configure.in: Likewise. - * gdb.c++/configure.in: Likewise. - * gdb.chill/configure.in: Likewise. - -Tue Aug 23 19:14:06 1994 Stan Shebs (shebs@andros.cygnus.com) - - * lib/gdb.exp (gdb_run_cmd): Move comment out from between expect - patterns, since that is not a valid context for comments. - -Fri Aug 19 15:07:30 1994 Kung Hsu (kung@mexican.cygnus.com) - - * gdb.c++/demangle.exp (test_arm_style_demangling): Add tests for - repeated types and repeated types with indices > 9. - -Tue Aug 16 15:57:52 1994 Stan Shebs (shebs@andros.cygnus.com) - - * gdb.base/printcmds.exp: Remove all the a29k XFAILs tagged with - 2417; old bug has been fixed. - -Fri Aug 12 19:35:41 1994 Jeff Law (law@snake.cs.utah.edu) - - * gdb.base/interrupt.exp: When trying to wake up the inferior, - send the newline ourselves instead of assuming gdb_test will do - so when passed an empty input string. - - * gdb.stabs/hppa.mt: Use $(AS), not $(CC) to assemble the - stabs testcode. - -Fri Aug 5 17:01:07 1994 J.T. Conklin (jtc@phishhead.cygnus.com) - - * lib/gdb.exp (gdb_test): Don't send anything if the first - argument is an empty string. This makes cases where we want to - match output that is already in expect's buffers (for example, - matching a breakpoint after gdb_run_cmd has been called) work - reliably. - -Tue Aug 2 10:24:08 1994 J.T. Conklin (jtc@phishhead.cygnus.com) - - * config/netware.exp: New file. - -Thu Jul 28 12:54:07 1994 J.T. Conklin (jtc@phishhead.cygnus.com) - - * config/mt-slite (LDFLAGS): If using the newlib in the tree, set - the -B and -L prefixes so we can find the debugging stub. - - * Makefile.in (CC_FOR_TARGET, CXX_FOR_TARGET): Use newlib if it is - there and we are using the gcc from the tree. - - * gdb.base/types.c: Removed. - - * gdb.base/configure.in: Look for makefile fragments in ../config. - Recognize i386-*-netware. - * gdb.c++/configure.in: Likewise. - -Mon Jul 25 23:48:50 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) - - * gdb.base/corefile.exp: Change `else if' to `elseif', which is - the correct TCL syntax. - -Mon Jul 25 15:35:56 1994 J.T. Conklin (jtc@phishhead.cygnus.com) - - * gdb.base/opaque.exp: use runto instead of messing around with - breakpoints. Simplify by using gdb_test. - - * 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. - -Sun Jul 24 09:55:51 1994 Fred Fish (fnf@cygnus.com) - - * Makefile.in: Remove extra tabs that confuse some versions - of "make". Use the newly built gdb to test with by default, - rather than the first one in the tester's search path. - -Sat Jul 23 15:05:47 1994 Stan Shebs (shebs@andros.cygnus.com) - - * gdb.base/whatis.exp (v_signed_short_array): Fix a typo. - - * gdb.base/help.exp: Update expected add-symbol-file, ignore, and - condition help. - -Tue Jul 19 10:26:32 1994 J.T. Conklin (jtc@phishhead.cygnus.com) - - * lib/gdb.exp (runto): Rewrite in terms of gdb_run_cmd. - - * lib/gdb.exp (gdb_run_cmd): New function, used to start program - running. - * gdb.base/bitfields.exp: Use gdb_run_cmd to start program. - * gdb.base/funcargs.exp: Likewise. - - * gdb.base/bitfields.exp: Simplify by using gdb_test. - * gdb.base/funcargs.exp: Likewise. - - * lib/gdb.exp (gdb_test): if match times out, don't call fail if - message is "". - -Mon Jul 18 12:18:07 1994 J.T. Conklin (jtc@phishhead.cygnus.com) - - * gdb.base/{a2-run,callfuncs,funcargs,interrupt,mips_pro,nodebug, - return,signals,twice}.exp: Handle non-existant binaries - consistantly. - - * gdb.base/corefile.exp: Execute coremaker to generate core dump. - * gdb.base/Makefile.in: Don't try to generate a core dump, we - might testing a cross development system. - -Thu Jul 14 18:13:56 1994 J.T. Conklin (jtc@phishhead.cygnus.com) - - * Makefile.in (RUNTEST_FOR_TARGET): Fix relative pathname, the - runtest script is relative to ${srcdir}, not ${rootdir}. - -Thu Jul 14 14:56:59 1994 Stan Shebs (shebs@andros.cygnus.com) - - * gdb.base/signals.exp: Allow for optionality of breakpoint - address. - -Thu Jul 14 11:21:27 1994 Jim Kingdon (kingdon@lioth.cygnus.com) - - * gdb.base/{ptype.exp,ptype.c}: Add t_char_array test. - -Tue Jul 12 12:22:32 1994 J.T. Conklin (jtc@phishhead.cygnus.com) - - * gdb.c++/cplusfuncs.cc: Include <stddef.h>, not <sys/types.h>, - for size_t definition. - * gdb.c++/templates.cc: Likewise - - * config/mt-i386-netware: New file. - - * gdb.base/interrupt.c: Do not test if errno == EINTR if it's not - defined. - - * gdb.base/Makefile.in: Added support for systems that name core - files by appending "core" to the program name. - * gdb.base/a1-selftest.exp: Likewise. - -Mon Jul 11 23:59:18 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) - - * gdb.base/return.exp: Add comment and message for `return double' - test failure on Sparc Solaris. - -Mon Jul 4 12:10:48 1994 Stan Shebs (shebs@andros.cygnus.com) - - * lib/gdb.exp (runto): Allow for optionality of breakpoint address. - -Wed Jun 29 00:26:17 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) - - * gdb.c++/misc.cc: Instantiate classes to inhibit the compiler - 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. Accept any cplus demangling - character in the output of the virtual base pointer. - -Fri Jun 24 08:15:42 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) - - * gdb.c++/cplusfuncs.exp: Use string_to_regexp and a regular - expression match in print_addr_of to avoid unintented matches. - * gdb.c++/virtfunc.exp: Accept alternate ptype output of g++ - versions up to 2.5.8. - -Mon Jun 20 23:54:37 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) - - * gdb.base/list.exp: Tweak alternate pattern for listing of an - 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. - -Sat Jun 18 12:51:34 1994 Stan Shebs (shebs@andros.cygnus.com) - - * lib/gdb.exp (string_to_regexp): Set a default result. - (default_gdb_start): Fix misleading message. - -Wed Jun 15 12:10:10 1994 Stan Shebs (shebs@andros.cygnus.com) - - * config/mt-a29k-udi, config/mt-i960-nindy, config/mt-sparc-aout: - Remove all CC, etc definitions. - * config/mt-hpux: New file. - * config/mt-mips-ecoff (CFLAGS_FOR_TARGET): Remove: - (CFLAGS, LDFLAGS): Define. - * config/mt-slite (CFLAGS_FOR_TARGET): Change to LDFLAGS. - - * 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. - -Fri Jun 10 10:55:09 1994 Jeff Law (law@snake.cs.utah.edu) - - * gdb.base/recurse.exp: Misc changes to get tests running again - after Kung's changes to the watchpoint code. - * gdb.base/watchpoint.exp: Likewise. - -Thu Jun 9 15:16:55 1994 Per Bothner (bothner@kalessin.cygnus.com) - - * lib/gdb.exp (string_to_regexp): Convert {\} also. - -Wed Jun 8 12:12:17 1994 Stan Shebs (shebs@andros.cygnus.com) - - * config/udi-gdb.exp, config/unix-gdb.exp: Call default_gdb_start. - * lib/gdb.exp (default_gdb_start): Define. - * gdb.base/bitfields.exp, gdb.base/break.exp, gdb.base/exprs.exp, - gdb.base/funcargs.exp, gdb.base/opaque.exp, - gdb.base/printcmds.exp, gdb.base/ptype.exp, gdb.base/recurse.exp, - gdb.base/scope.exp, gdb.base/setvar.exp, gdb.base/watchpoint.exp, - gdb.c++/classes.exp, gdb.c++/misc.exp, gdb.c++/virtfunc.exp: - Don't call gdb_target_udi in between tests. - -Tue Jun 7 08:30:15 1994 Jim Kingdon (kingdon@lioth.cygnus.com) - - * gdb.c++/demangle.exp: Use gdb_test_exact, rather than demangle - (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. - - * lib/gdb.exp (delete_breakpoints): If there were no breakpoints, - don't give an error. - - * gdb.base/term.exp: Call delete_breakpoints before starting. - - * gdb.base/Makefile.in (EXECUTABLES): Remove t10. - (t10): Add comment. - -Mon Jun 6 18:26:50 1994 Stan Shebs (shebs@andros.cygnus.com) - - 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. - -Fri Jun 3 18:56:06 1994 Per Bothner (bothner@kalessin.cygnus.com) - - Various changes to gdb.t31: - - * Makefile.in (gdbme.o): Compile with -fspecial_UC. - * gdbme.ch: Make all key-words and predefineds be upper-case. - * chillvars.exp: Expect key-words and predefinds in upper-case. - - * chillvars.exp: Use gdb_test_exact many places. - Change expected output for arrays (which now includes index labels). - - * pr-5020.exp, gdme.ch (module PR_5020): - New test, for PR-5020. - -Thu Jun 2 16:02:41 1994 Per Bothner (bothner@kalessin.cygnus.com) - - * lib/gdb.exp (string_to_regexp, gdb_test_exact): New procedures. - * Makefile.in (CHILL_LIB): Remove bogus redundant definitions. - -Sun May 29 22:31:42 1994 Per Bothner (bothner@kalessin.cygnus.com) - - * Makefile.in: Fix bit-rot in definitions of CHILL, - CHILL_FOR_TARGET and Chill_LIB. - * gdb.t31/gdbme.ch: Fix syntax of nested array tuples. - * gdb.t31/Makefile.in: Add definitions for CHILLFLAGS, - CHILL, and CHILL_LIB. - -Sat May 21 10:05:08 1994 Bill Cox (bill@rtl.cygnus.com) - - * Revert the previous changes. Please see Rob's directory - /lisa/test/rob/progressive/gdb/testsuite for these fixes. - -Thu May 19 12:51:00 1994 Bill Cox (bill@rtl.cygnus.com) - - * Makefile.in, configure.in, config/mips-gdb.exp, - config/mt-a29k-udi, config/mt-i386-aout, config/mt-i960-nindy, - config/mt-sparc-aout, config/udi-gdb.exp, config/unix-gdb.exp, - config/unknown.exp, gdb.t00/default.exp, gdb.t00/help.exp,, - gdb.t00/teststrategy.exp, gdb.t01/Makefile.in, gdb.t02/Makefile.in, - gdb.t02/whatis.exp, gdb.t03/Makefile.in, gdb.t03/gdbme.c, - gdb.t04/Makefile.in, gdb.t05/Makefile.in, gdb.t06/Makefile.in, - gdb.t06/break.exp, gdb.t06/signals.c, gdb.t06/signals.exp, - gdb.t08/Makefile.in, gdb.t08/opaque.exp, gdb.t09/Makefile.in, - gdb.t10/Makefile.in, gdb.t11/Makefile.in, gdb.t12/Makefile.in, - gdb.t13/Makefile.in, gdb.t15/Makefile.in, gdb.t15/funcargs.exp, - gdb.t15/gdbme.c, gdb.t15/return.exp, gdb.t16/Makefile.in, - gdb.t17/Makefile.in, gdb.t17/callfuncs.exp, gdb.t17/gdbme.c, - gdb.t20/Makefile.in, gdb.t21/Makefile.in, gdb.t21/cplusfuncs.exp, - gdb.t22/Makefile.in, gdb.t22/virtfunc.exp, gdb.t23/Makefile.in, - gdb.t24/demangle.exp, lib/gdb.exp: Check in Rob's testing - changes from 94Q1. - -Wed May 18 17:04:03 1994 Bill Cox (bill@rtl.cygnus.com), - - * config/mt-lynx, config/mt-m68k, config/mt-mips-ecoff, - config/mt-slite, config/mt-unix, config/mt-vxworks: Add - Rob's new testing fragments. - -Tue May 17 15:04:14 1994 Bill Cox (bill@rtl.cygnus.com) - - * config/mips-gdb.exp, config/udi-gdb.exp, config/vx-gdb.exp, - lib/gdb.exp: Replace error proc calls with perror. - -Mon May 16 19:00:50 1994 Stan Shebs (shebs@andros.cygnus.com) - - * 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. - -Fri May 13 18:00:27 1994 Bill Cox (bill@rtl.cygnus.com) - - * config/mt-i960-vx (LDFLAGS): Add '-r' option for test links. - (CFLAGS): Delete it from here. - -Tue May 3 16:08:09 1994 Kung Hsu (kung@mexican.cygnus.com) - - * gdb.t22/virtfunc.exp: Fix g++ ptype expected outputs. - -Fri Apr 29 14:26:35 1994 Stan Shebs (shebs@andros.cygnus.com) - - * Makefile.in (RUNTEST): Default to just "runtest". - -Tue Apr 26 22:21:40 1994 Jeffrey A. Law (law@snake.cs.utah.edu) - - * gdb.t17/callfuncs.exp: More comments about t_func_values tests. - * gdb.t17/gdbme.c (t_func_values): Add comments about how and why - the code has been restructured. - -Thu Apr 21 12:48:07 1994 Jim Kingdon (kingdon@lioth.cygnus.com) - - * gdb.t00/default.exp (set write): Allow any number of \r and/or - \n, not just one of each. - - * gdb.t07/gdbme.c (main): Don't take address of an array; SunOS4 - /bin/cc gives a warning if you do. - -Thu Apr 21 11:54:04 1994 Kung Hsu (kung@mexican.cygnus.com) - - * gdb.t24/demangle.exp: change expect pattern of - __t10ListS_link1ZUiRCUiPT0 - -Wed Apr 13 15:05:00 1994 Jeffrey A. Law (law@snake.cs.utah.edu) - - * gdb.t07/{recurse.exp, recurse.c}: New tests for watchpoints - on local variables in recursive functions. - - * gdb.t07/Makefile.in: Build the new test. - -Tue Apr 12 20:45:25 1994 Jeffrey A. Law (law@snake.cs.utah.edu) - - * gdb.t17/gdbme.c (t_func_values): Do not compare function pointers - directly. Instead compare the return values from actual calls. - -Mon Apr 11 10:31:00 1994 Bill Cox (bill@rtl.cygnus.com) - - * Makefile.in (check): Set TCL_LIBRARY for runtest. - -Mon Apr 11 09:15:30 1994 Jeffrey A. Law (law@snake.cs.utah.edu) - - * From Peter Schauer with minor modifications. - * gdb.t15/return.exp (return_tests): Handle targets where "return" - stops in mid-line in the caller. Add xfail for returning a float - value on X86 targets. - -Tue Apr 5 15:16:33 1994 Jeffrey A. Law (law@snake.cs.utah.edu) - - * gdb.disasm/hppa.exp (fcmp_tests): Break up into two halves - to avoid expect lossage. - (fmem_LRbug_tests): Likewise. - * gdb.disasm/hppa.s: Corresponding changes. - - * gdb.disasm/hppa.exp: Rework escape sequences and end-of-line - conditions to work with latest dejagnu/expect. - - * gdb.t15/funcargs.exp (finish from indirect call): No longer - expected to fail on the PA. - (backtrace in call with trampolines): Explicitly require main - to be frame #1 (no trampolines should show up in backtrace). - - * gdb.t00/default.exp: Use "exp_continue" rather than obsolete - "continue -expect". - * gdb.t06/break.exp: Likewise. - * gdb.t07/watchpoint.exp: Likewise. - * gdb.t13/bitfields.exp: Likewise. - * gdb.t15/{funcargs,return}.exp: Likewise. - * gdb.stabs/weird.exp: Likewise. - * config/{mips,udi}-gdb.exp: Likewise. - - * hppa.sed: Enclose comments within a sed command to avoid - losing with the old OSF1 sed. - -Wed Mar 30 00:31:49 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) - - * gdb.t02/whatis.exp, gdb.t08/opaque.exp: Add XFAILs for - sequent dynix. - * gdb.t06/signals.exp: Add clear_xfail for sequent dynix. - * gdb.t15/funcargs.exp: Conditionally step again to really - finish from marker_call_with_trampolines. Handle the case where - the first step from within call_with_trampolines already steps - us back to main. - * gdb.t15/gdbme.c: Add comment to closing brace of - call_with_trampolines for funcargs.exp. - -Tue Mar 29 23:55:27 1994 Jeffrey A. Law (law@snake.cs.utah.edu) - - * gdb.t07/watchpoint.exp (test_watchpoint_triggered_in_syscall): - Fix typo(s). - -Sun Mar 27 16:53:14 1994 Jeffrey A. Law (law@snake.cs.utah.edu) - - * gdb.t07/gdbme.c: More code for watchpoint testing. - - * gdb.t07/watchpoint.exp: Accept both "Watchpoint" and - "Hardware watchpoint" throughout file. - (test_watchpoint_triggered_in_syscall): New test. - (test_complex_watchpoint): New test. - -Fri Mar 25 17:05:31 1994 Jeffrey A. Law (law@snake.cs.utah.edu) - - * gdbme.c (call_with_trampolines): New function to try and step - into. Tests trampoline problems on the PA. - - * funcargs.exp (localvars_in_indirect_call): No longer expect - stepping into indirect call to fail on PAs. - (test_stepping_over_trampolines): New test. - -Wed Mar 23 07:43:33 1994 Jim Kingdon (kingdon@lioth.cygnus.com) - - * TODO: Add suggestions for static member function tests, and - completion tests. - -Wed Mar 16 08:28:28 1994 Jim Kingdon (kingdon@lioth.cygnus.com) - - * TODO: Add suggestions for "p/a" tests. - - * lib/gdb.exp: Set prompt to (gdb) if it isn't already set. - (default_gdb_exit): Replace all the hair with sending "quit" to - the process with a simple close. - -Tue Mar 15 08:45:50 1994 Jim Kingdon (kingdon@lioth.cygnus.com) - - * TODO: Add suggestions for shared library tests. - -Sun Mar 13 10:45:22 1994 Jim Kingdon (kingdon@lioth.cygnus.com) - - * TODO: Add suggestions for x/s tests. - -Fri Mar 11 08:22:00 1994 Jim Kingdon (kingdon@lioth.cygnus.com) - - * gdb.t00/help.exp: Replace most of docstrings for "tbreak", - "enable once", and "enable breakpoints once" with ".*". - -Thu Mar 10 08:34:27 1994 Jim Kingdon (kingdon@lioth.cygnus.com) - - * TODO: Add suggestions about structure passing tests. - -Mon Mar 7 13:45:54 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) - - * gdb.t03/gdbme.c: gcc version 1 puts out the wrong stabs for - the primary1 test, use work around if __GNUC__ < 2. - * gdb.t06/signals.c: Add comments for signals.exp pattern matching. - * gdb.t06/signals.exp: Add XFAILs for i386 bsd and vax ultrix. - Test for bad output rather than waiting for timeout. Issue - second continue only if first continue failed. - -Wed Mar 2 10:08:01 1994 Jim Kingdon (kingdon@deneb.cygnus.com) - - * gdb.t21/cplusfuncs.exp (test_paddr_operator_functions): Do - operator[] test with gdb_test because the old code didn't seem to - be getting the quoting right with the new dejagnu. - -Thu Feb 24 19:49:25 1994 Rob Savoye (rob@poseidon.cygnus.com) - - * lib/gdb.exp: Set GDB to a fresh gdb if there is one, else use - one from the path. - * Makefile.in: Use a fresh expect if there is one, use runtest - from the src tree if there is one. - -Thu Feb 24 18:49:37 1994 Jim Kingdon (kingdon@deneb.cygnus.com) - - * gdb.t06/break.exp (test_next_with_recursion): Remove xfail for - next over recursive call. Revise the tests from that point on - (which had been skipped) to match GDB's actual (correct) output. - - * gdb.t07/watchpoint.exp (test_stepping): Remove xfail for bug - with next over a breakpoint whose condition is false. - - * gdb.t00/help.exp: Comment out "help set print" tests just like - (and for same reason as) "help set" test. - -Mon Feb 14 09:58:23 1994 Jeffrey A. Law (law@snake.cs.utah.edu) - - * gdb.disasm/hppa.s (fmemLRbug_tests): New tests. - * gdb.disasm/hppa.exp (fmemLRbug_tests): Run them. - -Sun Feb 6 15:36:13 1994 Jim Kingdon (kingdon@lioth.cygnus.com) - - * gdb.t06/break.exp (test_next_with_recursion): Remove no longer - necessary gdb_target_udi. - - * gdb.t03/ptype.exp: For UDI, skip tests which call malloc. - - * gdb.t02/whatis.exp, gdb.t03/ptype.exp: Remove xfails for PRs - 1838 and 2417; they are fixed. - - * gdb.t02/whatis.exp (v_char_array, v_signed_char_array), - gdb.t03/ptype.exp (ptype structure, ptype union): - Remove xfails; the test is looser than when the xfails were added. - - * gdb.t00/{help.exp,default.exp}: Don't test "target remote" on UDI. - * gdb.t00/help.exp: Don't expect remote to be in "help target" output. - - * gdb.t01/run.exp: Only run shell test if isnative. - - * config/udi-gdb.exp (gdb_load): Use "file", not "load" command, - since "run" automatically loads if necessary. Call gdb_target_udi - after the "file" since "file" kills any execution target. - - * config/udi-gdb.exp (gdb_start): Don't send "set args main" to - GDB. GDB doesn't work that way (not anymore at least) on UDI. - * gdb.t01/run.exp, gdb.t06/break.exp: Don't pass extra first - argument for UDI. - -Fri Feb 4 12:19:32 1994 Jim Kingdon (kingdon@deneb.cygnus.com) - - * gdb.t17/interrupt.c: If we get EINTR, don't print an error message. - - * gdb.t17/callfuncs.exp: Add xfails for rs6000. - -Sat Feb 5 09:11:56 1994 Jim Kingdon (kingdon@lioth.cygnus.com) - - * gdb.t24/demangle.exp: Re-write demangle to just call gdb_test, - properly quoting regexps. This makes the second argument to - demangle a fixed string, which matches the callers, instead of a - shell-style pattern which is what the previous implementation - used. Update some of the callers. - -Sat Feb 5 10:19:09 1994 Jeffrey A. Law (law@snake.cs.utah.edu) - - * gdb.disasm/hppa.s (comib_tests): Add missing instruction. - (comib_nullified_tests): Fix typo. - * gdb.disasm/hppa.exp (all comb tests): Fix thinkos in expect - strings. No longer expected to fail. - - * gdb.disasm/hppa.s (addib_tests): Fix typo. - * gdb.disasm/hppa.exp (all addb tests): Fix thinkos in expect - strings. No longer expected to fail. - - * gdb.disasm/hppa.exp (fmpy_addsub_tests): Fix typo in expect - string. No longer expected to fail. - -Fri Feb 4 23:45:11 1994 Jeffrey A. Law (law@snake.cs.utah.edu) - - * gdb.disasm/hppa.exp (fcmp_tests): Fix thinko in expect string. - No longer expected to fail. - - * gdb.disasm/hppa.exp (xmpyu_tests): Fix buglet in expect - string. No longer expected to fail. - -Fri Feb 4 10:35:42 1994 Jim Kingdon (kingdon@lioth.cygnus.com) - - * gdb.t24/demangle.exp: Remove a bunch more tests which differ - only in the names (I probably got most of them). I was even - generous with some which differed in underscores in names, and - probably missed a few, and I *still* was able to remove almost a - third of the file with almost no impact on testsuite coverage. - -Thu Feb 3 12:04:49 1994 Jim Kingdon (kingdon@lioth.cygnus.com) - - * gdb.t00/default.exp: Match udi_attach error message as well as - the one from child_attach. - - * gdb.t00/default.exp: Use "." instead of "?" to match a question mark. - - * gdb.stabs/weird.exp: Remove xfail for const70; just fixed in GDB. - - * gdb.stabs/weird.def (bad_neg0type): Size of this type is 16, not 8. - * gdb.stabs/weird.exp: Remove xfail for "p bad_neg0"; this fixes it. - - * Move test with enums and partial symbols back to - gdb.t03/{ptype.exp,gdbme.c} from gdb.stabs/{weird.def,weird.exp}. - Reverts the change of 26 May 93. Per today's change to - stabs.texinfo, the behavior that weird.exp was expecting was - unreasonable; what is important is that the compiler+gdb get - things right, which happens with a recent gcc. Also fix the test - to deal with native compilers which put out the stab gdb can't - deal with. - -Mon Jan 31 15:40:11 1994 Jim Kingdon (kingdon@lioth.cygnus.com) - - * gdb.t24/demangle.exp: Remove a bunch of tests which differ only - in the names. The main thing these accomplish is to slow things down. - Many more such duplicates surely remain. - - * gdb.t00/help.exp: Comment out "help support" test just like - (and for same reason as) "help set" test. - -Mon Jan 31 06:43:45 1994 Fred Fish (fnf@cygnus.com) - - * gdb.t06/break.exp: Remove setup_xfails for - sparc-sun-solaris2.*, these tests now pass with latest gcc and gdb. - * gdb.t20/inherit.exp (test_ptype_si): Update warning message - about known bug in gcc to include up through 2.5.8. - * gdb.t20/inherit.exp (test_ptype_vi): Accept "_vb." as well as - well as "_vb$". - * gdb.t21/cplusfuncs.exp (test_lookup_operator_functions): - Remove setup_xfails for sparc-sun-solaris2.*, these tests now pass - with latest gcc and gdb. - * gdb.t22/virtfunc.exp (test_ptype_of_classes): Accept "_vb." as - well as "_vb$". - -Sat Jan 29 23:31:26 1994 Jeffrey A. Law (law@snake.cs.utah.edu) - - * configure.in (hppa*-*-*): Also configure and build stabs-only - tests. - -Thu Jan 27 08:21:16 1994 Jeffrey A. Law (law@snake.cs.utah.edu) - - * gdb.t10/hppa.mt: A makefile fragment for the PA. - * gdb.t10/configure.in (hppa*-*-*): Use it. - -Tue Jan 25 12:58:26 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) - - * gdb.t09/corefile: Increase timeout when spawning gdb explicitly. - -Wed Jan 19 12:40:25 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) - - * gdb.t06/signals.exp: Handle blocked SIGTRAP on sun3 for bash - versions prior to 1.13.5. - -Tue Jan 18 20:10:50 1994 Jim Kingdon (kingdon@lioth.cygnus.com) - - * gdb.t00/default.exp (show prompt): In FAIL case, only match if - the prompt is at the start of a line. - -Mon Jan 17 20:07:51 1994 Jeffrey A. Law (law@snake.cs.utah.edu) - - * gdb.disasm/hppa.s: Add new tests for sfu and copr instructions. - Enable "diag" instruction. Delete copr from fpu_misc_tests, it's - in the copr tests now. - * gdb.disasm/hppa.exp: Run new sfu and copr tests. Do not expect - copr in the fpu_misc tests anymore. fpu_misc tests are no longer - expected to fail. - -Fri Jan 14 14:24:21 1994 Rob Savoye (rob@darkstar.cygnus.com) - - * gdb.t00/teststrategy.exp, gdb.t07/watchpoint.exp, - gdb.t31/chillvars.exp, lib/gdb.exp: - Tweak to run under either version of expect. - * lib/gdb.exp (default_gdb_exit): Remove "catch" statement. - * gdb.t00/teststrategy.exp: Use isnative and verbose procedures. - * gdb.t11/list.exp: Remove extraneous whitespace. - -Sat Jan 15 09:57:22 1994 Jim Kingdon (kingdon@lioth.cygnus.com) - - * gdb.t16/printcmds.exp (test_print_strings): Accept - "(unsigned char *) " before the string. - - * TODO: Add notes about printing of fancy types and GDB expressions. - -Thu Jan 13 17:16:09 1994 Stan Shebs (shebs@andros.cygnus.com) - - * Makefile.in: Pass LDFLAGS and LIBS to sub-makes. - * gdb.t06/configure.in: Don't try to compile signals test program - if doing mips-idt-ecoff. - -Thu Jan 13 08:25:55 1994 Rob Savoye (rob@darkstar.cygnus.com) - - * Most .exp files: Tweak to run under either version of expect. - -Tue Jan 11 15:21:13 1994 Jim Kingdon (kingdon@lioth.cygnus.com) - - * gdb.t12/scope.exp: Add xfails for rs6000. Remove 1806 from existing - xfails; I'm not sure why they are failing, but not because of PR 1806. - -Mon Jan 10 22:14:20 1994 Rob Savoye (rob@darkstar.cygnus.com) - - * config/unix-gdb.exp: Remove gdb_unload cause it's already - defined in lib/gdb.exp. - -Fri Jan 7 12:42:45 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) - - * gdb.t07/watchpoint.exp: Clear xfail for calling function with - watchpoint enabled on mips, CALL_DUMMY_BREAKPOINT_OFFSET got defined. - * gdb.t20/gdbme.cc, gdb.t21/gdbme.cc: Conversion operator functions - have to be typeless. - -Tue Jan 4 09:32:22 1994 Jim Kingdon (kingdon@lioth.cygnus.com) - - * TODO: Add suggestion for copyright year test. - -Mon Jan 3 11:35:26 1994 Stan Shebs (shebs@andros.cygnus.com) - - * configure.in (*-*-lynxos*): Add stabs tests. - -Wed Dec 1 21:54:05 1993 Jeffrey A. Law (law@snake.cs.utah.edu) - - * gdb.stabs/hppa.sed: Only lables should ever start in column zero, - so insert a tab before any assembler directive in column zero. - - * gdb.disasm/hppa.exp (all_fpu_memory_tests): Test FP quadword - stores. - * gdb.disasm/hppa.s (fpu_memory_indexing_tests): Add FP quadword - stores. - (fpu_short_memory_tests): Likewise. - -Mon Nov 22 13:23:22 1993 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) - - * gdb.stabs/ecoff.mt: Delete alpha specific if block, fix typo. - * gdb.stabs/ecoff.sed: Escape inserted blanks with backslashes, embed - .stabs directives in comments. - -Fri Nov 19 14:09:02 1993 Jim Kingdon (kingdon@lioth.cygnus.com) - - * TODO: New file, describing tests we could write. - * gdb.t09/corefile.exp: Move description of tests to write to TODO. - -Tue Nov 16 21:07:44 1993 Jim Kingdon (kingdon@lioth.cygnus.com) - - * gdb.t06/signals.exp: Add kludge to force re-sync. - - * gdb.t00/teststrategy.exp: If we accidently send the "maint dump-me" - to xgdb instead of gdb, get out of gdb. - -Tue Nov 16 10:21:57 1993 Rob Savoye (rob@cygnus.com) - - * lib/gdb.exp: Make GDB and GDBFLAGS global so the scoping work - for info. - -Sat Nov 13 23:17:48 1993 Jeffrey A. Law (law@snake.cs.utah.edu) - - * gdb.stabs/hppa.mt: A makefile fragment for the PA. - * gdb.stabs/configure.in (hppa*-*-*): Use it. - * gdb.stabs/hppa.sed: New sed script for the PA. - -Sat Nov 13 22:50:29 1993 Jim Kingdon (kingdon@lioth.cygnus.com) - - * gdb.stabs: Re-write weird.def and configuration to use sed - instead of cpp. sed is portable and POSIX; cpp is neither. - -Fri Nov 12 15:26:36 1993 Jim Kingdon (kingdon@lioth.cygnus.com) - - * gdb.t06/signals.exp: Remove one sun3 XFAIL which has been fixed. - -Mon Nov 8 16:55:28 1993 Jim Kingdon (kingdon@lioth.cygnus.com) - - * gdb.t20/gdbme.cc: Add comment about pmi being optimized out. - -Thu Nov 4 23:07:59 1993 Jim Kingdon (kingdon@lioth.cygnus.com) - - * gdb.stabs/weird.exp, gdb.t22/virtfunc.exp: Accept "_vb." as well as - "_vb$". - * gdb.t00/teststrategy.exp: Add xfail for RS/6000. - * gdb.t03/ptype.exp: Add comments and messages about FAILs with xlc. - -Wed Nov 3 13:53:34 1993 Jim Kingdon (kingdon@lioth.cygnus.com) - - * lib/gdb.exp: Comment out code which depends on non-existent - `transform' procedure. - -Wed Nov 3 11:23:11 1993 Rob Savoye (rob@darkstar.cygnus.com) - - * lib/gdb.exp (default_gdb_exit): Remove `catch "close"'. - * lib/gdb.exp: Transform tool name. - * gdb.t*/*.exp: Change error to perror so it works with DejaGnu - 1.1's new error handling system. - -Mon Nov 1 10:36:29 1993 Jim Kingdon (kingdon@lioth.cygnus.com) - - * Makefile.in, gdb.t2*/Makefile.in: Add -O to CXXFLAGS. - -Fri Oct 29 17:58:14 1993 Jim Kingdon (kingdon@lioth.cygnus.com) - - * gdb.t00/default.exp: Avoid tests with a lot of .* in them. - They made pattern matching so slow that timeouts happened on - heavily loaded systems. Now any output from "show print" which - gets us back to the GDB prompt is a PASS. - -Mon Oct 25 14:36:50 1993 Stu Grossman (grossman at cygnus.com) - - * gdb.disasm/hppa.mt: Use $(srcdir) in hppa.o make rule. - -Mon Oct 25 13:35:29 1993 Jim Kingdon (kingdon@lioth.cygnus.com) - - * gdb.t06/signals.exp: Skip whole file with xfail for HPPA. - - * gdb.t24/demangle.exp: Remove "3220" from the one remaining xfail. - It is not from PR 3220. - -Sun Oct 24 18:49:58 1993 Jim Kingdon (kingdon@lioth.cygnus.com) - - * gdb.t00/{help.exp,default.exp}: Loosen up a few more tests which - just started failing because they depended on the order the - subcommands are presented, or exact docstring text. This kind of - test is a pain and has minimal benefit. - -Thu Oct 21 08:26:48 1993 Jim Kingdon (kingdon@lioth.cygnus.com) - - * gdb.t09/corefile.exp: At end of test, use "core" command with - no arguments. - -Wed Oct 20 08:56:02 1993 Stu Grossman (grossman at cygnus.com) - - * gdb.t{01 02 03 04 05 06 07 08 09 10 11 12 13 15 16 - 17}/Makefile.in: Make it possible to run the testsuite with Sun - make and CC = cross gcc by adding explicit build rules for .o - files. - -Tue Oct 19 14:57:38 1993 Jim Kingdon (kingdon@lioth.cygnus.com) - - * gdb.t15/funcargs.exp: Don't put comments on same line as - setup_xfail (@#$*%& tcl braindamage!). - -Mon Oct 18 21:50:08 1993 Jim Kingdon (kingdon@lioth.cygnus.com) - - * gdb.disasm/hppa.exp: Use $objdir/$subdir/$binfile not just $binfile. - -Fri Oct 15 15:39:54 1993 Kung Hsu (kung@cirdan.cygnus.com) - - * gdb.t20/classes.exp: 'const xxx &' becomes 'xxx const &'. - * gdb.t20/inherit.exp: remove three dumplicate entries. - -Fri Oct 15 13:45:25 1993 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) - - * gdb.t06/break.exp: For "next over recursive call", fail on any - incorrect output, not just on "factorial (value=2)". - -Fri Oct 15 11:52:56 1993 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) - - * gdb.t12/scope.exp: Remove xfails, filename::var syntax should be - working now. Add an xfail if accesing a bss variable causes - a memory error if the target is not yet run. - -Thu Oct 14 19:16:56 1993 Jim Kingdon (kingdon@lioth.cygnus.com) - - * gdb.t24/demangle.exp: Clean up spacing (2 strings), inclusion of - constructor name (2 string), name of _GLOBAL_ demangling (2 strings), - name of __st* demangling (2 strings). Did Kung really get the - more than 95 others right without testing them? - -Thu Oct 14 16:27:08 1993 Kung Hsu (kung@cirdan.cygnus.com) - - * gdb.t24/demangle.exp: clean up XFAILS, more than 100 - -Thu Oct 14 11:40:30 1993 Jeffrey Law (law@cs.uah.edu) - - * configure.in (configdirs): Add gdb.disasm - * gdb.disasm: New directory for GDB disassembler tests. - * gdb.disasm/hppa.{exp,s,mt}: Disassembly tests for the HPPA. - -Thu Oct 14 11:40:30 1993 Jim Kingdon (kingdon@lioth.cygnus.com) - - * gdb.t00/help.exp: Don't test "help set". - - * gdb.t20/inherit.exp, gdb.t22/virtfunc.exp: Remove all xfails - from within expect statements. None of these happen anymore and - they cause regressions to be silently unnoticed. - - * gdb.t20/inherit.exp, gdb.t22/virtfunc.exp: Add notes (in failure - messages) about known failures with gcc cygnus-2.4.5-930417. - - * gdb.t02/Makefile.in, gdb.t08/Makefile.in: Make all depend on - comp-info.exp so it gets built if it doesn't exist. - - * gdb.t13/{Makefile.in,bitfields.exp}: Remove comp-info.exp stuff; - it is no longer used. - * gdb.t13/comp-info.c: Removed. - -Wed Oct 13 22:54:06 1993 Jim Kingdon (kingdon@deneb.cygnus.com) - - * gdb.t06/signals.exp: Add xfail for sun3. - -Thu Oct 7 12:01:03 1993 Jim Kingdon (kingdon@lioth.cygnus.com) - - * gdb.t17/interrupt.exp: Add xfail for Irix (currently not really - relevant because ^C doesn't get sent but failure can be reproduced - interactively). - -Tue Oct 5 10:43:11 1993 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) - - * gdb.stabs/alpha.mt: New configuration file for alpha. - * gdb.stabs/configure.in: Use it. - * gdb.stabs/ecoff.mt, weird-ecoff.sed: Change sed script to enable - sharing with alpha.mt, redefine long to word via preprocessor. - * gdb.stabs/weird.def: Conditionally adapt storage layout of v_comb - for alpha. - * gdb.stabs/weird.exp: Handle compilation of weird.s by alpha - native cc. - * gdb.t00/teststrategy.exp: Change expect string so that we - consume the `(xgdb)' from the command echo and from the gdb prompt. - * gdb.t05/expr.exp: xfail "print unsigned int == (~0)" on the alpha. - gdb currently compares all values as long, so this failure probably - applies to any configuration where LONGEST is bigger than a target int. - * gdb.t08/comp-info.c: New file to determine if gdbme is compiled - with gcc. - * gdb.t08/Makefile.in, opaque.exp: Use it. Alpha native cc is unable - to handle opaque pointers, gcc is. - * gdb.t21/gdbme.cc, gdb.t23/gdbme.cc: operator new takes a size_t - as first argument. Include <sys/types.h> and change all operator - new definitions to use size_t. - * gdb.t21/cplusfuncs.exp: Handle changes in output for operator new - now that we use size_t. - -Wed Sep 29 00:55:49 1993 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) - - * gdb.t03/ptype.exp, gdb.t15/printcmds.exp: When constructing - a long or float array cast all array members to the same type. - * gdb.t04/setvar.exp: Handle the decimal output of an unsigned long - with 64 bit longs. - * gdb.t07/watchpoint.exp: Add finish and until variations encountered - on alpha. - * gdb.t08/opaque.exp, gdb.t17/interrupt.exp: Add xfails for alpha. - -Tue Sep 28 17:26:47 1993 Jim Kingdon (kingdon@lioth.cygnus.com) - - * gdb.t24 (demangle.exp): Constructors of templates have names like - vector<int>::vector(int) not vector<int>::vector<int>(int). See - section 14.6 of the ARM. - - * gdb.t24 (demangle.exp): Remove a whole bunch of tests of the form - "_vt$MoveCmd"; these differ only in name from "_vt$foo", so they - accomplish little and slow down the testsuite. - - * gdb.t24 (demangle.exp): Accept "XXX const" as well as "const XXX". - Accept spaces various places. - -Tue Sep 21 17:28:45 1993 Jim Kingdon (kingdon@lioth.cygnus.com) - - * gdb.t07/watchpoint.exp: On sparc, clear xfail for calling function - with watchpoint enabled. - - * Makefile.in: Remove definition of CC and remove the second - definition of CXX (the "CXX = gcc" one remains). These definitions - were causing backquotes to be expanded within backquotes, which - doesn't work. - -Sat Sep 18 09:43:21 1993 Jim Kingdon (kingdon@poseidon.cygnus.com) - - * gdb.t17/callfuncs.exp: Add "return 0" to end. - -Fri Sep 17 04:41:17 1993 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) - - * gdb.stabs/ecoff.mt: Remove STABSCC hack. - * gdb.stabs/weird.exp: Handle the case where weird.o is compiled - by mips cc and contains no stabs entries. - -Thu Sep 16 17:22:12 1993 Rob Savoye (rob@darkstar.cygnus.com) - - * config/vx-gdb.exp: Use fake device to load files rather than - NFS. - * lib/gdb.exp: New proc to do "file" command. - * config/unix-gdb.exp: Use new "file" proc. - -Thu Sep 16 13:45:44 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) - - * config/mips-gdb.exp (gdb_load): Increase timeout to 2400. - Rework board rebooting slightly. - (gdb_exit): Don't exit from the remote shell; there isn't one. - * gdb.stabs/weird.exp: If a program is being debugged already, - kill it. - * gdb.t04/setvar.exp: Stop and restart gdb. - * gdb.t05/expr.exp: Likewise. - * gdb.t07/watchpoint.exp: If target is mips-idt-*, stop and - restart gdb and reload the program. - * gdb.t08/opaque.exp: Likewise. - * gdb.t12/scope.exp: Likewise. - * gdb.t13/bitfields.exp: Likewise. - * gdb.t15/funcargs.exp: Likewise. - * gdb.t20/classes.exp: Likewise. - * gdb.t03/ptype.exp: Increase timeout. - * gdb.t16/printcmds.exp (test_print_string_constants, - test_print_array_constants): Likewise. - * gdb.t17/callfuncs.exp (do_function_calls): Likewise. - * gdb.t20/classes.exp (do_tests): Likewise. - * gdb.t22/virtfunc.exp (test_virtual_calls): Likewise. - -Wed Sep 15 14:24:36 1993 Ian Lance Taylor (ian@cygnus.com) - - * gdb.stabs: Renamed *wierd* to *weird*. - -Wed Sep 15 10:36:50 1993 Jim Kingdon (kingdon@cirdan.cygnus.com) - - * gdb.t13/bitfields.exp: Test for bad output rather than waiting - for timeout. Add "known gcc 2.4.5 bug" to failure message. - -Tue Sep 14 17:16:44 1993 Jim Kingdon (kingdon@cirdan.cygnus.com) - - * gdb.stabs/wierd.exp (print_wierd_var): Test size, not type name. - (do_tests): Remove xfail for whatis on one_var and two_var. - -Wed Sep 8 23:14:23 1993 Rob Savoye (rob@darkstar.cygnus.com) - - * Makefile.in: Made cross building work better by adding - {RUNTEST,CC}_FOR_TARGET and using TARGET_FLAGS_TO_PASS. - -Tue Sep 7 14:11:52 1993 Jim Kingdon (kingdon@lioth.cygnus.com) - - * gdb.t15/{return.c,return.exp,Makefile.in}: - New test, currently commented out. - -Tue Aug 31 16:51:29 1993 Rob Savoye (rob@darkstar.cygnus.com) - - * config/udi-gdb.exp: gdb_exit now kills any isstip processes - still running and removes the leftover named socket so GDb can do - clean restarts. - -Mon Aug 30 17:55:16 1993 Rob Savoye (rob@darkstar.cygnus.com) - - * gdb.t01/run.exp: Add match for VxWorks, cause I/O comes out the - console, not GDB. - * config/mt-*: Added default values for RUNTEST and RUNTESTFLAGS so - cross testing works better with "make check" - * config/unix-gdb: Use default procedures for exit and version. - * config/vx-gdb.exp: Cleaned up and massaged back to working order - with the newest VxWorks. - -Thu Aug 26 17:50:28 1993 Jim Kingdon (kingdon@lioth.cygnus.com) - - * gdb.t20/classes.exp: For "ptype class Base1", continue to accept - old form. - - * gdb.t22/virtfunc.exp: If it prints `struct' (not `class') with a - name (e.g. devo gdb with gcc 2.4.5), it is still a pass. - - * gdb.t10/crossload.exp: Skip whole file (for now, until we fix it). - - * config/unix-gdb.exp: Remove this version of gdb_exit - * lib/gdb.exp: Merge in all the crap from config/unix-gdb.exp. - Rob says he'll look at it when he gets back to testing boards. - -Thu Aug 26 07:20:00 1993 Fred Fish (fnf@deneb.cygnus.com) - - * gdb.t22/virtfunc.exp: Accept missing struct/class names as - an expected fail for certain ptype commands. - - * gdb.t20/classes.exp: Update expected results of "ptype class - Base1" to account for the constructor that now appears in the type. - -Wed Aug 25 16:48:05 1993 Fred Fish (fnf@deneb.cygnus.com) - - * configure.in (configdirs): Restore gdb.t04, which mysteriously - disappeared from list. - * config/{udi-gdb.exp, gdb-unix.exp}: Replace calls to obsolete - "alldone" proc with call to cleanup and exit. - * {gdb.t01/run.exp, gdb.t01/term.exp, gdb.t02/whatis.exp, - gdb.t03/ptype.exp, gdb.t04/setvar.exp, gdb.t05/expr.exp, - gdb.t06/break.exp, gdb.t07/watchpoint.exp, gdb.t08/opaque.exp, - gdb.t09/corefile.exp, gdb.t10/crossload.exp, gdb.t11/list.exp, - gdb.t12/scope.exp, gdb.t13/bitfields.exp}: Replace calls to - "alldone" proc with simple returns that suppress remaining - tests. The alldone proc went away many months ago. - -Tue Aug 24 11:04:06 1993 Jim Kingdon (kingdon@lioth.cygnus.com) - - * gdb.t10/nodebug.exp: Comment out "maint print msymbols" tests. - - * gdb.t12/gdbme0.c (localscopes, autovars): Modify to foil gcc -O. - -Thu Aug 19 22:08:41 1993 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) - - * gdb.t15/funcargs.exp: Allow arguments for main in backtraces - as vax gdb will display them. - -Thu Aug 19 18:18:59 1993 Jim Kingdon (kingdon@lioth.cygnus.com) - - * gdb.t20/gdbme.cc: Do some calculation with v.x, to confound - optimizers. - - * scope.exp: Change "bad value for localval" messages so each one - is unique. - - * config/unix-gdb.exp (gdb_exit): Move info on this vs. - lib/gdb.exp (gdb_exit) from ChangeLog to comments. - - * gdb.t06/signals.exp: Skip the whole file with xfail for delta68. - -Tue Aug 17 00:05:28 1993 Jim Kingdon (kingdon@lioth.cygnus.com) - - * gdb.t00/teststrategy.exp: Deal with it if cmdsize = 1 line - doesn't exist (due to optimization). - -Mon Aug 16 21:05:49 1993 Jim Kingdon (kingdon@lioth.cygnus.com) - - * gdb.stabs/wierd.exp: Deal with it if echo of "file" command - contains \r because the filename is long. - - * gdb.t06/signals.exp: Revise comments regarding "'next' behaved as - 'continue'" bug, and change xfail back to i*86-univel-sysv4*. - -Mon Aug 16 03:05:17 1993 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) - - * gdb.t00/help.exp, gdb.t02/whatis.exp, gdb.t07/watchpoint.exp, - gdb.t08/opaque.exp, gdb.t17/interrupt.exp: Update for vax running - Ultrix. - * gdb.t02/whatis.exp: Use procedure to setup xfails on long versus - int tests. - * gdb.t08/opaque.exp: Use procedure to setup xfails for opaque tests. - -Thu Aug 12 15:24:28 1993 Fred Fish (fnf@deneb.cygnus.com) - - * Makefile.in (distclean): Remove *.log *.plog *.sum *.psum site.*. - - * gdb.t17/interrupt.exp: Fix 'missing Continuing' case so pattern - to match does not match the passing case but still matches the - failing case. - -Thu Aug 12 16:58:59 1993 Jim Kingdon (kingdon@lioth.cygnus.com) - - * Makefile.in (distclean): Remove *.plog *.sum *.psum site.*. - -Wed Aug 11 19:47:27 1993 John Gilmore (gnu@rtl.cygnus.com) - - * lib/gdb.exp (gdb_exit): Move the best version of gdb_exit - to here. Fix 'Quit anyway.*?' bug (? is a regexp metacharacter). - * config/{mips-gdb.exp, nind-gdb.exp, udi-gdb.exp, vx-gdb.exp}: - Remove various versions of gdb_exit. - * config/vx-gdb.exp: Remove quit_vxgdb, change a caller to call - gdb_exit. - * config/unix-gdb.exp: gdb_exit remains here, and should override - the generic version, since it's doing a lot of wierd stuff that - the other versions aren't. FIXME, fold it in, or abandon this - version. - -Wed Aug 11 12:09:32 1993 Jim Kingdon (kingdon@lioth.cygnus.com) - - * gdb.t24/demangle.exp: Add tests for PR 3220. - -Tue Aug 10 15:49:35 1993 Jim Kingdon (kingdon@lioth.cygnus.com) - - * gdb.t24/demangle.exp: Add lucid test for __vtbl__3foo__vt_cc_main_. - -Tue Aug 10 15:45:25 1993 Fred Fish (fnf@deneb.cygnus.com) - - * gdb.t07/watchpoint.exp: Clear xfail with "i*86-*-*", not just - "i386-*-*". Works for i486 as well. - - * gdb.t06/signals.exp: Rework code that recognizes known SVR4 - bug, and expand domain of xfail to all SVR4 systems, since the - actual problem is likely to be in generic SVR4 /proc support. - -Tue Aug 10 15:49:35 1993 Jim Kingdon (kingdon@lioth.cygnus.com) - - * config/unix-gdb.exp (gdb_load): Add eof to expect statement. - -Tue Aug 10 09:56:56 1993 Fred Fish (fnf@deneb.cygnus.com) - - * gdb.t17/interrupt.exp: Set up xfail for *-*-sysv4*, in chain of - xfails for other systems. Match a missing 'Continuing.' as an - explicit fail for i*86-*-sysv4*, so it doesn't hose other tests. - - * gdb.t20 {classes.exp, inherit.exp, misc.exp}, gdb.t21/cplusfuncs.exp, - gdb.t22/virtfunc.exp, gdb.t23/templates.exp, gdb.t31/chillvars.exp: - Only issue warning for missing executables if -all option is used. - - * gdb.stabs/wierd.exp: Only issue warning for missing wierd.o - file if -all option is used. It's like an unpredictable XFAIL. - -Mon Aug 9 10:13:34 1993 Jim Kingdon (kingdon@lioth.cygnus.com) - - * gdb.t15/funcargs.exp: Add comments that hppa xfails are only - for dynamically linked binaries. - - * gdb.t10/crossload.exp: Add `set gnutarget auto' at end of tests. - -Sun Aug 8 14:21:29 1993 Jim Kingdon (kingdon@lioth.cygnus.com) - - * gdb.t20/inherit.exp: Change message for "print tagless struct" - to state that this is a known bug in old versions of g++. - -Fri Aug 6 21:40:30 1993 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) - - * gdb.t17/interrupt.exp: Add xfail for 386 bsd. Accept echoed newline - while waiting for `Continuing'. - -Fri Aug 6 13:38:08 1993 Fred Fish (fnf@deneb.cygnus.com) - - * gdb.t10/nodebug.exp: Expect to find local/global minimal symbols - in text, data, and bss. - * gdb.t10/nodebug.c: Add local and global test variables for - initialized and uninitialized data. - -Thu Aug 5 12:18:40 1993 Jim Kingdon (kingdon@lioth.cygnus.com) - - * config/unix-gdb.exp (gdb_exit): Add "wait". - -Thu Aug 5 18:14:06 1993 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) - - * gdb.t06/signals.exp: xfail the continue from the handler for all - targets. - - * gdb.t07/watchpoint.exp: clear_xfail for i386 when calling a - function with watchpoints enabled, the i386 call dummy starts with - a call. - - * gdb.t00/teststrategy.exp, gdb.t09/Makefile.in: Handle the way - 386 bsd names its corefiles. - -Wed Aug 4 08:53:41 1993 Fred Fish (fnf@cygnus.com) - - * gdb.t10/Makefile.in (nodebug.o): Don't use "-c -o", many - compilers don't grok it. - * gdb.t16/gdbme.c (ctable1): Initialize unsigned char array - with small octal ints rather than character constants, which - are signed and might not fit if first promoted to int. - -Tue Aug 3 18:28:25 1993 Fred Fish (fnf@cygnus.com) - - * gdb.t09/Makefile.in (clean): Remove corefile. - -Mon Aug 2 12:47:44 1993 Jim Kingdon (kingdon@lioth.cygnus.com) - - * gdb.t07/watchpoint.exp: Add missing `$prompt $'. - -Mon Aug 2 12:30:14 1993 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) - and Jim Kingdon (kingdon@cygnus.com) - - * gdb.t06/signals.exp: Change xfail from "*-*-*" to be only for - NO_SINGLE_STEP machines. Fix comment about its cause. Uncomment - the `continue' test right after it (also xfailed if NO_SINGLE_STEP). - -Fri Jul 30 19:46:55 1993 Jim Kingdon (kingdon@lioth.cygnus.com) - - * gdb.t17/interrupt.exp: Add xfail for hppa. - -Fri Jul 30 12:54:11 1993 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) - - * gdb.t02/whatis.exp, gdb.t03/ptype.exp, gdb.t08/opaque.exp, - gdb.t09/corefile.exp: Cleanup xfails for fixed mips bugs. - * gdb.t13/bitfields.exp, gdbme.c: Examine a variable in the inferior - to determine signed-ness of bitfields and use the result to setup - the xfail. - * gdb.t15/gdbme.c: Add comments to the two indirect call0a lines. - * gdb.t15/funcargs.exp: Use them to step until the second indirect - call line is reached if necessary. - -Thu Jul 29 20:33:08 1993 Jim Kingdon (kingdon@lioth.cygnus.com) - - * gdb.stabs/wierd.exp: New test, for nameless baseclasses. - -Mon Jul 26 00:15:02 1993 Jim Kingdon (kingdon@lioth.cygnus.com) - - * gdb.t06/break.exp: Also test `clear' command. - -Wed Jul 21 18:03:38 1993 Jim Kingdon (kingdon@deneb.cygnus.com) - - * gdb.t00/teststrategy.exp: Remove extra quote. - - * gdb.t07/watchpoint.exp: Change xfail for calling function with - watchpoint enabled to be for all non-68k machines. - - * gdb.t15/{mips_pro.{c,exp},Makefile.in}: New test. - -Mon Jul 19 23:59:26 1993 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) - - * gdb.stabs/configure.in: If configured -with-gnu-as for mips-*-* - targets use aout.mt instead of ecoff.mt as gas understands - standard aout format. - -Mon Jul 19 18:14:06 1993 Jim Kingdon (kingdon@deneb.cygnus.com) - - * lib/gdb.exp (runto): Don't insist that function we are running to - was compiled with -g. - - * gdb.t10/{nodebug.{c,exp},Makefile.in}: New test. - - * gdb.t17/interrupt.exp: Before sending ^C, give the inferior time - to get back into the read system call. - Accept leading newline in case where we woke it up. - -Sun Jul 18 08:40:45 1993 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) - - * gdb.stabs/{ecoff.mt,wierd-ecoff.S,wierd-ecoff.sed}: New files - to make the stabs test work on ecoff systems using gcc and -with-stabs. - * gdb.stabs/{Makefile.in,configure.in,aout.mt,xcoff.mt}: Modify to - enable ecoff configuration. - -Thu Jul 15 11:54:58 1993 Jim Kingdon (kingdon@lioth.cygnus.com) - - * gdb.t15/funcargs.exp (localvars_in_indirect_call): New test. - -Wed Jul 14 09:36:42 1993 Jim Kingdon (kingdon@lioth.cygnus.com) - - * gdb.t16/printcmds.exp: Add another printf test. - -Wed Jul 14 15:37:13 1993 Ian Lance Taylor (ian@cygnus.com) - - * configure.in: If configured -with-stabs on any target, add - stabsdirs to configdirs. - -Wed Jul 14 09:36:42 1993 Jim Kingdon (kingdon@lioth.cygnus.com) - - * gdb.t16/printcmds.exp: Change printf "%f\n" to printf "%f is - fun" so pattern does not match the command itself. - -Mon Jul 12 11:22:06 1993 Jim Kingdon (kingdon@lioth.cygnus.com) - - * gdb.t15/{gdbme.c,funcargs.exp}: Test for alloca-influenced frames. - -Sun Jul 11 12:03:24 1993 Jim Kingdon (kingdon@lioth.cygnus.com) - - * gdb.t17/interrupt.exp: Test for more things. - -Fri Jul 9 14:11:17 1993 Jim Kingdon (kingdon@lioth.cygnus.com) - - * gdb.t07/watchpoint.exp: In until test, deal with the way the DEC - compiler arranges the code and line numbers. - - * gdb.t17/interrupt.exp: Don't send \n after ^C. - -Fri Jul 9 09:47:02 1993 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) - - * gdb.t00/help.exp: Increase expect input buffer size. - -Thu Jul 8 14:26:50 1993 Jim Kingdon (kingdon@lioth.cygnus.com) - - * gdb.t06/signals.exp: Remove sparc xfail; bug fixed. - - * gdb.t07/watchpoint.exp: Add xfail for hppa. - - * gdb.t17/{gdbme.c,callfuncs.exp}: Add sum10 function, to test pa bug. - - * gdb.t06/signals.exp: At "p func1 ()" test, check for breakpoint - [0-9]*, not just [0-9]. - -Wed Jul 7 17:52:28 1993 Jim Kingdon (kingdon@lioth.cygnus.com) - - * gdb.t20/{gdbme.cc,classes.exp}: Add xfail for gdb/2972. - - * gdb.t2*: Set CXXFLAGS, not CFLAGS, since that's what we use. - -Tue Jul 6 13:54:49 1993 Jim Kingdon (kingdon@lioth.cygnus.com) - - * gdb.t00/help.exp: Replace most of docstring for "continue" with .*. - -Mon Jul 5 22:03:45 1993 Jim Kingdon (kingdon@lioth.cygnus.com) - - * gdb.t06/signals.c: Add xfails for sun3. - - * gdb.t07/watchpoint.exp: Comment out xfail for fixed bug 1836. - - * gdb.t07/{gdbme.c,watchpoint.exp}: Add test for 2597. Also add - test_stepping tests. - -Fri Jul 2 09:08:10 1993 Jim Kingdon (kingdon@lioth.cygnus.com) - - * gdb.t{06,17}/Makefile.in (clean): Remove all executables. - - * gdb.t17/{interrupt.{c,exp},Makefile.in}: New test for solaris bug. - - * gdb.t06/twice.exp, Makefile.in: Just use an include of twice.c - rather than actually putting it through cpp twice. - - * gdb.t06/signals.exp: Add xfails for unixware and rs6000. - -Fri Jul 2 10:48:03 1993 Ian Lance Taylor (ian@cygnus.com) - - * config/mips-gdb.exp (gdb_exit): Removed close statement which is - no longer needed. - -Fri Jul 2 09:08:10 1993 Jim Kingdon (kingdon@lioth.cygnus.com) - - * gdb.t06/signals.exp: Add test for sparc bug with do_save_insn. - - * gdb.t20/{classes,inherit}.exp: If a class which doesn't use any - C++ features prints as "struct", make it a pass, not an xfail. - -Thu Jul 1 22:03:33 1993 Jim Kingdon (kingdon@lioth.cygnus.com) - - * gdb.t22/virtfunc.exp: Remove a bunch of xfails. - Don't require VA to print as "class" rather than "struct". - -Thu Jul 1 18:27:40 1993 Jim Kingdon (kingdon@cygnus.com) - - * gdb.t06/twice.exp: Don't care about the file name GDB prints. - -Wed Jun 30 18:01:00 1993 Jim Kingdon (kingdon@lioth.cygnus.com) - - * gdb.t{02,13}/comp-info.c, gdb.t06/twice.exp: Add "return 0" to end. - -Tue Jun 29 13:15:42 1993 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) - - * gdb.t12/scope.exp: Remove xfail for parameter printing in wrong - order. - -Tue Jun 29 09:22:29 1993 Jim Kingdon (kingdon@lioth.cygnus.com) - - * gdb.t16/printcmds.exp: Add printf tests. - - * gdb.t06/{twice.{c,exp},Makefile.in}: New test. - - * gdb.t10/Makefile.in (clean): Remove $(EXECUTABLES) too. - -Mon Jun 28 11:25:59 1993 Fred Fish (fnf@cygnus.com) - - * gdb.t20/classes.exp: Add clear_xfail's before printing summary - pass counts, to counteract any existing or future setup_xfails. - -Mon Jun 28 09:15:17 1993 Jim Kingdon (kingdon@lioth.cygnus.com) - - * gdb.stabs/wierd{.def,-aout.S,-xcoff.S}: Use new macros - {BEGIN,END}_COMMON for common block instead of STAB. - * gdb.stabs/wierd.exp: Add xfail for rs6000. - - * gdb.stabs/wierd.def: Make value of N_GSYM's 0. - intp_var should be N_GSYM not N_LSYM. - wierd-aout.S: Use a label for the value of the N_SO. - wierd.def: Remove all backslashes. - wierd-{aout,xcoff}.S: Put a few tests with backslashes here. - -Mon Jun 28 07:21:51 1993 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) - - * gdb.t20/gdbme.cc (main): Move variable initialization for AIX to - get the expected next to inheritance3. - -Sun Jun 27 12:29:53 1993 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) - - * gdb.t00/teststrategy.exp: Remove expected failure for mips-*-* - now that gcc-2.4 gets it right. - -Fri Jun 25 12:00:46 1993 Jim Kingdon (kingdon@lioth.cygnus.com) - - * gdb.stabs/wierd{.def,.exp,-aout.S,-xcoff.S}: Add common block test. - - * gdb.t{02,13}/{Makefile.in,gdbme.c,comp-info.c}: New way of - generating comp-info.exp which works for cross-compilation. - -Thu Jun 24 16:55:05 1993 Fred Fish (fnf@cygnus.com) - - * gdb.t11/list.exp: For SVR4 xfails, match "*-*-sysv4*", not - "*-*-sysv4.*". - -Tue Jun 22 21:17:26 1993 Fred Fish (fnf@cygnus.com) - - * gdb.t01/run.exp: Start with a fresh gdb. - * gdb.t11/list.exp: For SVR4 xfails, match on all versions of - SVR4.x. - -Mon Jun 21 15:23:22 1993 Fred Fish (fnf@cygnus.com) - - * {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.t30}/ - Makefile.in (distclean, realclean): Remove gdbme.c from list of - things to remove. - -Sat Jun 19 07:49:10 1993 Fred Fish (fnf@cygnus.com) - - * gdb.t24/demangle.exp (test_gnu_style_demangling): Add some new - test cases from bug reports. - -Fri Jun 18 10:38:49 1993 Fred Fish (fnf@cygnus.com) - - * gdb.t06/break.exp: Add xfails for sparc-sun-solaris2.*. - * gdb.t12/scope.exp: Add clear_xfails at appropriate places to - avoid spurious xfails. - * gdb.t20/classes.exp: Add xfails for longstanding C++ problems. - * gdb.t21/cplusfuncs.exp: Add xfails for sparc-sun-solaris2.*. - * gdb.t22/virtfunc.exp: Add xfails for longstanding C++ problems. - -Wed Jun 16 10:11:57 1993 Fred Fish (fnf@cygnus.com) - - * gdb.t00/teststrategy.exp: Rework to provide more useful - description of each test, fix problem with systems that define - ALIGN_STACK_ON_STARTUP code, other misc cleanups. - * gdb.t06/break.exp (test_next_with_recursion): Fix expected - results for "next over recursive call" so timeouts aren't taken - by error. - -Mon Jun 14 09:09:04 1993 Jim Kingdon (kingdon@cygnus.com) - - * gdb.t12/scope.exp: Test printing of variables before run. - - * gdb.t12/{gdbme0.c,scope.exp}: Test for bug where parameters are - printed in wrong order due to sorting. - -Sat Jun 12 15:03:58 1993 Fred Fish (fnf@cygnus.com) - - * gdb.t00/teststrategy.exp: Fix expected results for printing - user entered string constant. Is array of char, prints with no - address. - - * gdb.t00/{default.exp, help.exp}: Account for changes to radix - commands. - * gdb.t16/gdbme.c: Add and use struct containing arrays of char. - * gdb.t16/printcmds.exp: Fix all lines that match "unsigned char *". - * gdb.t16/printcmds.exp (test_print_char_arrays): Test printing - of struct of char arrays. - * gdb.t00/radix.exp: New tests for radix commands. - -Fri Jun 11 13:12:27 1993 Jim Kingdon (kingdon@cygnus.com) - - * gdb.t16/printcmd.exp: Print a variable before running program - (with xfail for AIX). - -Thu Jun 10 11:04:04 1993 Jim Kingdon (kingdon@cygnus.com) - - * gdb.t06/{signals.exp,signals.c,Makefile.in}: New test. - - * gdb.t16/printcmd.exp: Don't print variables before running program. - - * gdb.t06/break.exp: Don't require envp argument to main. - - * gdb.t0{2,3,4,5}/gdbme.c [_AIX]: Use signed keyword. - - * gdb.t02/whatis.exp, gdb.t11/list.exp: - Add xfails for rs6000. - - * gdb.t02/whatis.exp: Change other tests not to re-test something - we already tested. - - * gdb.t{03,15,16}/gdbme.c: Reference all variables and make sure - each type used has a variable of that type. - -Tue Jun 8 16:45:20 1993 Jim Kingdon (kingdon@rtl.cygnus.com) - - * gdb.t20/{inherit.exp,gdbme.cc}: Test tagless structure. - -Fri Jun 4 11:07:19 1993 david d `zoo' zuhn (zoo at cirdan.cygnus.com) - - * configure.in: change srctrigger to be a file, not a directory - -Fri Jun 4 08:23:57 1993 Ian Lance Taylor (ian@cygnus.com) - - * configure.in (mips-idt-ecoff*): Added trailing '*'. - - * gdb.t11/list.exp: Fixed a couple of typos. - -Tue Jun 1 21:28:06 1993 Fred Fish (fnf@cygnus.com) - - * gdb.t00 (teststrategy.exp): Remove notice about PR 1823. Bug - is fixed and PR is closed. - * gdb.t16 (gdbme.c): Add simple test string variable. - * gdb.t16 (printcmds.exp): Add tests with simple test string - variable, primarily for boundaries on "set print elements". - -Mon May 31 11:36:08 1993 Jim Kingdon (kingdon@cygnus.com) - - * gdb.stabs/wierd.exp: Remove xfail for printing big integer. - Make leading 0's optional and don't expect a tab in the middle - of the number. - - * gdb.t00/teststrategy.exp: Remove xgdb before trying the copy. - - * gdb.stabs/wierd.def: Type attributes must be preceded by number=. - * gdb.stabs/wierd.exp: Remove xfails for type attributes. Also - don't end command passed to gdb_test with newline. - - * gdb.t13/{Makefile.in,gdbme.c,bitfields.exp}: If we #defined the - signed keyword away, don't expect signed bitfields to be signed. - - * gdb.t13/bitfields.exp (bitfield containment): Accept the fields - printing with only as many 1's as are in the field as well as printing - with 32 1's (see comment). - -Sat May 29 17:57:01 1993 Fred Fish (fnf@cygnus.com) - - * gdb.t00/default.exp: Start with a fresh gdb. - * configure.in (configdirs): Remove gdb.t31 until the chill - compiler works again. It no longer is able to find chillrt0 - since it isn't in libchill.a anymore. - * gdb.stabs/wierd.exp: Rewrite to properly handling a missing - wierd.o, make more modular. - * gdb.stabs/wierd.def (bad_neg0type, bad_neg0const): Remove - spurious newlines that caused problems. - -Wed May 26 09:57:19 1993 Jim Kingdon (kingdon@lioth.cygnus.com) - - * Move test with enums and partial symbols from gdb.t03/ptype.exp - to gdb.stabs/wierd.exp since GCC has worked around the bug. - gdb.stabs/wierd.{exp,def}: Many new tests. - - * gdb.t00/default.exp: update info line for new message. - - * gdb.t02/{whatis.exp,gdbme.c}: - Test that "char *" doesn't print as "caddr_t". - -Tue May 25 13:28:27 1993 Jim Kingdon (kingdon@lioth.cygnus.com) - - * gdb.t00/help.exp: Use .* in place of some help messages which - just changed. - gdb.t00/default.exp: Update "info frame" test for new message. - * gdb.stabs/wierd.exp: Check for eof, directly or via gdb_test. - Remove some xfails - -Mon May 24 00:24:47 1993 Jim Kingdon (kingdon@lioth.cygnus.com) - - * gdb.t03/{gdbme.c,ptype.exp}: - Add tests for typedef'd struct and union without tags. - Also check "whatis" on a variable of a typedef'd enum without a tag. - - * gdb.t00/teststrategy.exp: For p "foo", remove sun4 XFAIL (see - PRMS 1823; the bug still exists but isn't reproduced by this test - anymore), and remove rs6000 XFAIL (the bug is fixed). - - * gdb.t03/ptype.exp: Comment out a lot of tests which are basically - duplicated from whatis.exp. For those that are left, accept - "long", "long int", or "int" for long variables (whatis.exp already - has an XFAIL for "int", so no need to fail it here). - - * gdb.t02/whatis.exp, gdb.t10/crossload.exp: - Deal with GCC's names for types now that GDB uses the compiler's names. - - * gdb.t02/{Makefile.in,gdbme.c,whatis.exp}: If not GCC, do some - setup_xfail's for sunos4. If we #defined the signed keyword away, - don't expect GDB to know that char it is signed. - - * gdb.t00/teststrategy.exp: Update for symbolic signal names. - -Sun May 23 08:44:55 1993 Fred Fish (fnf@cygnus.com) - - * configure.in (configdirs): Add gdb.t24 for C++ tests that - should work on any system, regardless of debugging format. - * gdb.t21/demangle.exp: Move to gdb.t24. - * gdb.t24/demangle.exp: Move from gdb.t21. - * gdb.t24/{Makefile.in, configure.in}: New files. - -Thu May 20 19:39:03 1993 Jim Kingdon (kingdon@lioth.cygnus.com) - - * configure.in: Do gdb.stabs and C++ tests only for stabs. - * gdb.stabs: New directory. - -Tue May 18 21:12:09 1993 Jim Kingdon (kingdon@lioth.cygnus.com) - - * config/{mips,nind,udi,unix,vx}-gdb.exp: Look for "Quit anyway.*?" - not just "Quit anyway?". - -Tue May 18 17:13:20 1993 Fred Fish (fnf@cygnus.com) - - * gdb.t21/demangle.exp: Add a couple of new patterns. Ensure - that all setup_xfails are immediately followed by clear_xfails. - -Tue May 11 09:10:47 1993 Fred Fish (fnf@cygnus.com) - - * config/unix-gdb.exp, gdb.t00/echo.exp, gdb.t00/help.exp, - gdb.t00/teststrategy.exp, gdb.t00/gdbvars.exp, gdb.t01/run.exp, - gdb.t01/term.exp, gdb.t02/whatis.exp, gdb.t03/ptype.exp, - gdb.t04/setvar.exp, gdb.t05/expr.exp, gdb.t06/break.exp, - gdb.t07/watchpoint.exp, gdb.t08/opaque.exp, gdb.t09/corefile.exp, - gdb.t10/crossload.exp, gdb.t11/list.exp, gdb.t12/scope.exp, - gdb.t13/bitfields.exp, gdb.t15/funcargs.exp, gdb.t16/printcmds.exp, - gdb.t17/callfuncs.exp, gdb.t20/misc.exp, gdb.t20/inherit.exp, - gdb.t20/classes.exp, gdb.t21/demangle.exp, gdb.t21/cplusfuncs.exp, - gdb.t22/virtfunc.exp, gdb.t23/templates.exp, gdb.t30/chexp.exp, - gdb.t31/chillvars.exp, lib/gdb.exp: - Change place to report bugs from bug-dejagnu@prep.ai.mit.edu to - bug-gdb@prep.ai.mit.edu. - -Fri May 7 09:15:35 1993 Fred Fish (fnf@cygnus.com) - - * gdb.t17/callfuncs.exp (do_function_calls): Call t_double_values - with 0.0, not integer 0. - -Fri Apr 30 13:17:24 1993 Jim Kingdon (kingdon@cygnus.com) - - * gdb.t06/break.exp: Update for "Kill the program" message change. - -Fri Apr 30 09:42:57 1993 Fred Fish (fnf@cygnus.com) - - * Makefile.in (GDBFLAGS): Set to -nx. - * Makefile.in (site.exp): Use GDBFLAGS. - -Wed Apr 28 13:19:07 1993 K. Richard Pixley (rich@rtl.cygnus.com) - - * */Makefile.in (CFLAGS): add CFLAGS = -g to all subdirectory - Makefiles. - (check): depend on just-check. - (just-check): added so that tests can be run without a noop - build pass. - -Fri Apr 23 18:13:28 1993 K. Richard Pixley (rich@rtl.cygnus.com) - - Switch to using configure's configdirs. - * Makefile.in (Makefile): add configure.in dependency. - (SUBDIRS): removed redundant assignment. - * configure.in: switch subdirs assignment to configdirs. - * gdb.t*/configure.in: new files. - -Thu Apr 22 08:27:53 1993 Ian Lance Taylor (ian@cygnus.com) - - * gdb.t07/watchpoint.exp: Removed a29k expected failure which now - works. - -Tue Apr 20 13:38:40 1993 Fred Fish (fnf@cygnus.com) - - * gdb.{t20,t21,t22,t23}/Makefile.in: Use $(srcdir) to avoid $< - in explicit rules. Apparently this is not supported by some makes. - -Mon Apr 19 01:54:53 1993 John Gilmore (gnu@cygnus.com) - - * gdb.t31/Makefile.in: Use $(srcdir) when avoiding $<, sigh. - -Fri Apr 16 09:33:46 1993 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) - - * config/unix-gdb.exp: Add back missing return 0 which mysteriously - disappeared. - -Thu Apr 15 02:28:24 1993 John Gilmore (gnu@cacophony.cygnus.com) - - * gdb.t31/Makefile.in: Avoid $< in explicit rule. - -Wed Apr 14 16:38:47 1993 Fred Fish (fnf@cygnus.com) - - * gdb.t07/watchpoint.exp: Remove setup_xfail for i486 - watchpoint problem that is now fixed. - * gdb.t30/chexp.exp: Remove setup_xfail for printing - uninitialized convenience variables. - * gdb.t31/chillvars.exp: Fix expected patterns for printing - structures. - -Wed Apr 14 12:55:58 1993 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) - - * gdb.t00/help.exp: Compensate for bug in mips-*-ultrix* OS - which causes expect to get out of sync with gdb on long output - from help set. - * gdb.t09/corefile.exp: Make expected pattern for core file - failing signal and frame output format less sun specific. - -Tue Apr 13 23:18:07 1993 Per Bothner (bothner@cygnus.com) - - * gdb.t31/chillvars.exp: Add and remove initial dummy - breakpoint, so that symbol table is forced in. - (Needed at least on Sunos4, though it seems not SVR4.) - * gdb.t31/chillvars.exp: Update for changed output format. - -Sun Apr 11 17:21:45 1993 Rob Savoye (rob at darkstar.cygnus.com) - - * config/unix-gdb.exp: Gracefully exits if $GDB is a bogus path. - -Wed Apr 7 21:28:21 1993 Rob Savoye (rob@cygnus.com) - - * Makefile.in: Added --srcdir when invoking runtest, removed the - need for a local config file. (optional now) - -Wed Apr 7 14:13:41 1993 Fred Fish (fnf@cygnus.com) - - * gdb.t21/demangle.exp: Only count real fails (not xfails) for - failure count used to force early termination. Add some more - expected failures for gnu style demangling. - -Thu Apr 1 09:50:30 1993 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) - - * Makefile.in (CXXFLAGS): Remove -O. It caused the debug info for the - pmi variable from gdb.t20/gdbme to get optimized away. - * gdb.t00/teststrategy.exp: Added expected failure for mips-*-*. - Check for written corefile upon timeout _and_ eof. - -Tue Mar 30 09:58:16 1993 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) - - * config/unix-gdb.exp: Add missing return 0. - -Tue Mar 30 08:34:25 1993 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) - - * gdb.t16/printcmds.exp: Remove misplaced xfail that caused an early - test termination. - -Mon Mar 29 17:37:25 1993 Fred Fish (fnf@cygnus.com) - - * configure.in (subdirs): Put back gdb.t17 which mysteriously - disappeared. - -Thu Mar 25 21:05:16 1993 Fred Fish (fnf@cygnus.com) - - * gdb.t10/crossload.exp: Disable the i860-elf test until such - time as i860 support works. - - * gdb.t15/funcargs.exp: Fix expected outputs to include - "backtrace 100\r" rather than just "backtrace\r", to match last - change. - -Thu Mar 25 12:14:28 1993 Ian Lance Taylor (ian@cygnus.com) - - * config/udi-gdb.exp (gdb_exit): Remove close command. - (gdb_target_udi): New procedure to set the UDI target. - (gdb_start): Don't remove *_soc files. Use gdb_target_udi. - * gdb.t00/default.exp: Added expected failures for a29k-*-udi. - Added waits for prompts after several question responses. Added - some more responses used by a29k-amd-udi-gdb. - * gdb.t01/run.exp, gdb.t06/break.exp: Added a29k-*-udi support: - pass different arguments, restart UDI connection after program - completion. - * gdb.t02/whatis.exp, gdb.t03/ptype.exp, gdb.t07/watchpoint.exp, - gdb.t08/opaque.exp, gdb.t11/list.exp, gdb.t12/scope.exp, - gdb.t15/funcargs.exp, gdb.t16/printcmds.exp, gdb.t20/misc.exp, - gdb.t21/cplusfuncs.exp: Added expected failures for a29k-*-*. - * gdb.t04/setvar.exp, gdb.t05/expr.exp, gdb.t07/watchpoint.exp, - gdb.t08/opaque.exp, gdb.t12/scope.exp, gdb.t13/bitfields.exp, - gdb.t15/funcargs.exp, gdb.t16/printcmds.exp, - gdb.t17/callfuncs.exp, gdb.t20/classes.exp, gdb.t20/inherit.exp, - gdb.t20/misc.exp, gdb.t22/virtfuncs.exp: Restart UDI connection - after program completion. - * gdb.t10/crossload.exp: Does not work for a29k-*-*, since BFD is - compiled with a SELECT_VECS setting. - * gdb.t15/funcargs.exp: Use argument to backtrace to prevent - infinite recursion. - - * gdb.t20/classes.exp, gdb.t20/inherit.exp, gdb.t22/virtfuncs.exp: - Added checks for COFF results, and made them expected failures for - all targets. It would be better to make them expected failures - for COFF targets only. - -Wed Mar 24 14:43:38 1993 david d `zoo' zuhn (zoo at poseidon.cygnus.com) - - * Makefile.in: add null dvi target, don't bother to recurse - through test directories for info and install-info; rename - $(datadir) to be dejagnu instead of deja-gnu - -Wed Mar 24 09:48:03 1993 Fred Fish (fnf@cygnus.com) - - * gdb.t31/gdbme.ch: Re-enable code that previously caused - compiler to coredump. - * gdb.t31/chillvars.exp: Re-enable tests that depend on that - code. - -Tue Mar 23 08:53:42 1993 Fred Fish (fnf@cygnus.com) - - * gdb.t31/gdbme.ch: Comment out code that causes chill compiler - coredump. - * gdb.t31/chillvars.exp: Comment out tests that depend on that - code. - -Sun Mar 21 17:56:47 1993 Rob Savoye (rob at darkstar.cygnus.com) - - * gdb.t03/ptype.exp: tests for return code from gdb_test. - * gdb.t00/teststrategy.exp: Uses which proc rather than spawning - which in a shell. Deletes xgdb when done. - * config/unix-gdb.exp: Won't try to spawn $GDB unless it exists. - Tests the return from the "set height" or "set width" commands. - Added a few return codes where needed. - -Wed Mar 17 11:31:01 1993 Fred Fish (fnf@cygnus.com) - - * Makefile.in (SUBDIRS): Add gdb.t17. - * configure.in (subdirs): Add gdb.t17. - * gdb.t17/{Makefile.in, callfuncs.exp, gdbme.c}: New test - files to test gdb's calling of functions in the inferior with - the correct arguments and gdb's ability to retrieve any - result returned. - -Tue Mar 16 15:37:11 1993 Fred Fish (fnf@cygnus.com) - - * config/unix-gdb.exp (gdb_exit): Remove close commands that - may be called after gdb goes away. Previous versions of expect - needed these to avoid file descriptor leaks, but they cause - errors with the current revision of expect. - * gdb.t00/gdbvars.exp: Use -re on expected output after - setting sevenbit-strings. - * gdb.t04/setvar.exp, gdb.t13/bitfields.exp: Make commands - to set sevenbit-strings consistent across tests. - gdb.t30/chexp.exp, gdb.t31/chillvars.exp: Make commands to - set sevenbit-strings consistent across tests. - -Fri Mar 12 08:47:20 1993 Fred Fish (fnf@cygnus.com) - - * gdb.t21/demangle.exp (proc demangle): Adjust quotes in an - expected output to match current "expect" expectations. - -Wed Mar 10 18:01:49 1993 Fred Fish (fnf@cygnus.com) - - * gdb.t00/default.exp: Change expected output for default "source" - command, to match new gdb behavior which requires a filename to - source. - -Tue Mar 9 11:00:56 1993 Fred Fish (fnf@cygnus.com) - - * gdb.t07/watchpoint.exp (test_simple_watchpoint): Set up - expected fail for i486-*-* that misses the marker2 function. - * gdb.t10/crossload.exp (bfddefault): Allow successful - recognition of a format to pass even if no symbols are found. - Explicitly catch failures where the format is not recognized - or is ambiguous, and add the reason to the fail message. - * gdb.t10/crossload.exp (bfdexplicit): Catch failure where - the cause is and invalid target and add reason to failure message. - * gdb.t10/crossload.exp: Fix bfd target names for elf32-m68k, - elf32-i386, elf32-sparc, and elf32-i860. - * gdb.t12/scope.exp (test_at_main, test_at_foo, test_at_bar): - Set up expected failure for 'filename'::variable scope resolution, - which is now apparently broken on all targets. - * gdb.t20/classes.exp, gdb.t20/inherit.exp, gdb.t20/misc.exp, - gdb.t21/cplusfuncs.exp, gdb.t22/virtfunc.exp, - gdb.t23/templates.exp: Change failure for missing binfile into - just a warning. - gdb.t21/demangle.exp: Change all cfront references to 'arm' - references. - -Mon Mar 8 19:20:28 1993 Fred Fish (fnf@cygnus.com) - - * gdb.t00/default.exp: Add expected output for default "source" - command, to match new gdb behavior. - * gdb.t09/corefile.exp: Use GDBFLAGS when spawning GDB. - -Sun Mar 7 15:14:09 1993 Rob Savoye (rob@cygnus.com) - - * config/*-gdb.exp: returns an error, rather than exiting on - internal errors. - -Tue Mar 2 18:09:32 1993 Fred Fish (fnf@cygnus.com) - - * gdb.t03/gdbme.c: Add pointer to struct variable. - * gdb.t03/ptype.exp: Test equivalence of '.' and '->' for - referencing struct members. - -Thu Feb 25 10:39:06 1993 Ian Lance Taylor (ian@cygnus.com) - - * configure.in (mips-idt-ecoff): New target. - * config/mips-gdb.exp: New file for remote board using MIPS remote - debugging protocol. - - * Redid configuration scheme. Removed gdb.t*/configure.in. - Renamed gdb.t*/in-gdbme* to gdb.t*/gdbme*. Changed to use CC, CXX - instead of CC_FOR_TARGET, CXX_FOR_TARGET. Added mostlyclean and - distclean targets. Built executables via .o files. Adjusted - tests to account for source files in $(srcdir) rather than - $(objdir). - * lib/gdb.exp (runto): Don't expect () after the function name, - because it may have arguments. - -Wed Feb 24 08:05:38 1993 Ian Lance Taylor (ian@cygnus.com) - - * gdb.t00/default.exp, gdb.t01/run.exp, gdb.t02/whatis.exp, - gdb.t03/ptype.exp, gdb.t06/break.exp, gdb.t12/scope.exp: Added - expected failures for mips-idt-* and mips-sgi-*. - * gdb.t00/default.exp (attach): Kill process if requested. - * gdb.t00/help.exp (help target core, help target): Accept a gdb - that does not read core files. - * gdb.t01/run.exp: Removed checks for exit status code. - * gdb.t03/in-gdbme.c: Make explicit call to malloc to ensure that - it is linked in. - * gdb.t03/ptype.exp: Increase timeout when calling malloc. - * gdb.t04/setvar.exp, gdb.t05/expr.exp: Use runto function where - appropriate, rather than doing it by hand. - * gdb.t07/watchpoint.exp: If mips-idt-*, reload file after first - execution. - * gdb.t10/crossload.exp: Kill existing program if needed. - * gdb.t15/funcargs.exp: Use delete_breakpoints function where - appropriate, rather than doing it by hand. Always increase - timeout for this test, not just for VxWorks. - -Wed Feb 24 08:03:38 1993 Fred Fish (fnf@cygnus.com) - - * gdb.t31/chillvars.exp (test_structs): New proc to test printing - of Chill STRUCT types and STRUCT values. - * gdb.t31/chillvars.exp (test_strings): Expect "CHAR" now, rather - than "char". - * gdb.t31/in-gdbme.ch (simple_struct, nested_struct, struct1, - struct2): New struct definitions and initializations to test - simple Chill STRUCT types. - -Tue Feb 23 11:55:06 1993 Fred Fish (fnf@cygnus.com) - - * gdb.t00/teststrategy.exp: Track reversion in gdb to not print - the null byte at the end of strings. - * gdb.t00/default.exp: Make show version insensitive to copyright - date. - * gdb.t16/in-gdbme.c (ctable1, ctable2): Make explicitly unsigned - to avoid dependencies on target char signedness. - * gdb.t16/printcmds.exp: Update expected results for explicitly - unsigned char. - * gdb.t16/printcmds.exp: Remove setup_xfails for i960 that should - now work. - * gdb.t21/demangle.exp: Add many more patterns for template - demangling, most of them being expected failures. - * gdb.t21/demangle.exp (proc demangle): Quote the demangled - string we are matching for, to match on the whole string. - * gdb.t21/demangle.exp: Add many new test strings to demangle, - and fix a whole bunch that had incorrect expected output but were - passing anyway because of the bug in "proc demangle". - * gdb.t31/chillvars.exp: Remove setup_xfail for printing string - type. - * gdb.t31/in-gdbme.ch: Uncomment string4, now compiles. - -Mon Feb 22 07:54:03 1993 Mike Werner (mtw@poseidon.cygnus.com) - - * gdb/testsuite: made modifications to testcases, etc., to allow - them to work properly given the reorganization of deja-gnu and the - relocation of the testcases from deja-gnu to a "tool" subdirectory. - -Sun Feb 21 10:55:55 1993 Mike Werner (mtw@poseidon.cygnus.com) - - * gdb/testsuite: Initial creation of gdb/testsuite. - Migrated dejagnu testcases and support files for testing nm to - gdb/testsuite from deja-gnu. These files were moved "as is" - with no modifications. This migration is part of a major overhaul - of dejagnu. The modifications to these testcases, etc., which - will allow them to work with the new version of dejagnu will be - made in a future update. - -Local Variables: -mode: indented-text -left-margin: 8 -fill-column: 74 -version-control: never -End: diff --git a/gdb/testsuite/Makefile.in b/gdb/testsuite/Makefile.in deleted file mode 100644 index f31b5bb4d0b..00000000000 --- a/gdb/testsuite/Makefile.in +++ /dev/null @@ -1,183 +0,0 @@ -# Makefile for regression testing the GNU debugger. -# Copyright (C) 1992, 1993, 1994, 1995 Free Software Foundation, Inc. - -# This file is part of GDB. - -# GDB is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2, or (at your option) -# any later version. - -# GDB is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - -srcdir = @srcdir@ -prefix = @prefix@ -exec_prefix = @exec_prefix@ - -host_alias = @host_alias@ -target_alias = @target_alias@ -program_transform_name = @program_transform_name@ -build_canonical = @build@ -host_canonical = @host@ -target_canonical = @target@ -target_cpu = @gdb_target_cpu@ - -SHELL = /bin/sh -SUBDIRS = @subdirs@ -RPATH_ENVVAR = @RPATH_ENVVAR@ - -EXPECT = `if [ -f $${rootme}/../../expect/expect ] ; then \ - echo $${rootme}/../../expect/expect ; \ - else echo expect ; fi` - -RUNTEST = $(RUNTEST_FOR_TARGET) - -RUNTESTFLAGS = - -RUNTEST_FOR_TARGET = `\ - if [ -f $${srcdir}/../../dejagnu/runtest ]; then \ - echo $${srcdir}/../../dejagnu/runtest; \ - else \ - if [ "$(host_canonical)" = "$(target_canonical)" ]; then \ - echo runtest; \ - else \ - t='$(program_transform_name)'; echo runtest | sed -e '' $$t; \ - fi; \ - fi` - -#### host, target, and site specific Makefile frags come in here. - -# The use of $$(x_FOR_TARGET) reduces the command line length by not -# duplicating the lengthy definition. - -TARGET_FLAGS_TO_PASS = \ - "prefix=$(prefix)" \ - "exec_prefix=$(exec_prefix)" \ - "against=$(against)" \ - 'CC=$$(CC_FOR_TARGET)' \ - "CC_FOR_TARGET=$(CC_FOR_TARGET)" \ - "CFLAGS=$(TESTSUITE_CFLAGS)" \ - "CHILLFLAGS=$(CHILLFLAGS)" \ - 'CHILL=$$(CHILL_FOR_TARGET)' \ - "CHILL_FOR_TARGET=$(CHILL_FOR_TARGET)" \ - "CHILL_LIB=$(CHILL_LIB)" \ - 'CXX=$$(CXX_FOR_TARGET)' \ - "CXX_FOR_TARGET=$(CXX_FOR_TARGET)" \ - "CXXFLAGS=$(CXXFLAGS)" \ - "MAKEINFO=$(MAKEINFO)" \ - "INSTALL=$(INSTALL)" \ - "INSTALL_PROGRAM=$(INSTALL_PROGRAM)" \ - "INSTALL_DATA=$(INSTALL_DATA)" \ - "LDFLAGS=$(LDFLAGS)" \ - "LIBS=$(LIBS)" \ - "RUNTEST=$(RUNTEST)" \ - "RUNTESTFLAGS=$(RUNTESTFLAGS)" - -all: - @echo "Nothing to be done for all..." - -.NOEXPORT: -INFODIRS=doc -info: -install-info: -dvi: - -install: - -uninstall: force - -site.exp: ./config.status Makefile - @echo "Making a new config file..." - -@rm -f ./tmp? - @touch site.exp - -@mv site.exp site.bak - @echo "## these variables are automatically generated by make ##" > ./tmp0 - @echo "# Do not edit here. If you wish to override these values" >> ./tmp0 - @echo "# add them to the last section" >> ./tmp0 - @echo "set host_alias $(host_alias)" >> ./tmp0 - @echo "set host_triplet ${host_canonical}" >> ./tmp0 - @echo "set target_alias $(target_alias)" >> ./tmp0 - @echo "set target_triplet ${target_canonical}" >> ./tmp0 - @echo "set build_triplet ${build_canonical}" >> ./tmp0 - @echo "set srcdir ${srcdir}" >> ./tmp0 - @echo "set tool gdb" >> ./tmp0 - @echo "## All variables above are generated by configure. Do Not Edit ##" >> ./tmp0 - @cat ./tmp0 > site.exp - @cat site.bak | sed \ - -e '1,/^## All variables above are.*##/ d' >> site.exp - -@rm -f ./tmp? - -installcheck: - -check: site.exp all just-check - -just-check: - rootme=`pwd`; export rootme; \ - srcdir=${srcdir} ; export srcdir ; \ - EXPECT=${EXPECT} ; export EXPECT ; \ - $(RPATH_ENVVAR)=$$rootme/../../expect:$$rootme/../../libstdc++:$$rootme/../../tk/unix:$$rootme/../../tcl/unix:$$rootme/../../bfd:$$rootme/../../opcodes:$$$(RPATH_ENVVAR); \ - export $(RPATH_ENVVAR); \ - if [ -f $${rootme}/../../expect/expect ] ; then \ - TCL_LIBRARY=$${srcdir}/../../tcl/library ; \ - export TCL_LIBRARY ; fi ; \ - $(RUNTEST) $(RUNTESTFLAGS) - -subdir_do: force - @for i in $(DODIRS); do \ - if [ -d ./$$i ] ; then \ - if (rootme=`pwd`/ ; export rootme ; \ - rootsrc=`cd $(srcdir); pwd`/ ; export rootsrc ; \ - cd ./$$i; \ - $(MAKE) $(TARGET_FLAGS_TO_PASS) $(DO)) ; then true ; \ - else exit 1 ; fi ; \ - else true ; fi ; \ - done - -force:; - -subdirs: - for dir in ${SUBDIRS} ; \ - do \ - echo "$$dir:" ; \ - if [ -d $$dir ] ; then \ - (rootme=`pwd`/ ; export rootme ; \ - rootsrc=`cd $(srcdir); pwd`/ ; export rootsrc ; \ - cd $$dir; $(MAKE) $(TARGET_FLAGS_TO_PASS)); \ - fi; \ - done - -clean mostlyclean: - -rm -f *~ core *.o a.out xgdb *.x - if [ x"${SUBDIRS}" != x ] ; then \ - for dir in ${SUBDIRS}; \ - do \ - echo "$$dir:"; \ - if [ -d $$dir ]; then \ - (cd $$dir; $(MAKE) clean); \ - fi; \ - done ; \ - else true; fi - -distclean maintainer-clean realclean: clean - -rm -f *~ core *.log *.plog *.sum *.psum site.* - -rm -f Makefile config.status *-init.exp - -rm -fr *.log summary detail *.plog *.sum *.psum site.* - if [ x"${SUBDIRS}" != x ] ; then \ - for dir in ${SUBDIRS}; \ - do \ - echo "$$dir:"; \ - if [ -d $$dir ]; then \ - (cd $$dir; $(MAKE) distclean); \ - fi; \ - done ; \ - else true; fi - -Makefile : $(srcdir)/Makefile.in $(srcdir)/configure.in $(host_makefile_frag) $(target_makefile_frag) - $(SHELL) ./config.status diff --git a/gdb/testsuite/TODO b/gdb/testsuite/TODO deleted file mode 100644 index ec0ce145166..00000000000 --- a/gdb/testsuite/TODO +++ /dev/null @@ -1,205 +0,0 @@ -The highest priority item is not on this list: Fix bugs in the -existing testsuite, fix the GDB/compiler/shell/etc bugs which it -detects (particularly when they are hard to XFAIL), make it run -reliably without unexpected failures on the "standard" machines, etc. -This list exists largely as "tests we can add when we are ready to -risk destabilizing it again". - -nodebug.exp--test printing variables. - -Test printing of structures passed by value, for the 7th, 8th, and 9th -arguments (PR 1714). Test printing structure arguments of -2,4,6,8,12,16,and 20 bytes. Same for structure return of all those -sizes ("return", "finish", and call function). - -Get crossload tests to use --enable-targets and reenable them. - -corefile.exp: -1. Print variables from the core file (data and stack), and text -(from the exec file). This tests whether the corefile sections are -mapped to the right addresses. -2. Test what happens when we get a new exec file without explicitly -getting rid of the core file (we at least must avoid core dumps and such). -3. Test backtrace in corefile.exp. -4. Test ability to run program when there is a core target, then go -back to the core file when the program exits. - -Test handling of floating point variables -1. float, double, or long double -2. in register or saved register or memory. Also the case where a -double is in two float registers and only one of them is saved. -3. print them or set them -4. (Alpha) integer (32 or 64 bit) in floating point register. - -Print registers--"p $r5", "p sizeof ($r5)". Test that they print -appropriately (integer registers in decimal, registers which always -contain addresses (pc, probably sp and fp, maybe others) in hex, -floating point). - -Test completer. There is a list of test cases in main.c in the gdb -source. Test these with TAB, M-?, and the "complete" command. - -Test "info line" with all kinds of linespecs. Test that the last line -of the file works right. - -weird.exp--test that unrecognized cross-reference types or -unrecognized visibility or virtual characters get skipped properly -(see stabs.texinfo). - -Test C++ nested types (especially if PR 1954 is fixed; even if not -*some* things already should work even in the presence of nested -types). Test classes nested more than 9 levels deep (g++ mangles -these differently) (both a demangle test and some tests which also -test the compiler). Test calling a method of a class nested more than -9 levels (for gdb_mangle_name and demangling). - -Test static member functions (C++). Test that "ptype" shows them -correctly, both before and after they have been converted from stub -methods. Test that we can call them. - -Test printing complicated types, including functions, pointers to -arrays of pointers of functions, functions which return pointers to -functions, etc. - -Test GDB expressions--test all operators (and overloaded operators for -C++). Test integer constants which are signed or unsigned int, long, -or long long. Test detection of overflow of an integer constant. -Here are a few integer constants to test (test they get the right -types): 5, 5LL, 5LuL, 5L6u (invalid), 5LU. Maybe things like -0x12345678, 0x87654321, etc., but their types depend on sizes of int, -long, etc. - -Test that printing const-qualified versions of various types works. -In particular, on the sparc and probably other machines, "double" is -handled differently from most types because it requires more alignment -and thus goes in a different section (there is a gcc 2.4.5 bug with -"const double" on sparc). - -Test that GDB's "source" command works and that things work if stdin -is redirected (to a file or a pipe). Test user defined command. Run -an inferior each of these ways (to test that inflow.c works). Test -that GDB works if the last line of stdin or a source'd file lacks a -newline. - -Test that module__2do (for example) in a C program does not get -demangled. - -Test that unmatched single quotes produce error messages, both in -expressions and linespecs. - -Test "cd". "foo/bar/.." should get simplified to "foo". "/../.." -should not get simplified (for Mach). "/.." should not get simplified -(for other networked OSes; POSIX.1 section B.2.3.7). All these -examples should continue to work with trailing slashes. - -Test scoping; here is a start - 1 int i=2; - 2 int j=3; - 3 main() - 4 { - 5 int i; - 6 for (i=600; i>0; i--) - 7 print_line(i); - 8 } - 9 -10 print_line(i) -11 int i; -12 { -13 h(); -14 printf("%d\n",i); -15 } -16 -17 h() -18 { -19 printf("In h..."); -20 } -Set a breakpoint in h, and print i, print_line::i, and main::i. Set a -breakpoint in main (or don't run the program), and test that -print_line::i is an error. But if i were static, "p main::i" should -work even if the program is not being run. - -Write a test for the reentracy bug with rs6000_struct_return_address -in rs6000-tdep.c. - -Test "return" from dummy frames. Test "return" from non-innermost -frame. Test that "return" from a non-innermost frame restores -registers which are saved not in that frame but in a frame more inner -(I believe this currently works on few if any architectures). - -FORTRAN common blocks (a.out and xcoff--weird.exp has the start of -one but it is not quite right as of 19 Nov 1993). - -Test that "x" command sets $_ and $__. Test $_ in general. - -Test that "p/a" works when given addresses in text, data, and bss -segments. Test that it works if program is compiled with or without --g. Test that it works if preceding symbol is static or if it is -extern. - -Given `char abc[] = "abc\0def";' test "x/s abc" followed by "x/s" -(should display "abc" followed by "def"). Test this works with no -error message even if this is the last thing in the section (tests -that val_print_string ignores an error if the error occurs after the -'\0'). - -Test ability to process NMAGIC a.out files. - -Test shared libraries: "next" over printf, "step" into a function in -a shared library which has line number info, breakpoint in a function -in a shared library (either before or after the program is run and the -shared libraries are loaded--also maybe write a test where the PLT -will be in an unloaded state even though the shared library is loaded). - -If there are two breakpoints in the same place, and exactly one of -them has its condition true, test that the correct breakpoint gets -printed. - -Test "jump" including jump to a breakpoint (the latter will need an -xfail for UDI and probably VxWorks (PR 1786 for vxworks; PR 2416 -contains some info for 29k). - -Set a watchpoint on a local variable (to be interesting, make a few -calls, to be more interesting, make a recursive call). Test that it -gets disabled when leaving that scope. - -Test calling a function, hitting a breakpoint in the called function, -calling another function, and hitting a breakpoint. Test backtrace -works in the presence of multiple dummy frames. Test that "continue" -will get you out of the inner called function, and "continue" again -will get you back to where you were when you called the first one. - -Test special longjmp handling in wait_for_inferior (need to figure out -in detail what the proper behavior in each case is). Test longjmp to -a place where there is a breakpoint (such that -BPSTAT_WHAT_CLEAR_LONGJMP_RESUME_SINGLE happens). In general, test -interactions between longjmp and watchpoints, breakpoints, stepping, -call function, etc. - -Test jumping right past a breakpoint (the case where wait_for_inferior -passes not_a_breakpoint to bpstat_stop_status). Might already be -tested by some of the sun3 tests. Probably want a .s test to avoid -compiler dependencies. - -Test more obscure wait_for_inferior cases, expanding on the tests in -watchpoint.exp, signals.exp, etc. - -Test "handle all nostop". Right now this is buggy--it (a) prints "?" -for "Unknown signal", (b) prints signal zero (bug or feature?), (c) -dumps core when it is done. - -Test that the copyright year in the startup message matches the -current year (would produce a single spurious FAIL on old GDB's, but -probably still a good idea). - -Test that prologue recognition, backtrace, printing locals, etc., -still work in the presence of large frames (the point being that at -some point immediate fields in RISC instructions will overflow and -prologues will need to look different. For sparc, the immediate field -is 13 bits (signed), so I believe the threshold would be 4K bytes in a -frame). - - -(this is for editing this file with GNU emacs) -Local Variables: -mode: text -End: diff --git a/gdb/testsuite/config/.Sanitize b/gdb/testsuite/config/.Sanitize deleted file mode 100644 index 82f1c5069cd..00000000000 --- a/gdb/testsuite/config/.Sanitize +++ /dev/null @@ -1,78 +0,0 @@ -# .Sanitize for gdb/testsuite/config. - -# Each directory to survive its way into a release will need a file -# like this one called "./.Sanitize". All keyword lines must exist, -# and must exist in the order specified by this file. Each directory -# in the tree will be processed, top down, in the following order. - -# Hash started lines like this one are comments and will be deleted -# before anything else is done. Blank lines will also be squashed -# out. - -# All files listed between the "Things-to-keep:" line and the -# "Do-last:" line will be kept. All other files will be removed. -# Directories listed in this section will have their own Sanitize -# called. Directories not listed will be removed in their entirety -# with rm -rf. - -Do-first: - -Things-to-keep: - -abug.exp -arm-ice.exp -cpu32bug.exp -cygmon.exp -d10v.exp -dve.exp -est.exp -gdbserver.exp -h8300.exp -hmsirom.exp -hppro.exp -i386-bozo.exp -i960.exp -m32r-stub.exp -m32r.exp -m68k-emc.exp -mips-idt.exp -mips.exp -mn10300-eval.exp -monitor.exp -mt-a29k-udi -mt-i386-aout -mt-i960-nindy -mt-lynx -mt-m68k -mt-mips-ecoff -mt-netware -mt-slite -mt-sparc-aout -mt-unix -mt-vxworks -netware.exp -nind.exp -proelf.exp -rom68k.exp -sh.exp -sim.exp -slite.exp -sparclet.exp -udi.exp -unix.exp -unknown.exp -vr4300.exp -vr5000.exp -vx.exp -vxworks.exp -vxworks29k.exp - -Things-to-lose: - -# The lines between the "Do-last:" line and the end of the file -# are executed as a /bin/sh shell script after everything else is -# done. - -Do-last: - -# eof diff --git a/gdb/testsuite/config/abug.exp b/gdb/testsuite/config/abug.exp deleted file mode 100644 index e6ade13e5af..00000000000 --- a/gdb/testsuite/config/abug.exp +++ /dev/null @@ -1,20 +0,0 @@ -# Copyright (C) 1997 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - -# Please email any bugs, comments, and/or additions to this file to: -# bug-gdb@prep.ai.mit.edu - -load_lib ../config/monitor.exp diff --git a/gdb/testsuite/config/arm-ice.exp b/gdb/testsuite/config/arm-ice.exp deleted file mode 100644 index d9842743d94..00000000000 --- a/gdb/testsuite/config/arm-ice.exp +++ /dev/null @@ -1 +0,0 @@ -load_lib "../config/monitor.exp"; diff --git a/gdb/testsuite/config/cpu32bug.exp b/gdb/testsuite/config/cpu32bug.exp deleted file mode 100644 index e6ade13e5af..00000000000 --- a/gdb/testsuite/config/cpu32bug.exp +++ /dev/null @@ -1,20 +0,0 @@ -# Copyright (C) 1997 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - -# Please email any bugs, comments, and/or additions to this file to: -# bug-gdb@prep.ai.mit.edu - -load_lib ../config/monitor.exp diff --git a/gdb/testsuite/config/d10v.exp b/gdb/testsuite/config/d10v.exp deleted file mode 100644 index 78090937380..00000000000 --- a/gdb/testsuite/config/d10v.exp +++ /dev/null @@ -1 +0,0 @@ -load_lib "../config/monitor.exp" diff --git a/gdb/testsuite/config/dve.exp b/gdb/testsuite/config/dve.exp deleted file mode 100644 index 6aa46c1c834..00000000000 --- a/gdb/testsuite/config/dve.exp +++ /dev/null @@ -1,23 +0,0 @@ -# Copyright (C) 1998 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - -# Please email any bugs, comments, and/or additions to this file to: -# bug-gdb@prep.ai.mit.edu - -load_lib ../config/monitor.exp -set timeout 1000 -verbose "Timeout is now $timeout seconds" 2 - diff --git a/gdb/testsuite/config/est.exp b/gdb/testsuite/config/est.exp deleted file mode 100644 index e6ade13e5af..00000000000 --- a/gdb/testsuite/config/est.exp +++ /dev/null @@ -1,20 +0,0 @@ -# Copyright (C) 1997 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - -# Please email any bugs, comments, and/or additions to this file to: -# bug-gdb@prep.ai.mit.edu - -load_lib ../config/monitor.exp diff --git a/gdb/testsuite/config/gdbserver.exp b/gdb/testsuite/config/gdbserver.exp deleted file mode 100644 index e9e873e710f..00000000000 --- a/gdb/testsuite/config/gdbserver.exp +++ /dev/null @@ -1,105 +0,0 @@ -# Test Framework Driver for GDB using the extended gdb remote protocol -# Copyright 1995 Free Software Foundation, Inc. -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -# -# For this to function correctly, you need to set a number of variables -# in your gdb/site.exp file -# -# set noargs 1 -- we can't pass arguments (yet) -# set noinferiorio 1 -- we can't get io to/from the inferior -# set targethost <host> -- name of the remote system (runs gdbserver) -# set debughost <host> -- name of the system running gdb -# set port <number> -- starting port number for communication -# set gdbserver <path> -- path (on the remote side) to find -# gdbserver -# set rsh <path> -- path (on debughost side) to rsh -# set rcp <path> -- path (on debughost side) to rcp -# -# You will need to be able to spawn processes from gdbhost to run on -# targethost via rsh (this is how we start gdbserver); similarly -# you need to be able to rcp files from gdbhost to targethost. -# -# We don't do much error checking, if something goes wrong, you'll probably -# just get a tcl error and everything will die. FIXME -# - -# Load the basic gdb testing library -load_lib gdb.exp -load_lib monitor.exp - -# -# gdb_load -- load a file into the debugger. -# return a -1 if anything goes wrong. -# -# Loading a file in the gdbsrever framework is a little strange in that -# we also create the inferior (which is stopped at the first instruction -# in the program when we get control). -# -proc gdb_load { arg } { - global verbose - global loadpath - global loadfile - global GDB - global prompt - global debughost - global port - - # first load the file into gdb - if [gdb_file_cmd $arg] then { return -1 } - - # bump the port number to avoid conflicts with hung ports - set targethost [target_info gdb_server_host]; - set debughost [target_info gdb_debug_host]; - if [target_info exists gdb_server_prog] { - set gdbserver [target_info gdb_server_prog]; - } else { - set gdbserver "gdbserver"; - } - incr port - set serialport $targethost:$port - - # Copy the file down to the remote host. - set file [remote_download host $arg]; - - # now start gdbserver on the remote side - remote_spawn host "$gdbserver $debughost:$port $file >& /dev/null < /dev/null" - - # give it plenty of time to get going (lynx) - sleep 30 - - # tell gdb we are remote debugging - gdb_target_monitor - - return 1 -} - -# -# gdb_start -- start GDB running. -# -proc gdb_start { } { - global prompt - - # do the usual stuff - catch default_gdb_start - - # FIXME: This shouldn't be necessary, but lots of PA tests fail - # without it. - send "set remotecache 0\n" - expect { - -re "set remotecache 0\[\r\n\]+.*$prompt $" {} - default { fail "gdb_start"} - } -} diff --git a/gdb/testsuite/config/h8300.exp b/gdb/testsuite/config/h8300.exp deleted file mode 100644 index d9842743d94..00000000000 --- a/gdb/testsuite/config/h8300.exp +++ /dev/null @@ -1 +0,0 @@ -load_lib "../config/monitor.exp"; diff --git a/gdb/testsuite/config/hmsirom.exp b/gdb/testsuite/config/hmsirom.exp deleted file mode 100644 index 75fc81da18a..00000000000 --- a/gdb/testsuite/config/hmsirom.exp +++ /dev/null @@ -1,22 +0,0 @@ -# Copyright (C) 1997 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - -# Please email any bugs, comments, and/or additions to this file to: -# bug-gdb@prep.ai.mit.edu - -# Support for testing against a Hitachi SH3 target rom - -load_lib ../config/monitor.exp diff --git a/gdb/testsuite/config/hppro.exp b/gdb/testsuite/config/hppro.exp deleted file mode 100644 index 0fca142235f..00000000000 --- a/gdb/testsuite/config/hppro.exp +++ /dev/null @@ -1,24 +0,0 @@ -# Copyright (C) 1997 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - -# Please email any bugs, comments, and/or additions to this file to: -# bug-gdb@prep.ai.mit.edu - -load_lib ../config/monitor.exp - -# Hppro monitor is very slow... -set timeout 540 -verbose "Timeout is now $timeout seconds" 2 diff --git a/gdb/testsuite/config/i386-bozo.exp b/gdb/testsuite/config/i386-bozo.exp deleted file mode 100644 index 78090937380..00000000000 --- a/gdb/testsuite/config/i386-bozo.exp +++ /dev/null @@ -1 +0,0 @@ -load_lib "../config/monitor.exp" diff --git a/gdb/testsuite/config/i960.exp b/gdb/testsuite/config/i960.exp deleted file mode 100644 index e6ade13e5af..00000000000 --- a/gdb/testsuite/config/i960.exp +++ /dev/null @@ -1,20 +0,0 @@ -# Copyright (C) 1997 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - -# Please email any bugs, comments, and/or additions to this file to: -# bug-gdb@prep.ai.mit.edu - -load_lib ../config/monitor.exp diff --git a/gdb/testsuite/config/m32r-stub.exp b/gdb/testsuite/config/m32r-stub.exp deleted file mode 100644 index d3c70583711..00000000000 --- a/gdb/testsuite/config/m32r-stub.exp +++ /dev/null @@ -1,463 +0,0 @@ -# Copyright (C) 1996 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - -# Please email any bugs, comments, and/or additions to this file to: -# DejaGnu@cygnus.com - -# This file was written by Michael Snyder <msnyder@cygnus.com>. - -# GDB support routines for a board using Mitsubishi M32R remote debugging -# protocol. - -load_lib remote.exp -load_lib gdb.exp - - -# -# M32R remote run command. -# -# This requires that we beep the user and ask him to push the board reset! -# Then we will switch to the monitor target, run the program, use 2 ^C's -# to interrupt the monitor target, and switch back to the remote target. -# Then we have to do a continue to get past the stub breakpoint. -# - -proc gdb_run_cmd {} { - global prompt - global gdb_spawn_id - - set timeout 60 - verbose "Timeout is now $timeout seconds, starting remote stub" 2 - send_user "Please reset the board now...\n" - sleep 1 - send_user "\n" - sleep 1 - send_user "\n" - sleep 1 - send_user "\n" - - # go back to monitor, run the program, interrupt it, and start remote. - - if [target_info exists gdb_protocol] { - set protocol [target_info gdb_protocol]; - } else { - set protocol "sparclet" - } - if [target_info exists serial] { - set targetname [target_info serial]; - send_gdb "target $protocol [target_info serial]\n"; - } else { - if ![target_info exists netport] { - perror "Need either netport or gdb_serial entry for [target_info name]."; - return -1; - } - set targetname [target_info netport]; - send_gdb "target $protocol udp [target_info netport]\n"; - } - - expect { - -i $gdb_spawn_id -re "A program is being debug.*Kill it.*y or n. $" { - send_gdb "y\n" - exp_continue - } - -i $gdb_spawn_id -re "Remote target.*$prompt $" { } - -i $gdb_spawn_id -re ".*SPARCLET appears to be alive.*$prompt $" { - if $verbose>1 then { - send_user "Set target to $targetname\n" - } - } - -i $gdb_spawn_id timeout { - set timeout 10 - verbose "Timeout is now $timeout seconds" 2 - perror "Couldn't set M32R target." - return -1 - } - } - - send_gdb "disable\n"; - expect { - -i $gdb_spawn_id -re ".*$prompt $" { - verbose "Breakpoints disabled" 2 - } - -i $gdb_spawn_id timeout { - perror "(timeout) disabling breakpoints"; - return -1 - } - -i $gdb_spawn_id default { - perror "error disabling breakpoints"; - } - } - send_gdb "run\n"; - expect { - -i $gdb_spawn_id -re "A program is being debug.*Kill it.*y or n. $" { - send_gdb "y\n" - exp_continue - } - -i $gdb_spawn_id -re "The program being debugged .*y or n. $" { - send_gdb "y\n" - exp_continue - } - -i $gdb_spawn_id -re ".*Starting program:.*$" { - verbose "Starting remote stub succeeded" - } - -i $gdb_spawn_id timeout { - perror "(timeout) starting the remote stub" ; - return -1 - } - -i $gdb_spawn_id default { - perror "error starting the remote stub"; - } - } - sleep 2; - send_gdb "" - sleep 1; - send_gdb "" - verbose "Sent ^C^C" - expect { - -i $gdb_spawn_id -re ".*Give up .and stop debugging it.*$" { - send_gdb "y\n" - exp_continue - } - -i $gdb_spawn_id -re ".*$prompt $" { - verbose "interrupting remote stub succeeded" - } - -i $gdb_spawn_id timeout { - perror "(timeout) interrupting the remote stub"; - return -1 - } - -i $gdb_spawn_id default { - perror "error interrupting the remote stub"; - } - } - - if [target_info exists gdb_serial] { - send_gdb "target remote [target_info gdb_serial]\n" - expect { - -i $gdb_spawn_id -re ".*Kill it?.*y or n.*" { - send_gdb "y\n"; - exp_continue - } - -i $gdb_spawn_id -re ".*$prompt $" { - verbose "connected to stub at [target_info gdb_serial]" 2 - } - -i $gdb_spawn_id timeout { - set timeout 10 - verbose "Timeout is now $timeout seconds" 2 - perror "Couldn't set remote target." - return -1 - } - } - } - - send_gdb "enable\n"; - expect { - -i $gdb_spawn_id -re ".*$prompt $" { - verbose "Breakpoints enabled" 2 - } - -i $gdb_spawn_id timeout { - perror "(timeout) enabling breakpoints"; - return -1 - } - -i $gdb_spawn_id default { - perror "error enabling breakpoints"; - } - } - send_gdb "continue\n"; - return -} - - -# -# gdb_load -- load a file into the GDB. -# Returns a 0 if there was an error, -# 1 if it load successfully. -# -proc gdb_load { arg } { - global verbose - global loadpath - global loadfile - global prompt - global GDB - global expect_out - global gdb_spawn_id - - set loadfile [file tail $arg] - set loadpath [file dirname $arg] - - if [target_info exists gdb_protocol] { - set protocol [target_info gdb_protocol]; - } else { - set protocol "m32r" - } - - # get the stub-based loader for faster loading - send_gdb "file [target_info gdb_loader]\n" - expect { - -i $gdb_spawn_id -re "A program is being debug.*Kill it.*y or n. $" { - send_gdb "y\n" - exp_continue - } - -i $gdb_spawn_id -re "Load new symbol table.*y or n. $" { - send_gdb "y\n" - exp_continue - } - -i $gdb_spawn_id -re "Reading symbols from.*done..*$prompt $" {} - -i $gdb_spawn_id -re "$prompt $" { perror "GDB couldn't find loader" } - -i $gdb_spawn_id timeout { - perror "(timeout) read symbol file" ; - return -1 - } - } - - if [target_info exists serial] { - set targetname [target_info serial]; - send_gdb "target $protocol [target_info serial]\n"; - } else { - if ![target_info exists netport] { - perror "Need either netport or gdb_serial entry for [target_info name]."; - return -1; - } - set targetname [target_info netport]; - send_gdb "target $protocol udp [target_info netport]\n"; - } - expect { - -i $gdb_spawn_id -re "Remote target.*$prompt $" { } - -i $gdb_spawn_id -re ".*SPARCLET appears to be alive.*$prompt $" { - if $verbose>1 then { - send_user "Set target to $targetname\n" - } - } - -i $gdb_spawn_id timeout { - set timeout 10 - verbose "Timeout is now $timeout seconds" 2 - perror "Couldn't set M32R target." - return -1 - } - } - - send_gdb "run\n"; - expect { - -i $gdb_spawn_id -re "A program is being debug.*Kill it.*y or n. $" { - send_gdb "y\n" - exp_continue - } - -i $gdb_spawn_id -re "The program being debugged .*y or n. $" { - send_gdb "y\n" - exp_continue - } - -i $gdb_spawn_id -re ".*Starting program:.*loader.*$" { - verbose "Starting loader succeeded" - } - -i $gdb_spawn_id timeout { - perror "(timeout) starting the loader" ; - return -1 - } - -i $gdb_spawn_id default { - perror "error starting the loader"; - } - } - sleep 2; - send_gdb "" - sleep 1; - send_gdb "" - verbose "Sent ^C^C" - expect { - -i $gdb_spawn_id -re ".*Give up .and stop debugging it.*$" { - send_gdb "y\n" - exp_continue - } - -i $gdb_spawn_id -re ".*$prompt $" { - verbose "Running loader succeeded" - } - -i $gdb_spawn_id timeout { - perror "(timeout) interrupting the loader" ; - return -1 - } - -i $gdb_spawn_id default { - perror "error interrupting the loader"; - } - } - - # Now ready to actually load the file: - - send_gdb "file $arg\n" - expect { - -i $gdb_spawn_id -re "A program is being debug.*Kill it.*y or n. $" { - send_gdb "y\n" - exp_continue - } - -i $gdb_spawn_id -re "Load new symbol table.*y or n. $" { - send_gdb "y\n" - exp_continue - } - -i $gdb_spawn_id -re "Reading symbols from.*done..*$prompt $" {} - -i $gdb_spawn_id -re "$prompt $" { perror "GDB couldn't read file" } - -i $gdb_spawn_id timeout { - perror "(timeout) read symbol file" ; - return -1 - } - } - - if [target_info exists gdb_serial] { - send_gdb "target remote [target_info gdb_serial]\n" - expect { - -i $gdb_spawn_id -re ".*Kill it?.*y or n.*" { - send_gdb "y\n"; - exp_continue - } - -i $gdb_spawn_id -re ".*$prompt $" { - verbose "Set remote target to [target_info serial]" 2 - } - -i $gdb_spawn_id timeout { - set timeout 10 - verbose "Timeout is now $timeout seconds" 2 - perror "Couldn't set remote target." - return -1 - } - } - } - if [target_info exists gdb_load_offset] { - set offset "[target_info gdb_load_offset]"; - } else { - set offset ""; - } - send_gdb "load $arg $offset\n" - verbose "Loading $arg into $GDB" 2 - set timeout 1200 - verbose "Timeout is now $timeout seconds" 2 - expect { - -i $gdb_spawn_id -re "Loading.*$prompt $" { - verbose "Loaded $arg into $GDB" 1 - set timeout 60 - verbose "Timeout is now $timeout seconds" 2 - } - -i $gdb_spawn_id -re "$prompt $" { - if $verbose>1 then { - perror "GDB couldn't load." - } - } - -i $gdb_spawn_id timeout { - if $verbose>1 then { - perror "Timed out trying to load $arg." - } - } - } - - send_user "Please reset the board now...\n" - sleep 1 - send_user "\n" - sleep 1 - send_user "\n" - sleep 1 - send_user "\n" - - # go back to monitor, run the program, interrupt it, and start remote. - - if [target_info exists serial] { - set targetname [target_info serial]; - send_gdb "target $protocol [target_info serial]\n"; - } else { - if ![target_info exists netport] { - perror "Need either netport or gdb_serial entry for [target_info name]."; - return -1; - } - set targetname [target_info netport]; - send_gdb "target $protocol udp [target_info netport]\n"; - } - - expect { - -i $gdb_spawn_id -re "A program is being debug.*Kill it.*y or n. $" { - send_gdb "y\n" - exp_continue - } - -i $gdb_spawn_id -re "Remote target.*$prompt $" { } - -i $gdb_spawn_id -re ".*SPARCLET appears to be alive.*$prompt $" { - if $verbose>1 then { - send_user "Set target to $targetname\n" - } - } - -i $gdb_spawn_id timeout { - set timeout 10 - verbose "Timeout is now $timeout seconds" 2 - perror "Couldn't set M32R target." - return -1 - } - } - - send_gdb "run\n"; - expect { - -i $gdb_spawn_id -re "A program is being debug.*Kill it.*y or n. $" { - send_gdb "y\n" - exp_continue - } - -i $gdb_spawn_id -re "The program being debugged .*y or n. $" { - send_gdb "y\n" - exp_continue - } - -i $gdb_spawn_id -re ".*Starting program:.*$" { - verbose "Starting remote stub succeeded" - } - -i $gdb_spawn_id timeout { - perror "(timeout) starting the remote stub" ; - return -1 - } - -i $gdb_spawn_id default { - perror "error starting the remote stub"; - } - } - sleep 2; - send_gdb "" - sleep 1; - send_gdb "" - verbose "Sent ^C^C" - expect { - -i $gdb_spawn_id -re ".*Give up .and stop debugging it.*$" { - send_gdb "y\n" - exp_continue - } - -i $gdb_spawn_id -re ".*$prompt $" { - verbose "interrupting remote stub succeeded" - } - -i $gdb_spawn_id timeout { - perror "(timeout) interrupting the remote stub"; - return -1 - } - -i $gdb_spawn_id default { - perror "error interrupting the remote stub"; - } - } - - if [target_info exists gdb_serial] { - send_gdb "target remote [target_info gdb_serial]\n" - expect { - -i $gdb_spawn_id -re ".*Kill it?.*y or n.*" { - send_gdb "y\n"; - exp_continue - } - -i $gdb_spawn_id -re ".*$prompt $" { - verbose "connected to stub at [target_info gdb_serial]" 2 - } - -i $gdb_spawn_id timeout { - set timeout 10 - verbose "Timeout is now $timeout seconds" 2 - perror "Couldn't set remote target." - return -1 - } - } - } - return 0 -} - diff --git a/gdb/testsuite/config/m32r.exp b/gdb/testsuite/config/m32r.exp deleted file mode 100644 index 1a2f7a9bc39..00000000000 --- a/gdb/testsuite/config/m32r.exp +++ /dev/null @@ -1 +0,0 @@ -load_lib ../config/monitor.exp diff --git a/gdb/testsuite/config/mips-idt.exp b/gdb/testsuite/config/mips-idt.exp deleted file mode 100644 index 2adaa75552e..00000000000 --- a/gdb/testsuite/config/mips-idt.exp +++ /dev/null @@ -1,22 +0,0 @@ -# Copyright (C) 1993 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ - -# Please email any bugs, comments, and/or additions to this file to: -# DejaGnu@cygnus.com - -load_lib ../config/monitor.exp - - diff --git a/gdb/testsuite/config/mips.exp b/gdb/testsuite/config/mips.exp deleted file mode 100644 index 2adaa75552e..00000000000 --- a/gdb/testsuite/config/mips.exp +++ /dev/null @@ -1,22 +0,0 @@ -# Copyright (C) 1993 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ - -# Please email any bugs, comments, and/or additions to this file to: -# DejaGnu@cygnus.com - -load_lib ../config/monitor.exp - - diff --git a/gdb/testsuite/config/monitor.exp b/gdb/testsuite/config/monitor.exp deleted file mode 100644 index c71479bd206..00000000000 --- a/gdb/testsuite/config/monitor.exp +++ /dev/null @@ -1,212 +0,0 @@ -# Test Framework Driver for GDB driving a ROM monitor (via monitor.c). -# Copyright 1995, 1997 Free Software Foundation, Inc. -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - -load_lib gdb.exp - -# -# gdb_target_monitor -# Set gdb to target the monitor -# -proc gdb_target_monitor { exec_file } { - global gdb_prompt - global exit_status - global timeout - - if [target_info exists gdb_protocol] { - set targetname "[target_info gdb_protocol]" - } else { - perror "No protocol specified for [target_info name]."; - return -1; - } - if [target_info exists baud] { - gdb_test "set remotebaud [target_info baud]" "" "" - } - if [target_info exists gdb_serial] { - set serialport "[target_info gdb_serial]"; - } elseif [target_info exists netport] { - set serialport "[target_info netport]" - } else { - set serialport "[target_info serial]" - } - - for {set j 1} {$j <= 2} {incr j} { - if [gdb_file_cmd $exec_file] { return -1; } - - for {set i 1} {$i <= 3} {incr i} { - send_gdb "target $targetname $serialport\n" - gdb_expect 60 { - -re "A program is being debugged already.*ill it.*y or n. $" { - send_gdb "y\n"; - exp_continue; - } - -re "Couldn't establish connection to remote.*$gdb_prompt" { - verbose "Connection failed"; - } - -re "Remote MIPS debugging.*$gdb_prompt" { - verbose "Set target to $targetname"; - return 0; - } - -re "Remote debugging using $serialport.*$gdb_prompt" { - verbose "Set target to $targetname"; - return 0; - } - -re "Remote target $targetname connected to.*$gdb_prompt" { - verbose "Set target to $targetname"; - return 0; - } - -re "Ending remote.*$gdb_prompt" { } - -re "Connection refused.*$gdb_prompt" { - verbose "Connection refused by remote target. Pausing, and trying again." - sleep 30 - continue - } - timeout { - send_gdb ""; - break - } - } - } - - gdb_target_exec; - - if { $j == 1 && ![reboot_target] } { - break; - } - } - - perror "Couldn't set target for $targetname, port is $serialport."; - return -1; -} - -proc gdb_target_exec { } { - gdb_test "target exec" "No exec file now." "" ".*Kill it.*y or n.*" "y" - -} -# -# gdb_load -- load a file into the debugger. -# return a -1 if anything goes wrong. -# -proc gdb_load { arg } { - global verbose - global loadpath - global loadfile - global GDB - global gdb_prompt - global timeout - - if { $arg == "" } { - send_gdb "info files\n"; - gdb_expect 30 { - -re "Symbols from \"(\[^\"\]+)\"" { - set arg $expect_out(1,string); - exp_continue; - } - -re "Local exec file:\[\r\n\]+\[ \t\]*`(\[^'\]+)'," { - set arg $expect_out(1,string); - exp_continue; - } - -re "$gdb_prompt $" { } - } - } - - for { set j 1; } { $j <= 2 } {incr j; } { - if [target_info exists gdb,use_standard_load] { - gdb_target_exec; - remote_push_conn host; - set state [remote_ld target $arg]; - remote_close target; - remote_pop_conn host; - if { $state == "pass" } { - if [gdb_target_monitor $arg] { return -1; } - gdb_test "list main" ".*" "" - verbose "Loaded $arg into $GDB\n"; - return 0; - } - } else { - - if [gdb_target_monitor $arg] { return -1 } - - if [is_remote host] { - # FIXME: Multiple downloads. bleah. - set farg [remote_download host $arg]; - } else { - set farg $arg; - } - - if { $arg != "" && [target_info exists gdb_sect_offset] } { - set textoff [target_info gdb_sect_offset]; - send_gdb "sect .text $textoff\n"; - gdb_expect 30 { - -re "(0x\[0-9a-z]+) - 0x\[0-9a-z\]+ is \\.data" { - set dataoff $expect_out(1,string); - exp_continue; - } - -re "(0x\[0-9a-z\]+) - 0x\[0-9a-z\]+ is \\.bss" { - set bssoff $expect_out(1,string); - exp_continue; - } - -re "$gdb_prompt" { } - } - set dataoff [format 0x%x [expr $dataoff + $textoff]]; - set bssoff [format 0x%x [expr $bssoff + $textoff]]; - send_gdb "sect .data $dataoff\n"; - gdb_expect 30 { - -re "$gdb_prompt" { } - } - send_gdb "sect .bss $bssoff\n"; - gdb_expect 30 { - -re "$gdb_prompt" { } - } - } - - verbose "Loading $farg" - if [target_info exists gdb_load_offset] { - set command "load $farg [target_info gdb_load_offset]\n"; - } else { - set command "load $farg\n"; - } - send_gdb $command; - gdb_expect 1600 { - -re "\[Ff\]ailed.*$gdb_prompt $" { - verbose "load failed"; - } - -re "Timeout reading from remote.*$gdb_prompt" { - } - -re "$gdb_prompt $" { - verbose "Loaded $farg into $GDB\n" - return 0; - } - timeout { - if { $verbose > 1 } { - perror "Timed out trying to load $farg." - } - } - } - } - - # Make sure we don't have an open connection to the target. - gdb_target_exec; - - if { $j == 1 } { - if { ![reboot_target] } { - break; - } - } - } - perror "Couldn't load file into GDB."; - return -1; -} diff --git a/gdb/testsuite/config/mt-a29k-udi b/gdb/testsuite/config/mt-a29k-udi deleted file mode 100644 index e69de29bb2d..00000000000 --- a/gdb/testsuite/config/mt-a29k-udi +++ /dev/null diff --git a/gdb/testsuite/config/mt-i386-aout b/gdb/testsuite/config/mt-i386-aout deleted file mode 100644 index 19b1cabe5e7..00000000000 --- a/gdb/testsuite/config/mt-i386-aout +++ /dev/null @@ -1,59 +0,0 @@ -# compilers and assemblers -CC = i386-aout-gcc -CFLAGS = -g -D${target_os} -C++ = ${CC} -C++FLAGS = ${CFLAGS} -CXX = ${CC} -CXXFLAGS = ${CFLAGS} -AS = i386-aout-as -ASFLAGS = -FC = -FCFLAGS = -LD = ld -LDFLAGS = -LIBS = - -# binutils - -RANLIB = i386-aout-ranlib -RANLIBFLAGS = - -NM = i386-aout-nm -NMFLAGS = - -SIZE = i386-aout-size -SIZEFLAGS = - -STRIP = i386-aout-strip -STRIPFLAGS = - -OBJDUMP = i386-aout-objdump -OBJDUMPFLAGS = - -DEMANGLE = i386-aout-demangle -DEMANGLEFLAGS = - -COPY = i386-aout-copy -COPYFLAGS = - -# other utils -LEX = flex -LEXFLAGS = - -YACC = byacc -YACCFLAGS = - -AR = i386-aout-ar -ARFLAGS = - -CPP = ${CC} -E -CPPFLAGS = - -GDB = i386-aout-gdb -GDBFLAGS = -nx - -DIFF = diff -DIFFFLAGS = - -RUNTEST=i386-aout-runtest -RUNTESTFLAGS= diff --git a/gdb/testsuite/config/mt-i960-nindy b/gdb/testsuite/config/mt-i960-nindy deleted file mode 100644 index 9786c51b3c3..00000000000 --- a/gdb/testsuite/config/mt-i960-nindy +++ /dev/null @@ -1 +0,0 @@ -LDFLAGS_FOR_TARGET = -nostartfiles diff --git a/gdb/testsuite/config/mt-lynx b/gdb/testsuite/config/mt-lynx deleted file mode 100644 index 1c153af7f82..00000000000 --- a/gdb/testsuite/config/mt-lynx +++ /dev/null @@ -1,4 +0,0 @@ -CFLAGS_FOR_TARGET = -STEP_EXECUTABLE = step -THREADFLAGS = -mposix -mthreads -#LDFLAGS= -L/usr/cygnus/progressive-95q1/H-sparc-sun-sunos4.1.3/i386-lynx/lib/thread diff --git a/gdb/testsuite/config/mt-m68k b/gdb/testsuite/config/mt-m68k deleted file mode 100644 index 493d702da31..00000000000 --- a/gdb/testsuite/config/mt-m68k +++ /dev/null @@ -1 +0,0 @@ -CFLAGS_FOR_TARGET = -Tidp.ld -nostartfiles diff --git a/gdb/testsuite/config/mt-mips-ecoff b/gdb/testsuite/config/mt-mips-ecoff deleted file mode 100644 index 90dd031785e..00000000000 --- a/gdb/testsuite/config/mt-mips-ecoff +++ /dev/null @@ -1,2 +0,0 @@ -CFLAGS = -I/s1/cygnus/dejagnu/mips-idt-ecoff/include -g -LDFLAGS = -nostartfiles /s1/cygnus/dejagnu/mips-idt-ecoff/crt0.o -L/s1/cygnus/dejagnu/mips-idt-ecoff -g diff --git a/gdb/testsuite/config/mt-netware b/gdb/testsuite/config/mt-netware deleted file mode 100644 index 10d1ce4935c..00000000000 --- a/gdb/testsuite/config/mt-netware +++ /dev/null @@ -1 +0,0 @@ -LDFLAGS = -r diff --git a/gdb/testsuite/config/mt-slite b/gdb/testsuite/config/mt-slite deleted file mode 100644 index 74e75a25c5c..00000000000 --- a/gdb/testsuite/config/mt-slite +++ /dev/null @@ -1,8 +0,0 @@ -LIBS = -lc -lg -lgcc -CFLAGS = -g -Dusestubs -LDFLAGS = ` \ - if [ -f $${rootme}/../../newlib/Makefile ]; then \ - echo -L$${rootsrc}/../../libgloss/ex93x -L$${rootme}/../../libgloss/ex93x -Tex93x.ld -nostartfiles -nostdlib -N; \ - else \ - echo -Tex93x.ld -nostartfiles -nostdlib -N; \ - fi` diff --git a/gdb/testsuite/config/mt-sparc-aout b/gdb/testsuite/config/mt-sparc-aout deleted file mode 100644 index e69de29bb2d..00000000000 --- a/gdb/testsuite/config/mt-sparc-aout +++ /dev/null diff --git a/gdb/testsuite/config/mt-unix b/gdb/testsuite/config/mt-unix deleted file mode 100644 index d6e2c786f84..00000000000 --- a/gdb/testsuite/config/mt-unix +++ /dev/null @@ -1 +0,0 @@ -CFLAGS_FOR_TARGET = -g diff --git a/gdb/testsuite/config/mt-vxworks b/gdb/testsuite/config/mt-vxworks deleted file mode 100644 index d18bcb0bc32..00000000000 --- a/gdb/testsuite/config/mt-vxworks +++ /dev/null @@ -1,2 +0,0 @@ -CFLAGS = -g -Dvxworks -LDFLAGS = -Xlinker -Ur diff --git a/gdb/testsuite/config/netware.exp b/gdb/testsuite/config/netware.exp deleted file mode 100644 index aa170bb0558..00000000000 --- a/gdb/testsuite/config/netware.exp +++ /dev/null @@ -1,218 +0,0 @@ -# Copyright (C) 1988, 1990, 1991, 1992, 1994 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ - -# Please email any bugs, comments, and/or additions to this file to: -# bug-gdb@prep.ai.mit.edu - -# This file was written by J.T. Conklin. (jtc@cygnus.com) - -load_lib gdb.exp -load_lib remote.exp - -global shell_id - -global LD -if ![info exists LD] then { - set LD [findfile "$base_dir/../../ld/ld.new"] -} - -global NLMCONV -if ![info exists NLMCONV] then { - set NLMCONV [findfile "$base_dir/../../binutils/nlmconv"] -} - -# -# gdb_version -- extract and print the version number of gcc -# -proc gdb_version {} { - default_gdb_version -} - -# -# gdb_unload -- unload a file if one is loaded -# - -# -# gdb_load -- load a file into the debugger. -# return a -1 if anything goes wrong. -# -proc gdb_load { arg } { - global prompt - global LD - global NLMCONV - global errorCode - global shell_id - - # FIXME: this is wrong. - set targetname [target_info name]; - - set obj [file tail $arg] - set nlm "$obj.nlm" - set lnk "$obj.lnk" - - # build *.lnk file - set fd [open $lnk w] - puts $fd "description \"[file tail $nlm]\"" - puts $fd "screenname \"System Console\"" - puts $fd "module clib.nlm" - puts $fd "module mathlib.nlm" - puts $fd "stack 32768" -# puts $fd "stack 64512" - puts $fd "debug" - # FIXME: don't hardcode location of prelude.o - puts $fd "input /s1/cygnus/dejagnu/i386-netware/lib/prelude.o" - puts $fd "input $arg" - puts $fd "output $nlm" - close $fd - - # run nlmconv - verbose "Executing: $NLMCONV -l$LD -T$lnk" 1 - catch "exec $NLMCONV -l$LD -T$lnk" output - if ![string match "" $output] then { - verbose $output 1 - } - if ![string match "NONE" $errorCode] { - warning "Can't link $arg" - - return -1 - } - catch "exec rm -f $lnk" - - # download - verbose "Downloading $nlm" 1 - catch "exec cp $nlm /.NetWare/$targetname.nws/sys.nwv/tmp/x.nlm" output - if ![string match "" $output] then { - verbose $output 1 - return -1 - } - - gdb_file_cmd $nlm -} - -proc gdb_run_cmd { } { - global shell_id - global prompt - global timeout - - set connhost [target_info name]; - if [board_info $connhost exists serial] { - set serialport [board_info $connhost serial]; - } else { - set serialport [board_info $connhost netport]; - } - - if [board_info $connhost exists baud] { - set baud [board_info $connhost baud]; - } else { - set baud 9600; - } - # FIXME: This is wrong. - send "kill\n" - expect { - -re ".*Kill the program being debugged.*y or n. $" { - send "y\n" - exp_continue - } - -re ".*$prompt $" {} - } - - verbose "Starting GDB stub on [target_info name]" 1 - send -i $shell_id "load nlmstub BAUD=$baud x.nlm\r\n" - - send "set remotebaud $baud\n" - expect { - -re "$prompt" {} - timeout { - perror "Couldn't set remote baud rate" - return - } - } - - set otimeout $timeout - set timeout 60 - verbose "Timeout is now $timeout seconds" 2 - send "target remote $serialport\n" - expect { - -re "Couldn't establish connection to remote target" { - send "target remote $serialport\n" - exp_continue - } - -re "$prompt" {} - timeout { - set timeout $otimeout - verbose "Timeout restored to $timeout seconds" 2 - perror "Couldn't set remote target" - return - } - } - set timeout $otimeout - verbose "Timeout restored to $timeout seconds" 2 - - send "continue\n" - expect { - "Continuing.$" {} - } - - return -} - - - -# -# start the remote shell -# - -set shell_prompt "Password:" -set shell_id [remote_open target] - -if $shell_id<0 then { - warning "Couldn't connect to target" - return -1 -} - -if [string match "" $passwd] then { - stty -echo - send_user "Password: " - expect_user -re "(.*)\n" - send_user "\n" - set passwd "$expect_out(1,string)" - stty echo -} - -send -i $shell_id "$passwd\n" -expect { - -i $shell_id ":" { - verbose "Got termtype prompt" 0 - } - - -i $shell_id timeout { - warning "Connection timed out" - return -1 - } -} - - -# FIXME: this is wrong. -set shell_prompt "[string toupper [target_info name]]:" -send -i $shell_id "1\n" - -expect { - -i $shell_id -re "$shell_prompt" {} - -i $shell_id timeout { - warning "Connection timed out" - return -1 - } -} diff --git a/gdb/testsuite/config/nind.exp b/gdb/testsuite/config/nind.exp deleted file mode 100644 index d8aecdbc60a..00000000000 --- a/gdb/testsuite/config/nind.exp +++ /dev/null @@ -1,49 +0,0 @@ -# Test Framework Driver -# Copyright (C) 1988, 1990, 1991, 1992, 1997 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - -# Please email any bugs, comments, and/or additions to this file to: -# DejaGnu@cygnus.com - -# This file was written by Rob Savoye. (rob@cygnus.com) - -load_lib gdb.exp - -# -# gdb_load -- load a file into the debugger. -# -proc gdb_load { arg } { - global verbose - global loadpath - global loadfile - global gdb_prompt - global GDB - set loadfile [file tail $arg] - set loadpath [file dirname $arg] - send_user "Not implememted yet\n" ; return -1 -} - -# -# gdb_start -- start GDB running -# -proc gdb_start { } { - global GDB - global GDBFLAGS - global spawn_id - global gdb_prompt - global verbose - send_user "Not implememted yet\n" ; return -1 -} diff --git a/gdb/testsuite/config/proelf.exp b/gdb/testsuite/config/proelf.exp deleted file mode 100644 index e6ade13e5af..00000000000 --- a/gdb/testsuite/config/proelf.exp +++ /dev/null @@ -1,20 +0,0 @@ -# Copyright (C) 1997 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - -# Please email any bugs, comments, and/or additions to this file to: -# bug-gdb@prep.ai.mit.edu - -load_lib ../config/monitor.exp diff --git a/gdb/testsuite/config/sh.exp b/gdb/testsuite/config/sh.exp deleted file mode 100644 index 1a2f7a9bc39..00000000000 --- a/gdb/testsuite/config/sh.exp +++ /dev/null @@ -1 +0,0 @@ -load_lib ../config/monitor.exp diff --git a/gdb/testsuite/config/sim.exp b/gdb/testsuite/config/sim.exp deleted file mode 100644 index 009ceb90221..00000000000 --- a/gdb/testsuite/config/sim.exp +++ /dev/null @@ -1,105 +0,0 @@ -# Test Framework Driver for GDB driving a builtin simulator -# Copyright 1994, 1997, 1998 Free Software Foundation, Inc. -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - -load_lib gdb.exp - -# The SH simulator by default will allocate 16M of memory, which is -# convenient, but it slows down testing to chew up that much swap; -# so supply an option that makes the simulator allocate 256K. - -set target_sim_options "" - -if [istarget "sh*-*-*"] then { - set target_sim_options "18" -} - -# The ERC32 simulator requires the argument -sparclite in order -# to emulate sparclite-specific instructions. - -if [istarget "sparclite*-*-*"] then { - set target_sim_options "-sparclite" -} -if [istarget "sparc86x*-*-*"] then { - set target_sim_options "-sparclite" -} - -# -# gdb_target_sim -# Set gdb to target the simulator -# -proc gdb_target_sim { } { - global gdb_prompt - global verbose - global exit_status - global target_sim_options - - send_gdb "target sim $target_sim_options\n" - set timeout 60 - verbose "Timeout is now $timeout seconds" 2 - gdb_expect { - -re "Connected to the simulator.*$gdb_prompt $" { - verbose "Set target to sim" - } - timeout { - perror "Couldn't set target for simulator." - cleanup - exit $exit_status - } - } - set timeout 10 - verbose "Timeout is now $timeout seconds" 2 -} - -# -# gdb_load -- load a file into the debugger. -# return a -1 if anything goes wrong. -# -proc gdb_load { arg } { - global verbose - global loadpath - global loadfile - global GDB - global gdb_prompt - - if [gdb_file_cmd $arg] then { return -1 } - - gdb_target_sim - - send_gdb "load\n" - set timeout 2400 - verbose "Timeout is now $timeout seconds" 2 - gdb_expect { - -re ".*$gdb_prompt $" { - if $verbose>1 then { - send_user "Loaded $arg into $GDB\n" - } - set timeout 30 - verbose "Timeout is now $timeout seconds" 2 - return 1 - } - -re "$gdb_prompt $" { - if $verbose>1 then { - perror "GDB couldn't load." - } - } - timeout { - if $verbose>1 then { - perror "Timed out trying to load $arg." - } - } - } -} diff --git a/gdb/testsuite/config/slite.exp b/gdb/testsuite/config/slite.exp deleted file mode 100644 index 5a393caa5a5..00000000000 --- a/gdb/testsuite/config/slite.exp +++ /dev/null @@ -1,171 +0,0 @@ -# Copyright (C) 1993 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ - -# Please email any bugs, comments, and/or additions to this file to: -# DejaGnu@cygnus.com - -# This file was written by Ian Lance Taylor <ian@cygnus.com>. - -# GDB support routines for a board using the MIPS remote debugging -# protocol. These are actually pretty generic. - -# DejaGnu currently assumes that debugging is being done over the main -# console port. It would probably be more convenient for people using -# IDT boards to permit the debugging port and the connected port to be -# different, since an IDT board has two ports. This would require -# extending some of the tests in a fashion similar to that done for -# VxWorks, because the test output would appear on the other port, -# rather than being displayed by gdb. - -load_lib remote.exp -load_lib gdb.exp -set gdb_prompt "\\(gdb\\)" - -# -# gdb_load -- load a file into the GDB. -# Returns a 0 if there was an error, -# 1 if it load successfully. -# -proc gdb_load { arg } { - global verbose - global loadpath - global loadfile - global gdb_prompt - global GDB - global expect_out - global gdb_spawn_id - - set loadfile [file tail $arg] - set loadpath [file dirname $arg] - - send_gdb "file $arg\n" - expect { - -i $gdb_spawn_id -re "A program is being debugged already..*Kill it.*y or n. $" { - send_gdb "y\n" - exp_continue - } - -i $gdb_spawn_id -re "Load new symbol table.*y or n. $" { - send_gdb "y\n" - exp_continue - } - -i $gdb_spawn_id -re "Reading symbols from.*done..*$gdb_prompt $" {} - -i $gdb_spawn_id -re "$gdb_prompt $" { perror "GDB couldn't read file" } - -i $gdb_spawn_id timeout { perror "(timeout) read symbol file" ; return -1 } - } - - if [target_info exists gdb_protocol] { - set protocol [target_info gdb_protocol]; - } else { - set protocol "sparclite" - } - - if [target_info exists serial] { - set targetname [target_info serial]; - send_gdb "target $protocol [target_info serial]\n"; - } else { - if ![target_info exists netport] { - perror "Need either netport or gdb_serial entry for [target_info name]."; - return -1; - } - set targetname [target_info netport]; - send_gdb "target $protocol udp [target_info netport]\n"; - } - set timeout 60 - verbose "Timeout is now $timeout seconds" 2 - expect { - -i $gdb_spawn_id -re "Remote target.*$gdb_prompt $" { } - -i $gdb_spawn_id -re ".*SPARClite appears to be alive.*$gdb_prompt $" { - if $verbose>1 then { - send_user "Set target to $targetname\n" - } - } - -i $gdb_spawn_id timeout { - perror "Couldn't set SLITE target." - set timeout 10 - verbose "Timeout is now $timeout seconds" 2 - return -1 - } - } - - if [target_info exists gdb_load_offset] { - set offset "[target_info gdb_load_offset]"; - } else { - set offset ""; - } - if { 1 } { - send_gdb "load $arg $offset\n" - verbose "Loading $arg into $GDB" 2 - set timeout 2400 - verbose "Timeout is now $timeout seconds" 2 - expect { - -i $gdb_spawn_id -re "Loading.*$gdb_prompt $" { - verbose "Loaded $arg into $GDB" 1 - set timeout 30 - verbose "Timeout is now $timeout seconds" 2 - } - -i $gdb_spawn_id -re "$gdb_prompt $" { - if $verbose>1 then { - perror "GDB couldn't load." - } - } - -i $gdb_spawn_id timeout { - if $verbose>1 then { - perror "Timed out trying to load $arg." - } - } - } - } - set timeout 10 - verbose "Timeout is now $timeout seconds, doing monitor run" 2 - send_gdb "monitor run\n"; - sleep 2; - send_gdb ""; - expect { - -i $gdb_spawn_id -re ".*$gdb_prompt $" { verbose "Run command succeded" } - -i $gdb_spawn_id default { - perror "error sending monitor run command"; - } - } - - if [target_info exists gdb_serial] { - set serial [target_info gdb_serial]; - } else { - set serial [target_info serial]; - } - send_gdb "target remote $serial\n" - set timeout 60 - verbose "Timeout is now $timeout seconds" 2 - expect { - -i $gdb_spawn_id -re ".*Kill it?.*y or n.*" { - send_gdb "y\n"; - exp_continue - } - -i $gdb_spawn_id -re ".*$gdb_prompt $" { - verbose "Set remote target to [target_info serial]" 2 - } - -i $gdb_spawn_id timeout { - perror "Couldn't set remote target." - set timeout 10 - verbose "Timeout is now $timeout seconds" 2 - return -1 - } - } - - if [info exists expect_out(buffer)] then { - send_log $expect_out(buffer) - } - return 0 -} diff --git a/gdb/testsuite/config/sparclet.exp b/gdb/testsuite/config/sparclet.exp deleted file mode 100644 index 1919aca4f86..00000000000 --- a/gdb/testsuite/config/sparclet.exp +++ /dev/null @@ -1,391 +0,0 @@ -# Copyright (C) 1996, 1997 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - -# Please email any bugs, comments, and/or additions to this file to: -# DejaGnu@cygnus.com - -# This file was written by Michael Snyder <msnyder@cygnus.com>. - -# GDB support routines for a board using the sparclet remote debugging -# protocol. - -load_lib remote.exp -load_lib gdb.exp - -# -# Sparclet remote run command. -# - -proc gdb_start { } { - global gdb_prompt - - if ![file exists loader] { - global libdir - set loader loader; - - if [target_info exists gdb_stub_offset] { - set result [target_compile "${libdir}/stub-loader.c" $loader executable "libs=-Wl,-Ttext,[target_info gdb_stub_offset]"]; - } else { - set result [target_compile "${libdir}/stub-loader.c" $loader executable "ldscript=[target_info gdb_stub_ldscript]"]; - } - } - - verbose -log "$gdb_prompt is gdb prompt" - - set result 0; - for { set y 0; } { $y < 4 } { incr y } { - if { [default_gdb_start] != 0 } { - return -1; - } - - if [target_info exists baud] { - send_gdb "set remotebaud [target_info baud]\n" - gdb_expect { - -re "$gdb_prompt" { } - default { - perror "Error setting baud rate." - return -1; - } - } - } - - for {set x 1;} { $x < 4 } {incr x} { - set result [gdb_sparclet_startup $result]; - if { $result > 0 } { - return 1; - } - # mmmmm, magic numbers. - if { $result == -42 || $result == -43 } { - break; - } else { - reboot_target; - } - } - if { $x == 4 } { - return -1; - } - gdb_exit; - sleep 5; - } - return -1; -} - -proc gdb_sparclet_startup { arg } { - global gdb_prompt - global GDB - global verbose - - set is_running_stub 0; - - if [target_info exists serial] { - set serial [target_info serial]; - } else { - set serial [target_info netport]; - } - set protocol [target_info gdb_protocol]; - set check_stub 1; - if { $arg != -42 } { - send_gdb "target $protocol $serial\n"; - # 10 seconds may be a bit short. - gdb_expect 10 { - -re "already.*y or n." { - gdb_send "y\n"; - exp_continue; - } - -re "Remote target.*connected to.*$gdb_prompt" { set check_stub 0; } - -re "$gdb_prompt" { } - timeout { } - } - if { $check_stub } { - verbose "timed out, checking if stub is already running" - send_gdb "\003"; - sleep 1; - send_gdb "\003"; - gdb_expect 10 { - -re "$gdb_prompt" { } - default { - remote_close host; - return -42; - } - } - } - } - if [target_info exists gdb_serial] { - set gdb_serial [target_info gdb_serial]; - } else { - set gdb_serial $serial; - } - if { $check_stub } { - send_gdb "target remote $gdb_serial\n"; - gdb_expect 15 { - -re "Remote debugging.*$gdb_prompt" { - verbose "stub is already running" - set is_running_stub 1; - } - default { - warning "board isn't responding"; - remote_close host; - remote_reboot target; - return -43; - } - } - } - - if { $is_running_stub == 0 } { - global srcdir - - if [is_remote host] { - set loader [remote_download host "loader"]; - } else { - set loader "loader"; - } - send_gdb "file $loader\n"; - gdb_expect { - -re "A program is being debug.*Kill it.*y or n. $" { - send_gdb "y\n" - exp_continue - } - -re "Load new symbol table.*y or n. $" { - send_gdb "y\n" - exp_continue - } - -re "Reading symbols from.*done..*$gdb_prompt $" {} - -re "$gdb_prompt $" { perror "GDB couldn't find loader" } - timeout { - perror "(timeout) read symbol file" ; - return -1 - } - } - - send_gdb "target $protocol $serial\n"; - gdb_expect { - -re "Remote target.*connected to.*$gdb_prompt" { } - default { - perror "Error reconnecting to board."; - return -1; - } - } - - send_gdb "load $loader [target_info gdb_stub_offset]\n" - verbose "Loading $loader into $GDB" 2 - set no_run_command 0; - gdb_expect 1200 { - -re "Loading.*$gdb_prompt $" { - verbose "Loaded $loader into $GDB" 1 - } - -re "Transfer rate:.*Switching to remote protocol.*Remote debugging" { - set no_run_command 1; - } - -re "$gdb_prompt $" { - if $verbose>1 then { - perror "GDB couldn't load." - } - } - timeout { - if $verbose>1 then { - perror "Timed out trying to load $arg." - } - } - } - - if !$no_run_command { - send_gdb "run\n"; - gdb_expect 60 { - -re "A program is being debug.*Kill it.*y or n. $" { - send_gdb "y\n" - exp_continue - } - -re "The program being debugged .*y or n. $" { - send_gdb "y\n" - exp_continue - } - -re "Starting program:.*loader.*$" { - verbose "Starting loader succeeded" - } - timeout { - perror "(timeout) starting the loader" ; - return -1 - } - default { - perror "error starting the loader"; - } - } - } - sleep 2; - send_gdb "" - sleep 1; - send_gdb "" - verbose "Sent ^C^C" - gdb_expect 10 { - -re "Give up .and stop debugging it.*$" { - send_gdb "y\n" - exp_continue - } - -re "$gdb_prompt $" { - verbose "Running loader succeeded" - } - timeout { - warning "(timeout) interrupting the loader" ; - remote_close host; - } - default { - warning "error interrupting the loader"; - } - } - - gdb_exit; - return [gdb_start]; - } - return 1; -} - -proc gdb_run_cmd { args } { - global gdb_prompt - - gdb_breakpoint exit; - send_gdb "set \$fp=0\n"; - gdb_expect { - -re "$gdb_prompt" { } - } - # This is needed for the SparcLite. Whee. - if [target_info exists gdb,start_symbol] { - set start_comm "jump *[target_info gdb,start_symbol]\n"; - } else { - set start_comm "jump *start\n"; - } - send_gdb "break copyloop\n"; - gdb_expect 10 { - -re "Breakpoint.*$gdb_prompt $" { - set start_comm "continue\n"; - } - -re "$gdb_prompt $" { } - timeout { warning "break copyloop failed badly"; } - } - send_gdb $start_comm; - gdb_expect 10 { - -re "y or n. $" { - remote_send host "y\n" - exp_continue; - } - -re "Breakpoint.*in copyloop.*$gdb_prompt $" { - remote_send host "jump relocd\n"; - exp_continue; - } - -re "Continuing at.*\[\r\n\]" { } - default { - return -1; - } - } - - return ""; -} - - -# -# gdb_load -- load a file into the GDB. -# Returns a 0 if there was an error, -# 1 if it load successfully. -# -proc gdb_load { arg } { - global verbose - global loadpath - global loadfile - global gdb_prompt - global GDB - global expect_out - - set loadfile [file tail $arg] - set loadpath [file dirname $arg] - - set protocol [target_info gdb_protocol]; - - if [is_remote host] { - set arg [remote_download host $arg]; - } - send_gdb "file $arg\n" - gdb_expect 30 { - -re "A program is being debug.*Kill it.*y or n. $" { - send_gdb "y\n" - exp_continue - } - -re "Load new symbol table.*y or n. $" { - send_gdb "y\n" - exp_continue - } - -re "Reading symbols from.*done..*$gdb_prompt $" {} - -re "$gdb_prompt $" { perror "GDB couldn't read file" } - timeout { - perror "(timeout) read symbol file" ; - return -1 - } - } - - if [target_info exists gdb_serial] { - set gdb_serial [target_info gdb_serial]; - } else { - if [target_info exists serial] { - set gdb_serial [target_info serial]; - } else { - set gdb_serial [target_info netport]; - } - } - send_gdb "target remote $gdb_serial\n" - gdb_expect 30 { - -re "Kill it?.*y or n.*" { - send_gdb "y\n"; - exp_continue - } - -re "$gdb_prompt $" { - verbose "Set remote target to $gdb_serial" 2 - } - timeout { - perror "Couldn't set remote target." - return -1 - } - } - if [target_info exists gdb_load_offset] { - set offset "[target_info gdb_load_offset]"; - } else { - set offset ""; - } - send_gdb "load $arg $offset\n" - verbose "Loading $arg into $GDB" 2 - gdb_expect 1200 { - -re "Loading.*$gdb_prompt $" { - verbose "Loaded $arg into $GDB" 1 - } - -re "$gdb_prompt $" { - if $verbose>1 then { - perror "GDB couldn't load." - } - } - timeout { - if $verbose>1 then { - perror "Timed out trying to load $arg." - } - } - } - send_gdb "list main\n"; - gdb_expect 60 { - -re "$gdb_prompt" { } - default { - perror "command for list main never completed"; - return -1; - } - } - - return 0 -} diff --git a/gdb/testsuite/config/udi.exp b/gdb/testsuite/config/udi.exp deleted file mode 100644 index 3a5d778b20b..00000000000 --- a/gdb/testsuite/config/udi.exp +++ /dev/null @@ -1,112 +0,0 @@ -# Test Framework Driver for GDB driving Universal Debug Interface on 29K -# Copyright 1988, 1990, 1991, 1992, 1993, 1994, 1997 Free Software Foundation, Inc. -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - -# Please email any bugs, comments, and/or additions to this file to: -# DejaGnu@cygnus.com - -# This file was written by Rob Savoye. (rob@cygnus.com) - -load_lib gdb.exp - -# -# gdb_target_udi -# Set gdb to the desired UDI target -# -proc gdb_target_udi { } { - global gdb_prompt - global verbose - global exit_status - - set targetname [target_info mondfe,name]; - # set targets hostname - send_gdb "target udi $targetname\n" - set timeout 60 - verbose "Timeout is now $timeout seconds" 2 - gdb_expect { - -re "target udi $targetname\[\r\n\]+" { - exp_continue - } - -re "TIP UDI 1.2 Conformant.*$gdb_prompt $" { - verbose "Set target to $targetname" - } - -re "TIP-ipc WARNING,.*failed:" { - warning "$expect_out(buffer)" - } - -re "TIP-ipc ERROR,.*failed:" { - perror "$expect_out(buffer)" - } - -re "A program is being debugged already. Kill it\? \(y or n\)" { - send "y\n" - exp_continue - } - timeout { - perror "Couldn't set target for UDI." - cleanup - exit $exit_status - } - } - set timeout 10 - verbose "Timeout is now $timeout seconds" 2 -} - -# -# gdb_load -- load a file into the debugger. -# return a -1 if anything goes wrong. -# - -proc gdb_load { arg } { - global verbose - global loadpath - global loadfile - global GDB - global gdb_prompt - - if [gdb_file_cmd $arg] { - return -1 - } - - gdb_target_udi -} - -# -# gdb_start -- start GDB running. This assumes that there the -# UDICONF enviroment variable is set. -# -proc gdb_start { } { - global env; - - set env(UDICONF) [target_info mondfe,udi_soc]; - default_gdb_start - verbose "Setting up target, Please wait..." - gdb_target_udi -} - -# -# gdb_exit -- exit gdb -# -proc gdb_exit { } { - catch default_gdb_exit - set in [open [concat "|ls -F"] r] - while {[gets $in line]>-1} { - if [regexp "=$" $line] then { - set line [string trimright $line "="] - verbose "Removing the $line named socket" - exec rm -f $line - } - } - close $in -} diff --git a/gdb/testsuite/config/unix.exp b/gdb/testsuite/config/unix.exp deleted file mode 100644 index 8d0530f0df5..00000000000 --- a/gdb/testsuite/config/unix.exp +++ /dev/null @@ -1,29 +0,0 @@ -# Copyright (C) 1988, 1990, 1991, 1992, 1994 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ - -# Please email any bugs, comments, and/or additions to this file to: -# bug-gdb@prep.ai.mit.edu - -# This file was written by Rob Savoye. (rob@cygnus.com) - -# Set a default timeout to be used for the tests under UNIX, rather than -# accepting whatever default dejagnu gives us (apparently 10 seconds). -# When running the tests over NFS, under somewhat heavy load, 10 seconds -# does not seem to be enough. Try starting with 60. -set timeout 60 -verbose "Timeout is now $timeout seconds" 2 - -load_lib gdb.exp diff --git a/gdb/testsuite/config/unknown.exp b/gdb/testsuite/config/unknown.exp deleted file mode 100644 index ab746fa0bbd..00000000000 --- a/gdb/testsuite/config/unknown.exp +++ /dev/null @@ -1,2 +0,0 @@ -unsupported "Sorry, there is no support for this architecture.\n" -exit 1 diff --git a/gdb/testsuite/config/vr4300.exp b/gdb/testsuite/config/vr4300.exp deleted file mode 100644 index 1a2f7a9bc39..00000000000 --- a/gdb/testsuite/config/vr4300.exp +++ /dev/null @@ -1 +0,0 @@ -load_lib ../config/monitor.exp diff --git a/gdb/testsuite/config/vr5000.exp b/gdb/testsuite/config/vr5000.exp deleted file mode 100644 index 1a2f7a9bc39..00000000000 --- a/gdb/testsuite/config/vr5000.exp +++ /dev/null @@ -1 +0,0 @@ -load_lib ../config/monitor.exp diff --git a/gdb/testsuite/config/vx.exp b/gdb/testsuite/config/vx.exp deleted file mode 100644 index f34452c3ca1..00000000000 --- a/gdb/testsuite/config/vx.exp +++ /dev/null @@ -1,153 +0,0 @@ -# Copyright (C) 1988, 1990, 1991, 1992, 1995, 1997 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - -# Please email any bugs, comments, and/or additions to this file to: -# DejaGnu@cygnus.com - -# This file was written by Rob Savoye. (rob@cygnus.com) - -# -# load support libraries -# -load_lib remote.exp -load_lib gdb.exp - -set shell_prompt "->" -set gdb_prompt "\\(vxgdb\\)" - -# -# gdb_version -- extract and print the version number of gcc -# -proc gdb_version {} { - default_gdb_version -} - -# -# gdb_load -- load a file into the debugger. -# We have to stop and start gdb each time we do this, because when -# vxgdb loads two files in a row, the symbols in the first file loaded -# take precedence. Returns -1 on error, else 0. -# -proc gdb_load { arg } { - set result 0 - - if { [vxworks_ld target $arg] != 0 } { - perror "Couldn't load $arg" - return -1 - } - - return [gdb_file_cmd $arg] -} - -# -# gdb_start -- start gdb running -# -proc gdb_start { } { - global gdb_prompt - global verbose - global connectmode - global reboot - - # get a connection to the board - for { set x 0; } { $x < 3 } { incr x } { - set shell_id [remote_open target] - if { $shell_id > 0 } { - break; - } else { - remote_reboot target; - } - } - verbose "Spawn id for remote shell is $shell_id" - - # reboot vxworks to get a clean start - if $reboot then { - verbose "Rebooting VxWorks, Please wait...\n" - - send -i $shell_id "\030" - set timeout 120 - verbose "Timeout is now $timeout seconds" 2 - expect { - -i $shell_id -re "Connection closed.*$" { - verbose "\nVxWorks has closed the shell" - } - -i $shell_id eof { - perror "(eof) never disconnected from VxWorks shell." - return -1 - } - -i $shell_id timeout { - perror "(timeout) never disconnected from VxWorks shell." - return -1 - } - } - catch "close -i $shell_id" tmp - wait -i $shell_id - } - set timeout 10 - verbose "Timeout is now $timeout seconds" 2 - - catch "spawn_vxgdb" -} - -proc spawn_vxgdb { } { - global gdb_prompt - global verbose - - default_gdb_start - - # set the default arguments to "main", so that "run" with no - # arguments will work correctly. - send_gdb "set args main\n" - gdb_expect -re ".*$gdb_prompt $" {} - - verbose "Setting up target, Please wait..." - # set targets hostname - send_gdb "target vxworks [target_info hostname]\n" - set timeout 60 - verbose "Timeout is now $timeout seconds" 2 - gdb_expect { - -re "Done\..*$gdb_prompt $" { - verbose "Set target to [target_info hostname]" 1 - } - -re "net_connect: RPC: Program not registered.*$" { - perror "Couldn't set GDB to target [target_info netport]." - exit 1 - } - timeout { - perror "Couldn't set target for vxworks." - set timeout 10 - verbose "Timeout is now $timeout seconds" 2 - return -1 - } - } - set timeout 10 - verbose "Timeout is now $timeout seconds" 2 -} - -proc gdb_exit { } { - remote_close target; - catch default_gdb_exit -} - -#expect_after { -# "<return>" { send "\n"; perror "Window too small." } -# -re "\(y or n\) " { send "n\n"; perror "Got interactive prompt." } -# buffer_full { perror "internal buffer is full." } -# eof { perror "eof -- pty is hosed." } -# timeout { perror "timeout." } -# "virtual memory exhausted" { perror "virtual memory exhausted." } -# "Undefined command" { perror "send string probably wrong." } -#} - diff --git a/gdb/testsuite/config/vxworks.exp b/gdb/testsuite/config/vxworks.exp deleted file mode 100644 index 4b51da52d27..00000000000 --- a/gdb/testsuite/config/vxworks.exp +++ /dev/null @@ -1 +0,0 @@ -load_lib ../config/vx.exp diff --git a/gdb/testsuite/config/vxworks29k.exp b/gdb/testsuite/config/vxworks29k.exp deleted file mode 100644 index 112b871cdc2..00000000000 --- a/gdb/testsuite/config/vxworks29k.exp +++ /dev/null @@ -1,27 +0,0 @@ -# Copyright (C) 1995, 1997 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - -# Please email any bugs, comments, and/or additions to this file to: -# DejaGnu@cygnus.com - -# This file was written by Brendan Kehoe (brendan@cygnus.com). - -# We need this file here because the targetname for the 29k board -# is `vxworks29k', not `vxworks'. That way other tools (e.g., gcc) -# can differentiate between the stuff run on that board and others. - -verbose "Loading ${srcdir}/config/vx-gdb.exp" -source ${srcdir}/config/vx-gdb.exp diff --git a/gdb/testsuite/configure b/gdb/testsuite/configure deleted file mode 100755 index 3949ed5f4c8..00000000000 --- a/gdb/testsuite/configure +++ /dev/null @@ -1,1097 +0,0 @@ -#! /bin/sh - -# Guess values for system-dependent variables and create Makefiles. -# Generated automatically using autoconf version 2.12.2 -# Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc. -# -# This configure script is free software; the Free Software Foundation -# gives unlimited permission to copy, distribute and modify it. - -# Defaults: -ac_help= -ac_default_prefix=/usr/local -# Any additions from configure.in: -ac_help="$ac_help - --enable-shared use shared libraries" -ac_help="$ac_help - --enable-gdbtk " - -# Initialize some variables set by options. -# The variables have the same names as the options, with -# dashes changed to underlines. -build=NONE -cache_file=./config.cache -exec_prefix=NONE -host=NONE -no_create= -nonopt=NONE -no_recursion= -prefix=NONE -program_prefix=NONE -program_suffix=NONE -program_transform_name=s,x,x, -silent= -site= -srcdir= -target=NONE -verbose= -x_includes=NONE -x_libraries=NONE -bindir='${exec_prefix}/bin' -sbindir='${exec_prefix}/sbin' -libexecdir='${exec_prefix}/libexec' -datadir='${prefix}/share' -sysconfdir='${prefix}/etc' -sharedstatedir='${prefix}/com' -localstatedir='${prefix}/var' -libdir='${exec_prefix}/lib' -includedir='${prefix}/include' -oldincludedir='/usr/include' -infodir='${prefix}/info' -mandir='${prefix}/man' - -# Initialize some other variables. -subdirs= -MFLAGS= MAKEFLAGS= -SHELL=${CONFIG_SHELL-/bin/sh} -# Maximum number of lines to put in a shell here document. -ac_max_here_lines=12 - -ac_prev= -for ac_option -do - - # If the previous option needs an argument, assign it. - if test -n "$ac_prev"; then - eval "$ac_prev=\$ac_option" - ac_prev= - continue - fi - - case "$ac_option" in - -*=*) ac_optarg=`echo "$ac_option" | sed 's/[-_a-zA-Z0-9]*=//'` ;; - *) ac_optarg= ;; - esac - - # Accept the important Cygnus configure options, so we can diagnose typos. - - case "$ac_option" in - - -bindir | --bindir | --bindi | --bind | --bin | --bi) - ac_prev=bindir ;; - -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) - bindir="$ac_optarg" ;; - - -build | --build | --buil | --bui | --bu) - ac_prev=build ;; - -build=* | --build=* | --buil=* | --bui=* | --bu=*) - build="$ac_optarg" ;; - - -cache-file | --cache-file | --cache-fil | --cache-fi \ - | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) - ac_prev=cache_file ;; - -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ - | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) - cache_file="$ac_optarg" ;; - - -datadir | --datadir | --datadi | --datad | --data | --dat | --da) - ac_prev=datadir ;; - -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \ - | --da=*) - datadir="$ac_optarg" ;; - - -disable-* | --disable-*) - ac_feature=`echo $ac_option|sed -e 's/-*disable-//'` - # Reject names that are not valid shell variable names. - if test -n "`echo $ac_feature| sed 's/[-a-zA-Z0-9_]//g'`"; then - { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; } - fi - ac_feature=`echo $ac_feature| sed 's/-/_/g'` - eval "enable_${ac_feature}=no" ;; - - -enable-* | --enable-*) - ac_feature=`echo $ac_option|sed -e 's/-*enable-//' -e 's/=.*//'` - # Reject names that are not valid shell variable names. - if test -n "`echo $ac_feature| sed 's/[-_a-zA-Z0-9]//g'`"; then - { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; } - fi - ac_feature=`echo $ac_feature| sed 's/-/_/g'` - case "$ac_option" in - *=*) ;; - *) ac_optarg=yes ;; - esac - eval "enable_${ac_feature}='$ac_optarg'" ;; - - -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ - | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ - | --exec | --exe | --ex) - ac_prev=exec_prefix ;; - -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ - | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ - | --exec=* | --exe=* | --ex=*) - exec_prefix="$ac_optarg" ;; - - -gas | --gas | --ga | --g) - # Obsolete; use --with-gas. - with_gas=yes ;; - - -help | --help | --hel | --he) - # Omit some internal or obsolete options to make the list less imposing. - # This message is too long to be a string in the A/UX 3.1 sh. - cat << EOF -Usage: configure [options] [host] -Options: [defaults in brackets after descriptions] -Configuration: - --cache-file=FILE cache test results in FILE - --help print this message - --no-create do not create output files - --quiet, --silent do not print \`checking...' messages - --version print the version of autoconf that created configure -Directory and file names: - --prefix=PREFIX install architecture-independent files in PREFIX - [$ac_default_prefix] - --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX - [same as prefix] - --bindir=DIR user executables in DIR [EPREFIX/bin] - --sbindir=DIR system admin executables in DIR [EPREFIX/sbin] - --libexecdir=DIR program executables in DIR [EPREFIX/libexec] - --datadir=DIR read-only architecture-independent data in DIR - [PREFIX/share] - --sysconfdir=DIR read-only single-machine data in DIR [PREFIX/etc] - --sharedstatedir=DIR modifiable architecture-independent data in DIR - [PREFIX/com] - --localstatedir=DIR modifiable single-machine data in DIR [PREFIX/var] - --libdir=DIR object code libraries in DIR [EPREFIX/lib] - --includedir=DIR C header files in DIR [PREFIX/include] - --oldincludedir=DIR C header files for non-gcc in DIR [/usr/include] - --infodir=DIR info documentation in DIR [PREFIX/info] - --mandir=DIR man documentation in DIR [PREFIX/man] - --srcdir=DIR find the sources in DIR [configure dir or ..] - --program-prefix=PREFIX prepend PREFIX to installed program names - --program-suffix=SUFFIX append SUFFIX to installed program names - --program-transform-name=PROGRAM - run sed PROGRAM on installed program names -EOF - cat << EOF -Host type: - --build=BUILD configure for building on BUILD [BUILD=HOST] - --host=HOST configure for HOST [guessed] - --target=TARGET configure for TARGET [TARGET=HOST] -Features and packages: - --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) - --enable-FEATURE[=ARG] include FEATURE [ARG=yes] - --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] - --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) - --x-includes=DIR X include files are in DIR - --x-libraries=DIR X library files are in DIR -EOF - if test -n "$ac_help"; then - echo "--enable and --with options recognized:$ac_help" - fi - exit 0 ;; - - -host | --host | --hos | --ho) - ac_prev=host ;; - -host=* | --host=* | --hos=* | --ho=*) - host="$ac_optarg" ;; - - -includedir | --includedir | --includedi | --included | --include \ - | --includ | --inclu | --incl | --inc) - ac_prev=includedir ;; - -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ - | --includ=* | --inclu=* | --incl=* | --inc=*) - includedir="$ac_optarg" ;; - - -infodir | --infodir | --infodi | --infod | --info | --inf) - ac_prev=infodir ;; - -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) - infodir="$ac_optarg" ;; - - -libdir | --libdir | --libdi | --libd) - ac_prev=libdir ;; - -libdir=* | --libdir=* | --libdi=* | --libd=*) - libdir="$ac_optarg" ;; - - -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ - | --libexe | --libex | --libe) - ac_prev=libexecdir ;; - -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ - | --libexe=* | --libex=* | --libe=*) - libexecdir="$ac_optarg" ;; - - -localstatedir | --localstatedir | --localstatedi | --localstated \ - | --localstate | --localstat | --localsta | --localst \ - | --locals | --local | --loca | --loc | --lo) - ac_prev=localstatedir ;; - -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ - | --localstate=* | --localstat=* | --localsta=* | --localst=* \ - | --locals=* | --local=* | --loca=* | --loc=* | --lo=*) - localstatedir="$ac_optarg" ;; - - -mandir | --mandir | --mandi | --mand | --man | --ma | --m) - ac_prev=mandir ;; - -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) - mandir="$ac_optarg" ;; - - -nfp | --nfp | --nf) - # Obsolete; use --without-fp. - with_fp=no ;; - - -no-create | --no-create | --no-creat | --no-crea | --no-cre \ - | --no-cr | --no-c) - no_create=yes ;; - - -no-recursion | --no-recursion | --no-recursio | --no-recursi \ - | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) - no_recursion=yes ;; - - -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ - | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ - | --oldin | --oldi | --old | --ol | --o) - ac_prev=oldincludedir ;; - -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ - | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ - | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) - oldincludedir="$ac_optarg" ;; - - -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) - ac_prev=prefix ;; - -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) - prefix="$ac_optarg" ;; - - -program-prefix | --program-prefix | --program-prefi | --program-pref \ - | --program-pre | --program-pr | --program-p) - ac_prev=program_prefix ;; - -program-prefix=* | --program-prefix=* | --program-prefi=* \ - | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) - program_prefix="$ac_optarg" ;; - - -program-suffix | --program-suffix | --program-suffi | --program-suff \ - | --program-suf | --program-su | --program-s) - ac_prev=program_suffix ;; - -program-suffix=* | --program-suffix=* | --program-suffi=* \ - | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) - program_suffix="$ac_optarg" ;; - - -program-transform-name | --program-transform-name \ - | --program-transform-nam | --program-transform-na \ - | --program-transform-n | --program-transform- \ - | --program-transform | --program-transfor \ - | --program-transfo | --program-transf \ - | --program-trans | --program-tran \ - | --progr-tra | --program-tr | --program-t) - ac_prev=program_transform_name ;; - -program-transform-name=* | --program-transform-name=* \ - | --program-transform-nam=* | --program-transform-na=* \ - | --program-transform-n=* | --program-transform-=* \ - | --program-transform=* | --program-transfor=* \ - | --program-transfo=* | --program-transf=* \ - | --program-trans=* | --program-tran=* \ - | --progr-tra=* | --program-tr=* | --program-t=*) - program_transform_name="$ac_optarg" ;; - - -q | -quiet | --quiet | --quie | --qui | --qu | --q \ - | -silent | --silent | --silen | --sile | --sil) - silent=yes ;; - - -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) - ac_prev=sbindir ;; - -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ - | --sbi=* | --sb=*) - sbindir="$ac_optarg" ;; - - -sharedstatedir | --sharedstatedir | --sharedstatedi \ - | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ - | --sharedst | --shareds | --shared | --share | --shar \ - | --sha | --sh) - ac_prev=sharedstatedir ;; - -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ - | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ - | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ - | --sha=* | --sh=*) - sharedstatedir="$ac_optarg" ;; - - -site | --site | --sit) - ac_prev=site ;; - -site=* | --site=* | --sit=*) - site="$ac_optarg" ;; - - -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) - ac_prev=srcdir ;; - -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) - srcdir="$ac_optarg" ;; - - -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ - | --syscon | --sysco | --sysc | --sys | --sy) - ac_prev=sysconfdir ;; - -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ - | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) - sysconfdir="$ac_optarg" ;; - - -target | --target | --targe | --targ | --tar | --ta | --t) - ac_prev=target ;; - -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) - target="$ac_optarg" ;; - - -v | -verbose | --verbose | --verbos | --verbo | --verb) - verbose=yes ;; - - -version | --version | --versio | --versi | --vers) - echo "configure generated by autoconf version 2.12.2" - exit 0 ;; - - -with-* | --with-*) - ac_package=`echo $ac_option|sed -e 's/-*with-//' -e 's/=.*//'` - # Reject names that are not valid shell variable names. - if test -n "`echo $ac_package| sed 's/[-_a-zA-Z0-9]//g'`"; then - { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; } - fi - ac_package=`echo $ac_package| sed 's/-/_/g'` - case "$ac_option" in - *=*) ;; - *) ac_optarg=yes ;; - esac - eval "with_${ac_package}='$ac_optarg'" ;; - - -without-* | --without-*) - ac_package=`echo $ac_option|sed -e 's/-*without-//'` - # Reject names that are not valid shell variable names. - if test -n "`echo $ac_package| sed 's/[-a-zA-Z0-9_]//g'`"; then - { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; } - fi - ac_package=`echo $ac_package| sed 's/-/_/g'` - eval "with_${ac_package}=no" ;; - - --x) - # Obsolete; use --with-x. - with_x=yes ;; - - -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ - | --x-incl | --x-inc | --x-in | --x-i) - ac_prev=x_includes ;; - -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ - | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) - x_includes="$ac_optarg" ;; - - -x-libraries | --x-libraries | --x-librarie | --x-librari \ - | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) - ac_prev=x_libraries ;; - -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ - | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) - x_libraries="$ac_optarg" ;; - - -*) { echo "configure: error: $ac_option: invalid option; use --help to show usage" 1>&2; exit 1; } - ;; - - *) - if test -n "`echo $ac_option| sed 's/[-a-z0-9.]//g'`"; then - echo "configure: warning: $ac_option: invalid host type" 1>&2 - fi - if test "x$nonopt" != xNONE; then - { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; } - fi - nonopt="$ac_option" - ;; - - esac -done - -if test -n "$ac_prev"; then - { echo "configure: error: missing argument to --`echo $ac_prev | sed 's/_/-/g'`" 1>&2; exit 1; } -fi - -trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15 - -# File descriptor usage: -# 0 standard input -# 1 file creation -# 2 errors and warnings -# 3 some systems may open it to /dev/tty -# 4 used on the Kubota Titan -# 6 checking for... messages and results -# 5 compiler messages saved in config.log -if test "$silent" = yes; then - exec 6>/dev/null -else - exec 6>&1 -fi -exec 5>./config.log - -echo "\ -This file contains any messages produced by compilers while -running configure, to aid debugging if configure makes a mistake. -" 1>&5 - -# Strip out --no-create and --no-recursion so they do not pile up. -# Also quote any args containing shell metacharacters. -ac_configure_args= -for ac_arg -do - case "$ac_arg" in - -no-create | --no-create | --no-creat | --no-crea | --no-cre \ - | --no-cr | --no-c) ;; - -no-recursion | --no-recursion | --no-recursio | --no-recursi \ - | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) ;; - *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?]*) - ac_configure_args="$ac_configure_args '$ac_arg'" ;; - *) ac_configure_args="$ac_configure_args $ac_arg" ;; - esac -done - -# NLS nuisances. -# Only set these to C if already set. These must not be set unconditionally -# because not all systems understand e.g. LANG=C (notably SCO). -# Fixing LC_MESSAGES prevents Solaris sh from translating var values in `set'! -# Non-C LC_CTYPE values break the ctype check. -if test "${LANG+set}" = set; then LANG=C; export LANG; fi -if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi -if test "${LC_MESSAGES+set}" = set; then LC_MESSAGES=C; export LC_MESSAGES; fi -if test "${LC_CTYPE+set}" = set; then LC_CTYPE=C; export LC_CTYPE; fi - -# confdefs.h avoids OS command line length limits that DEFS can exceed. -rm -rf conftest* confdefs.h -# AIX cpp loses on an empty file, so make sure it contains at least a newline. -echo > confdefs.h - -# A filename unique to this package, relative to the directory that -# configure is in, which we can look for to find out if srcdir is correct. -ac_unique_file=gdb.base - -# Find the source files, if location was not specified. -if test -z "$srcdir"; then - ac_srcdir_defaulted=yes - # Try the directory containing this script, then its parent. - ac_prog=$0 - ac_confdir=`echo $ac_prog|sed 's%/[^/][^/]*$%%'` - test "x$ac_confdir" = "x$ac_prog" && ac_confdir=. - srcdir=$ac_confdir - if test ! -r $srcdir/$ac_unique_file; then - srcdir=.. - fi -else - ac_srcdir_defaulted=no -fi -if test ! -r $srcdir/$ac_unique_file; then - if test "$ac_srcdir_defaulted" = yes; then - { echo "configure: error: can not find sources in $ac_confdir or .." 1>&2; exit 1; } - else - { echo "configure: error: can not find sources in $srcdir" 1>&2; exit 1; } - fi -fi -srcdir=`echo "${srcdir}" | sed 's%\([^/]\)/*$%\1%'` - -# Prefer explicitly selected file to automatically selected ones. -if test -z "$CONFIG_SITE"; then - if test "x$prefix" != xNONE; then - CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site" - else - CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site" - fi -fi -for ac_site_file in $CONFIG_SITE; do - if test -r "$ac_site_file"; then - echo "loading site script $ac_site_file" - . "$ac_site_file" - fi -done - -if test -r "$cache_file"; then - echo "loading cache $cache_file" - . $cache_file -else - echo "creating cache $cache_file" - > $cache_file -fi - -ac_ext=c -# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. -ac_cpp='$CPP $CPPFLAGS' -ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5' -ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5' -cross_compiling=$ac_cv_prog_cc_cross - -ac_exeext= -ac_objext=o -if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then - # Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu. - if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then - ac_n= ac_c=' -' ac_t=' ' - else - ac_n=-n ac_c= ac_t= - fi -else - ac_n= ac_c='\c' ac_t= -fi - - - -CC=${CC-cc} - -ac_aux_dir= -for ac_dir in `cd $srcdir;pwd`/../.. $srcdir/`cd $srcdir;pwd`/../..; do - if test -f $ac_dir/install-sh; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/install-sh -c" - break - elif test -f $ac_dir/install.sh; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/install.sh -c" - break - fi -done -if test -z "$ac_aux_dir"; then - { echo "configure: error: can not find install-sh or install.sh in `cd $srcdir;pwd`/../.. $srcdir/`cd $srcdir;pwd`/../.." 1>&2; exit 1; } -fi -ac_config_guess=$ac_aux_dir/config.guess -ac_config_sub=$ac_aux_dir/config.sub -ac_configure=$ac_aux_dir/configure # This should be Cygnus configure. - - -# Do some error checking and defaulting for the host and target type. -# The inputs are: -# configure --host=HOST --target=TARGET --build=BUILD NONOPT -# -# The rules are: -# 1. You are not allowed to specify --host, --target, and nonopt at the -# same time. -# 2. Host defaults to nonopt. -# 3. If nonopt is not specified, then host defaults to the current host, -# as determined by config.guess. -# 4. Target and build default to nonopt. -# 5. If nonopt is not specified, then target and build default to host. - -# The aliases save the names the user supplied, while $host etc. -# will get canonicalized. -case $host---$target---$nonopt in -NONE---*---* | *---NONE---* | *---*---NONE) ;; -*) { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; } ;; -esac - - -# Make sure we can run config.sub. -if ${CONFIG_SHELL-/bin/sh} $ac_config_sub sun4 >/dev/null 2>&1; then : -else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; } -fi - -echo $ac_n "checking host system type""... $ac_c" 1>&6 -echo "configure:577: checking host system type" >&5 - -host_alias=$host -case "$host_alias" in -NONE) - case $nonopt in - NONE) - if host_alias=`${CONFIG_SHELL-/bin/sh} $ac_config_guess`; then : - else { echo "configure: error: can not guess host type; you must specify one" 1>&2; exit 1; } - fi ;; - *) host_alias=$nonopt ;; - esac ;; -esac - -host=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $host_alias` -host_cpu=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` -host_vendor=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` -host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` -echo "$ac_t""$host" 1>&6 - -echo $ac_n "checking target system type""... $ac_c" 1>&6 -echo "configure:598: checking target system type" >&5 - -target_alias=$target -case "$target_alias" in -NONE) - case $nonopt in - NONE) target_alias=$host_alias ;; - *) target_alias=$nonopt ;; - esac ;; -esac - -target=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $target_alias` -target_cpu=`echo $target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` -target_vendor=`echo $target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` -target_os=`echo $target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` -echo "$ac_t""$target" 1>&6 - -echo $ac_n "checking build system type""... $ac_c" 1>&6 -echo "configure:616: checking build system type" >&5 - -build_alias=$build -case "$build_alias" in -NONE) - case $nonopt in - NONE) build_alias=$host_alias ;; - *) build_alias=$nonopt ;; - esac ;; -esac - -build=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $build_alias` -build_cpu=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` -build_vendor=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` -build_os=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` -echo "$ac_t""$build" 1>&6 - -test "$host_alias" != "$target_alias" && - test "$program_prefix$program_suffix$program_transform_name" = \ - NONENONEs,x,x, && - program_prefix=${target_alias}- - - -# Directories to use in all configurations. -configdirs="gdb.asm gdb.base gdb.c++ gdb.disasm gdb.chill gdb.threads gdb.trace" - -# Directories to use for a configuration which uses stabs. -stabsdirs="gdb.stabs" - - # this section is for targets that use stabs -# add stabs tests for appropriate targets -case "${target}" in - powerpc-*-aix*) configdirs="${configdirs} ${stabsdirs}" ;; - rs6000-*-aix*) configdirs="${configdirs} ${stabsdirs}" ;; - *-*-bsd*) configdirs="${configdirs} ${stabsdirs}" ;; - *-*-go32*) configdirs="${configdirs} ${stabsdirs}" ;; - *-*-linux*) configdirs="${configdirs} ${stabsdirs}" ;; - *-*-lynxos*) configdirs="${configdirs} ${stabsdirs}" ;; - *-sun-*) configdirs="${configdirs} ${stabsdirs}" ;; - hppa*-*-*) configdirs="${configdirs} ${stabsdirs}" ;; - *-*-elf*) configdirs="${configdirs} ${stabsdirs}" ;; - *) if test "x${with_stabs}" = x"yes" ; then - configdirs="${configdirs} ${stabsdirs}" - fi ;; -esac - -# Directory with HP specific tests. They will run only with HP's compilers. -# These tests will not work on other platforms and compilers. - -hpdir="gdb.hp" - -case "${target}" in - hppa*-*-hpux*) configdirs="${configdirs} ${hpdir}" ;; -esac - - -# Begin stuff to support --enable-shared -# Check whether --enable-shared or --disable-shared was given. -if test "${enable_shared+set}" = set; then - enableval="$enable_shared" - case "${enableval}" in - yes) shared=true ;; - no) shared=false ;; - *) shared=true ;; -esac -fi -RPATH_ENVVAR=LD_LIBRARY_PATH -# If we have shared libraries, try to set RPATH_ENVVAR reasonably. -if test "${shared}" = "true"; then - case "${host}" in - *-*-hpux*) - RPATH_ENVVAR=SHLIB_PATH - ;; - esac -fi - -# End stuff to support --enable-shared -# Start stuff to support --enable-gdbtk -# start-sanitize-gdbtk -# Check whether --enable-gdbtk or --disable-gdbtk was given. -if test "${enable_gdbtk+set}" = set; then - enableval="$enable_gdbtk" - case "${enableval}" in - yes) - case "$host" in - *go32*) - enable_gdbtk=no ;; - *windows*) - enable_gdbtk=no ;; - *) - enable_gdbtk=yes ;; - esac ;; - no) - enable_gdbtk=no ;; - *) - { echo "configure: error: bad value ${enableval} given for gdbtk option" 1>&2; exit 1; } ;; -esac -else - -# Default is on for everything but go32 and windows -case "$host" in - *go32* | *windows*) - ;; - *) - enable_gdbtk=yes ;; - esac - -fi - - -if test "${enable_gdbtk}" = "yes"; then - configdirs="${configdirs} gdb.gdbtk" -fi -# End stuff to support --enable-shared -# end-sanitize-gdbtk - -# configure the subdirectories too -subdirs="$configdirs" - - -trap '' 1 2 15 -cat > confcache <<\EOF -# This file is a shell script that caches the results of configure -# tests run on this system so they can be shared between configure -# scripts and configure runs. It is not useful on other systems. -# If it contains results you don't want to keep, you may remove or edit it. -# -# By default, configure uses ./config.cache as the cache file, -# creating it if it does not exist already. You can give configure -# the --cache-file=FILE option to use a different cache file; that is -# what configure does when it calls configure scripts in -# subdirectories, so they share the cache. -# Giving --cache-file=/dev/null disables caching, for debugging configure. -# config.status only pays attention to the cache file if you give it the -# --recheck option to rerun configure. -# -EOF -# The following way of writing the cache mishandles newlines in values, -# but we know of no workaround that is simple, portable, and efficient. -# So, don't put newlines in cache variables' values. -# Ultrix sh set writes to stderr and can't be redirected directly, -# and sets the high bit in the cache file unless we assign to the vars. -(set) 2>&1 | - case `(ac_space=' '; set) 2>&1` in - *ac_space=\ *) - # `set' does not quote correctly, so add quotes (double-quote substitution - # turns \\\\ into \\, and sed turns \\ into \). - sed -n \ - -e "s/'/'\\\\''/g" \ - -e "s/^\\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\\)=\\(.*\\)/\\1=\${\\1='\\2'}/p" - ;; - *) - # `set' quotes correctly as required by POSIX, so do not add quotes. - sed -n -e 's/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=${\1=\2}/p' - ;; - esac >> confcache -if cmp -s $cache_file confcache; then - : -else - if test -w $cache_file; then - echo "updating cache $cache_file" - cat confcache > $cache_file - else - echo "not updating unwritable cache $cache_file" - fi -fi -rm -f confcache - -trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15 - -test "x$prefix" = xNONE && prefix=$ac_default_prefix -# Let make expand exec_prefix. -test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' - -# Any assignment to VPATH causes Sun make to only execute -# the first set of double-colon rules, so remove it if not needed. -# If there is a colon in the path, we need to keep it. -if test "x$srcdir" = x.; then - ac_vpsub='/^[ ]*VPATH[ ]*=[^:]*$/d' -fi - -trap 'rm -f $CONFIG_STATUS conftest*; exit 1' 1 2 15 - -# Transform confdefs.h into DEFS. -# Protect against shell expansion while executing Makefile rules. -# Protect against Makefile macro expansion. -cat > conftest.defs <<\EOF -s%#define \([A-Za-z_][A-Za-z0-9_]*\) *\(.*\)%-D\1=\2%g -s%[ `~#$^&*(){}\\|;'"<>?]%\\&%g -s%\[%\\&%g -s%\]%\\&%g -s%\$%$$%g -EOF -DEFS=`sed -f conftest.defs confdefs.h | tr '\012' ' '` -rm -f conftest.defs - - -# Without the "./", some shells look in PATH for config.status. -: ${CONFIG_STATUS=./config.status} - -echo creating $CONFIG_STATUS -rm -f $CONFIG_STATUS -cat > $CONFIG_STATUS <<EOF -#! /bin/sh -# Generated automatically by configure. -# Run this file to recreate the current configuration. -# This directory was configured as follows, -# on host `(hostname || uname -n) 2>/dev/null | sed 1q`: -# -# $0 $ac_configure_args -# -# Compiler output produced by configure, useful for debugging -# configure, is in ./config.log if it exists. - -ac_cs_usage="Usage: $CONFIG_STATUS [--recheck] [--version] [--help]" -for ac_option -do - case "\$ac_option" in - -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) - echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion" - exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;; - -version | --version | --versio | --versi | --vers | --ver | --ve | --v) - echo "$CONFIG_STATUS generated by autoconf version 2.12.2" - exit 0 ;; - -help | --help | --hel | --he | --h) - echo "\$ac_cs_usage"; exit 0 ;; - *) echo "\$ac_cs_usage"; exit 1 ;; - esac -done - -ac_given_srcdir=$srcdir - -trap 'rm -fr `echo "Makefile" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15 -EOF -cat >> $CONFIG_STATUS <<EOF - -# Protect against being on the right side of a sed subst in config.status. -sed 's/%@/@@/; s/@%/@@/; s/%g\$/@g/; /@g\$/s/[\\\\&%]/\\\\&/g; - s/@@/%@/; s/@@/@%/; s/@g\$/%g/' > conftest.subs <<\\CEOF -$ac_vpsub -$extrasub -s%@SHELL@%$SHELL%g -s%@CFLAGS@%$CFLAGS%g -s%@CPPFLAGS@%$CPPFLAGS%g -s%@CXXFLAGS@%$CXXFLAGS%g -s%@DEFS@%$DEFS%g -s%@LDFLAGS@%$LDFLAGS%g -s%@LIBS@%$LIBS%g -s%@exec_prefix@%$exec_prefix%g -s%@prefix@%$prefix%g -s%@program_transform_name@%$program_transform_name%g -s%@bindir@%$bindir%g -s%@sbindir@%$sbindir%g -s%@libexecdir@%$libexecdir%g -s%@datadir@%$datadir%g -s%@sysconfdir@%$sysconfdir%g -s%@sharedstatedir@%$sharedstatedir%g -s%@localstatedir@%$localstatedir%g -s%@libdir@%$libdir%g -s%@includedir@%$includedir%g -s%@oldincludedir@%$oldincludedir%g -s%@infodir@%$infodir%g -s%@mandir@%$mandir%g -s%@CC@%$CC%g -s%@host@%$host%g -s%@host_alias@%$host_alias%g -s%@host_cpu@%$host_cpu%g -s%@host_vendor@%$host_vendor%g -s%@host_os@%$host_os%g -s%@target@%$target%g -s%@target_alias@%$target_alias%g -s%@target_cpu@%$target_cpu%g -s%@target_vendor@%$target_vendor%g -s%@target_os@%$target_os%g -s%@build@%$build%g -s%@build_alias@%$build_alias%g -s%@build_cpu@%$build_cpu%g -s%@build_vendor@%$build_vendor%g -s%@build_os@%$build_os%g -s%@RPATH_ENVVAR@%$RPATH_ENVVAR%g -s%@subdirs@%$subdirs%g - -CEOF -EOF - -cat >> $CONFIG_STATUS <<\EOF - -# Split the substitutions into bite-sized pieces for seds with -# small command number limits, like on Digital OSF/1 and HP-UX. -ac_max_sed_cmds=90 # Maximum number of lines to put in a sed script. -ac_file=1 # Number of current file. -ac_beg=1 # First line for current file. -ac_end=$ac_max_sed_cmds # Line after last line for current file. -ac_more_lines=: -ac_sed_cmds="" -while $ac_more_lines; do - if test $ac_beg -gt 1; then - sed "1,${ac_beg}d; ${ac_end}q" conftest.subs > conftest.s$ac_file - else - sed "${ac_end}q" conftest.subs > conftest.s$ac_file - fi - if test ! -s conftest.s$ac_file; then - ac_more_lines=false - rm -f conftest.s$ac_file - else - if test -z "$ac_sed_cmds"; then - ac_sed_cmds="sed -f conftest.s$ac_file" - else - ac_sed_cmds="$ac_sed_cmds | sed -f conftest.s$ac_file" - fi - ac_file=`expr $ac_file + 1` - ac_beg=$ac_end - ac_end=`expr $ac_end + $ac_max_sed_cmds` - fi -done -if test -z "$ac_sed_cmds"; then - ac_sed_cmds=cat -fi -EOF - -cat >> $CONFIG_STATUS <<EOF - -CONFIG_FILES=\${CONFIG_FILES-"Makefile"} -EOF -cat >> $CONFIG_STATUS <<\EOF -for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then - # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in". - case "$ac_file" in - *:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'` - ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;; - *) ac_file_in="${ac_file}.in" ;; - esac - - # Adjust a relative srcdir, top_srcdir, and INSTALL for subdirectories. - - # Remove last slash and all that follows it. Not all systems have dirname. - ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'` - if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then - # The file is in a subdirectory. - test ! -d "$ac_dir" && mkdir "$ac_dir" - ac_dir_suffix="/`echo $ac_dir|sed 's%^\./%%'`" - # A "../" for each directory in $ac_dir_suffix. - ac_dots=`echo $ac_dir_suffix|sed 's%/[^/]*%../%g'` - else - ac_dir_suffix= ac_dots= - fi - - case "$ac_given_srcdir" in - .) srcdir=. - if test -z "$ac_dots"; then top_srcdir=. - else top_srcdir=`echo $ac_dots|sed 's%/$%%'`; fi ;; - /*) srcdir="$ac_given_srcdir$ac_dir_suffix"; top_srcdir="$ac_given_srcdir" ;; - *) # Relative path. - srcdir="$ac_dots$ac_given_srcdir$ac_dir_suffix" - top_srcdir="$ac_dots$ac_given_srcdir" ;; - esac - - - echo creating "$ac_file" - rm -f "$ac_file" - configure_input="Generated automatically from `echo $ac_file_in|sed 's%.*/%%'` by configure." - case "$ac_file" in - *Makefile*) ac_comsub="1i\\ -# $configure_input" ;; - *) ac_comsub= ;; - esac - - ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"` - sed -e "$ac_comsub -s%@configure_input@%$configure_input%g -s%@srcdir@%$srcdir%g -s%@top_srcdir@%$top_srcdir%g -" $ac_file_inputs | (eval "$ac_sed_cmds") > $ac_file -fi; done -rm -f conftest.s* - -EOF -cat >> $CONFIG_STATUS <<EOF - -EOF -cat >> $CONFIG_STATUS <<\EOF - -exit 0 -EOF -chmod +x $CONFIG_STATUS -rm -fr confdefs* $ac_clean_files -test "$no_create" = yes || ${CONFIG_SHELL-/bin/sh} $CONFIG_STATUS || exit 1 - -if test "$no_recursion" != yes; then - - # Remove --cache-file and --srcdir arguments so they do not pile up. - ac_sub_configure_args= - ac_prev= - for ac_arg in $ac_configure_args; do - if test -n "$ac_prev"; then - ac_prev= - continue - fi - case "$ac_arg" in - -cache-file | --cache-file | --cache-fil | --cache-fi \ - | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) - ac_prev=cache_file ;; - -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ - | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) - ;; - -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) - ac_prev=srcdir ;; - -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) - ;; - *) ac_sub_configure_args="$ac_sub_configure_args $ac_arg" ;; - esac - done - - for ac_config_dir in $configdirs; do - - # Do not complain, so a configure script can configure whichever - # parts of a large source tree are present. - if test ! -d $srcdir/$ac_config_dir; then - continue - fi - - echo configuring in $ac_config_dir - - case "$srcdir" in - .) ;; - *) - if test -d ./$ac_config_dir || mkdir ./$ac_config_dir; then :; - else - { echo "configure: error: can not create `pwd`/$ac_config_dir" 1>&2; exit 1; } - fi - ;; - esac - - ac_popdir=`pwd` - cd $ac_config_dir - - # A "../" for each directory in /$ac_config_dir. - ac_dots=`echo $ac_config_dir|sed -e 's%^\./%%' -e 's%[^/]$%&/%' -e 's%[^/]*/%../%g'` - - case "$srcdir" in - .) # No --srcdir option. We are building in place. - ac_sub_srcdir=$srcdir ;; - /*) # Absolute path. - ac_sub_srcdir=$srcdir/$ac_config_dir ;; - *) # Relative path. - ac_sub_srcdir=$ac_dots$srcdir/$ac_config_dir ;; - esac - - # Check for guested configure; otherwise get Cygnus style configure. - if test -f $ac_sub_srcdir/configure; then - ac_sub_configure=$ac_sub_srcdir/configure - elif test -f $ac_sub_srcdir/configure.in; then - ac_sub_configure=$ac_configure - else - echo "configure: warning: no configuration information is in $ac_config_dir" 1>&2 - ac_sub_configure= - fi - - # The recursion is here. - if test -n "$ac_sub_configure"; then - - # Make the cache file name correct relative to the subdirectory. - case "$cache_file" in - /*) ac_sub_cache_file=$cache_file ;; - *) # Relative path. - ac_sub_cache_file="$ac_dots$cache_file" ;; - esac - - echo "running ${CONFIG_SHELL-/bin/sh} $ac_sub_configure $ac_sub_configure_args --cache-file=$ac_sub_cache_file --srcdir=$ac_sub_srcdir" - # The eval makes quoting arguments work. - if eval ${CONFIG_SHELL-/bin/sh} $ac_sub_configure $ac_sub_configure_args --cache-file=$ac_sub_cache_file --srcdir=$ac_sub_srcdir - then : - else - { echo "configure: error: $ac_sub_configure failed for $ac_config_dir" 1>&2; exit 1; } - fi - fi - - cd $ac_popdir - done -fi - diff --git a/gdb/testsuite/configure.in b/gdb/testsuite/configure.in deleted file mode 100644 index 0b37ea98ff8..00000000000 --- a/gdb/testsuite/configure.in +++ /dev/null @@ -1,106 +0,0 @@ -dnl Process this file file with autoconf to produce a configure script. -dnl This file is a shell script fragment that supplies the information -dnl necessary to tailor a template configure script into the configure -dnl script appropriate for this directory. For more information, check -dnl any existing configure script. - -AC_PREREQ(2.12.1) -AC_INIT(gdb.base) - -CC=${CC-cc} -AC_SUBST(CC) -AC_CONFIG_AUX_DIR(`cd $srcdir;pwd`/../..) -AC_CANONICAL_SYSTEM - -# Directories to use in all configurations. -configdirs="gdb.asm gdb.base gdb.c++ gdb.disasm gdb.chill gdb.threads gdb.trace" - -# Directories to use for a configuration which uses stabs. -stabsdirs="gdb.stabs" - - # this section is for targets that use stabs -# add stabs tests for appropriate targets -case "${target}" in - powerpc-*-aix*) configdirs="${configdirs} ${stabsdirs}" ;; - rs6000-*-aix*) configdirs="${configdirs} ${stabsdirs}" ;; - *-*-bsd*) configdirs="${configdirs} ${stabsdirs}" ;; - *-*-go32*) configdirs="${configdirs} ${stabsdirs}" ;; - *-*-linux*) configdirs="${configdirs} ${stabsdirs}" ;; - *-*-lynxos*) configdirs="${configdirs} ${stabsdirs}" ;; - *-sun-*) configdirs="${configdirs} ${stabsdirs}" ;; - hppa*-*-*) configdirs="${configdirs} ${stabsdirs}" ;; - *-*-elf*) configdirs="${configdirs} ${stabsdirs}" ;; - *) if test "x${with_stabs}" = x"yes" ; then - configdirs="${configdirs} ${stabsdirs}" - fi ;; -esac - -# Directory with HP specific tests. They will run only with HP's compilers. -# These tests will not work on other platforms and compilers. - -hpdir="gdb.hp" - -case "${target}" in - hppa*-*-hpux*) configdirs="${configdirs} ${hpdir}" ;; -esac - - -# Begin stuff to support --enable-shared -AC_ARG_ENABLE(shared, -[ --enable-shared use shared libraries], -[case "${enableval}" in - yes) shared=true ;; - no) shared=false ;; - *) shared=true ;; -esac])dnl -RPATH_ENVVAR=LD_LIBRARY_PATH -# If we have shared libraries, try to set RPATH_ENVVAR reasonably. -if test "${shared}" = "true"; then - case "${host}" in - *-*-hpux*) - RPATH_ENVVAR=SHLIB_PATH - ;; - esac -fi -AC_SUBST(RPATH_ENVVAR) -# End stuff to support --enable-shared -# Start stuff to support --enable-gdbtk -# start-sanitize-gdbtk -AC_ARG_ENABLE(gdbtk, -[ --enable-gdbtk ], -[case "${enableval}" in - yes) - case "$host" in - *go32*) - enable_gdbtk=no ;; - *windows*) - enable_gdbtk=no ;; - *) - enable_gdbtk=yes ;; - esac ;; - no) - enable_gdbtk=no ;; - *) - AC_MSG_ERROR(bad value ${enableval} given for gdbtk option) ;; -esac], -[ -# Default is on for everything but go32 and windows -case "$host" in - *go32* | *windows*) - ;; - *) - enable_gdbtk=yes ;; - esac -]) - -if test "${enable_gdbtk}" = "yes"; then - configdirs="${configdirs} gdb.gdbtk" -fi -# End stuff to support --enable-shared -# end-sanitize-gdbtk - -# configure the subdirectories too -AC_CONFIG_SUBDIRS($configdirs) - -dnl AC_SUBST(gdb_target_cpu) -AC_OUTPUT(Makefile) diff --git a/gdb/testsuite/gdb.asm/.Sanitize b/gdb/testsuite/gdb.asm/.Sanitize deleted file mode 100644 index 5c3c0a5c670..00000000000 --- a/gdb/testsuite/gdb.asm/.Sanitize +++ /dev/null @@ -1,44 +0,0 @@ -# .Sanitize for devo/gdb/testsuite/gdb.asm. - -# Each directory to survive its way into a release will need a file -# like this one called "./.Sanitize". All keyword lines must exist, -# and must exist in the order specified by this file. Each directory -# in the tree will be processed, top down, in the following order. - -# Hash started lines like this one are comments and will be deleted -# before anything else is done. Blank lines will also be squashed -# out. - -# The lines between the "Do-first:" line and the "Things-to-keep:" -# line are executed as a /bin/sh shell script before anything else is -# done in this directory. - -Do-first: - -# All files listed between the "Things-to-keep:" line and the -# "Do-last:" line will be kept. All other files will be removed. -# Directories listed in this section will have their own Sanitize -# called. Directories not listed will be removed in their entirety -# with rm -rf. - -Things-to-keep: - -Makefile.in -configure.in -configure - -asm-source.exp -asmsrc1.s -asmsrc2.s -common.inc -d10v.inc - -Things-to-lose: - -# The lines between the "Do-last:" line and the end of the file -# are executed as a /bin/sh shell script after everything else is -# done. - -Do-last: - -# eof diff --git a/gdb/testsuite/gdb.asm/Makefile.in b/gdb/testsuite/gdb.asm/Makefile.in deleted file mode 100644 index 5c469db6f69..00000000000 --- a/gdb/testsuite/gdb.asm/Makefile.in +++ /dev/null @@ -1,32 +0,0 @@ -VPATH = @srcdir@ -srcdir = @srcdir@ - -EXECUTABLES = - -# uuencoded format to avoid SCCS/RCS problems with binary files. -CROSS_EXECUTABLES = - -all: - @echo "Nothing to be done for all..." - -info: -install-info: -dvi: -install: -uninstall: force -installcheck: -check: - -clean mostlyclean: - -rm -f *~ *.o a.out xgdb *.x $(CROSS_EXECUTABLES) *.ci *.tmp - -rm -f core core.coremaker coremaker.core corefile $(EXECUTABLES) - -rm -f twice-tmp.c - -distclean maintainer-clean realclean: clean - -rm -f *~ core - -rm -f Makefile config.status config.log - -rm -f *-init.exp - -rm -fr *.log summary detail *.plog *.sum *.psum site.* - -Makefile : $(srcdir)/Makefile.in $(srcdir)/configure.in - $(SHELL) ./config.status --recheck diff --git a/gdb/testsuite/gdb.asm/asm-source.exp b/gdb/testsuite/gdb.asm/asm-source.exp deleted file mode 100644 index 4fd2d28fae3..00000000000 --- a/gdb/testsuite/gdb.asm/asm-source.exp +++ /dev/null @@ -1,71 +0,0 @@ -# Copyright (C) 1998 Free Software Foundation, Inc. -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -# -# Please email any bugs, comments, and/or additions to this file to: -# bug-gdb@prep.ai.mit.edu -# -# This file was written by Kendra. - -if $tracelevel then { - strace $tracelevel -} - -# -# test debugging assembly level programs -# - -set prms_id 0 -set bug_id 0 - -if [istarget "d10v-*-*"] then { - ;# nothing to do, yet -} else { - verbose "Skipping assembly source test -- not implemented for this target." - return -} - -set testfile "asm-source" -set binfile ${objdir}/${subdir}/${testfile} -set src1 ${srcdir}/${subdir}/asmsrc1.s -set src2 ${srcdir}/${subdir}/asmsrc2.s - -if {[gdb_compile ${src1} asmsrc1.o object "additional_flags=-Wa,-gstabs"] != ""} then { - gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail." -} -if {[gdb_compile ${src2} asmsrc2.o object "additional_flags=-Wa,-gstabs"] != ""} then { - gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail." -} - -if { [gdb_compile "asmsrc1.o asmsrc2.o" ${binfile} executable "ldflags=-nostdlib"] != "" } { - gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail." -} - -remote_exec build "mv asmsrc1.o asmsrc2.o ${objdir}/${subdir}" - - -gdb_start -gdb_reinitialize_dir $srcdir/$subdir -gdb_load ${binfile} - -# -# set it up at a breakpoint so we can play with the variable values -# - -if ![runto_main] then { - gdb_suppress_tests; -} - -gdb_test "f" "asmsrc1\[.\]s:40.*several_nops" diff --git a/gdb/testsuite/gdb.asm/asmsrc1.s b/gdb/testsuite/gdb.asm/asmsrc1.s deleted file mode 100644 index 1eba17b134b..00000000000 --- a/gdb/testsuite/gdb.asm/asmsrc1.s +++ /dev/null @@ -1,61 +0,0 @@ -; "main" routine for assembly source debugging test -; Eventually this code needs to be made more machine independent -; (with the actual code coming from macros in some header file) -; so that the same driver will work for several architectures. - - .macro exit0 - ldi r4, 1 - ldi r0, 0 - trap 15 - .endm - - .macro several_nops - nop - nop - nop - nop - .endm - -; FIXME: For now we include crt0. -; For a portable testcase we should use the standard one. - - .globl _start -_start: -; set up the stack - ldi sp, 0x8000 - mvtc sp, psw ; psw <- SW - ldi sp, 0x7ffe ; 0x7ffe is a magic number known to gdb: "top of stack" -; Call main, then exit. - bl main - bl exit - -; Program begins here. - - .global main -main: - st r13,@-sp - -; Call a macro that consists of several lines of assembler code. - - several_nops - -; Call a subroutine in another file. - - bl foo2 - -; All done. - - exit0 - -; A routine for foo2 to call. - - .global foo3 -foo3: - st r13,@-sp - - ld r13,@sp+ - jmp r13 - - .global exit -exit: - exit0 diff --git a/gdb/testsuite/gdb.asm/asmsrc2.s b/gdb/testsuite/gdb.asm/asmsrc2.s deleted file mode 100644 index 4c22987b85a..00000000000 --- a/gdb/testsuite/gdb.asm/asmsrc2.s +++ /dev/null @@ -1,14 +0,0 @@ -; Second file in assembly source debugging testcase. - - .global foo2 -foo2: - st r13,@-sp - -; Call someplace else - - bl foo3 - -; All done, return. - - ld r13,@sp+ - jmp r13 diff --git a/gdb/testsuite/gdb.asm/configure b/gdb/testsuite/gdb.asm/configure deleted file mode 100755 index fedef7398fd..00000000000 --- a/gdb/testsuite/gdb.asm/configure +++ /dev/null @@ -1,950 +0,0 @@ -#! /bin/sh - -# Guess values for system-dependent variables and create Makefiles. -# Generated automatically using autoconf version 2.12.1 -# Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc. -# -# This configure script is free software; the Free Software Foundation -# gives unlimited permission to copy, distribute and modify it. - -# Defaults: -ac_help= -ac_default_prefix=/usr/local -# Any additions from configure.in: - -# Initialize some variables set by options. -# The variables have the same names as the options, with -# dashes changed to underlines. -build=NONE -cache_file=./config.cache -exec_prefix=NONE -host=NONE -no_create= -nonopt=NONE -no_recursion= -prefix=NONE -program_prefix=NONE -program_suffix=NONE -program_transform_name=s,x,x, -silent= -site= -srcdir= -target=NONE -verbose= -x_includes=NONE -x_libraries=NONE -bindir='${exec_prefix}/bin' -sbindir='${exec_prefix}/sbin' -libexecdir='${exec_prefix}/libexec' -datadir='${prefix}/share' -sysconfdir='${prefix}/etc' -sharedstatedir='${prefix}/com' -localstatedir='${prefix}/var' -libdir='${exec_prefix}/lib' -includedir='${prefix}/include' -oldincludedir='/usr/include' -infodir='${prefix}/info' -mandir='${prefix}/man' - -# Initialize some other variables. -subdirs= -MFLAGS= MAKEFLAGS= -SHELL=${CONFIG_SHELL-/bin/sh} -# Maximum number of lines to put in a shell here document. -ac_max_here_lines=12 - -ac_prev= -for ac_option -do - - # If the previous option needs an argument, assign it. - if test -n "$ac_prev"; then - eval "$ac_prev=\$ac_option" - ac_prev= - continue - fi - - case "$ac_option" in - -*=*) ac_optarg=`echo "$ac_option" | sed 's/[-_a-zA-Z0-9]*=//'` ;; - *) ac_optarg= ;; - esac - - # Accept the important Cygnus configure options, so we can diagnose typos. - - case "$ac_option" in - - -bindir | --bindir | --bindi | --bind | --bin | --bi) - ac_prev=bindir ;; - -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) - bindir="$ac_optarg" ;; - - -build | --build | --buil | --bui | --bu) - ac_prev=build ;; - -build=* | --build=* | --buil=* | --bui=* | --bu=*) - build="$ac_optarg" ;; - - -cache-file | --cache-file | --cache-fil | --cache-fi \ - | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) - ac_prev=cache_file ;; - -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ - | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) - cache_file="$ac_optarg" ;; - - -datadir | --datadir | --datadi | --datad | --data | --dat | --da) - ac_prev=datadir ;; - -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \ - | --da=*) - datadir="$ac_optarg" ;; - - -disable-* | --disable-*) - ac_feature=`echo $ac_option|sed -e 's/-*disable-//'` - # Reject names that are not valid shell variable names. - if test -n "`echo $ac_feature| sed 's/[-a-zA-Z0-9_]//g'`"; then - { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; } - fi - ac_feature=`echo $ac_feature| sed 's/-/_/g'` - eval "enable_${ac_feature}=no" ;; - - -enable-* | --enable-*) - ac_feature=`echo $ac_option|sed -e 's/-*enable-//' -e 's/=.*//'` - # Reject names that are not valid shell variable names. - if test -n "`echo $ac_feature| sed 's/[-_a-zA-Z0-9]//g'`"; then - { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; } - fi - ac_feature=`echo $ac_feature| sed 's/-/_/g'` - case "$ac_option" in - *=*) ;; - *) ac_optarg=yes ;; - esac - eval "enable_${ac_feature}='$ac_optarg'" ;; - - -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ - | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ - | --exec | --exe | --ex) - ac_prev=exec_prefix ;; - -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ - | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ - | --exec=* | --exe=* | --ex=*) - exec_prefix="$ac_optarg" ;; - - -gas | --gas | --ga | --g) - # Obsolete; use --with-gas. - with_gas=yes ;; - - -help | --help | --hel | --he) - # Omit some internal or obsolete options to make the list less imposing. - # This message is too long to be a string in the A/UX 3.1 sh. - cat << EOF -Usage: configure [options] [host] -Options: [defaults in brackets after descriptions] -Configuration: - --cache-file=FILE cache test results in FILE - --help print this message - --no-create do not create output files - --quiet, --silent do not print \`checking...' messages - --version print the version of autoconf that created configure -Directory and file names: - --prefix=PREFIX install architecture-independent files in PREFIX - [$ac_default_prefix] - --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX - [same as prefix] - --bindir=DIR user executables in DIR [EPREFIX/bin] - --sbindir=DIR system admin executables in DIR [EPREFIX/sbin] - --libexecdir=DIR program executables in DIR [EPREFIX/libexec] - --datadir=DIR read-only architecture-independent data in DIR - [PREFIX/share] - --sysconfdir=DIR read-only single-machine data in DIR [PREFIX/etc] - --sharedstatedir=DIR modifiable architecture-independent data in DIR - [PREFIX/com] - --localstatedir=DIR modifiable single-machine data in DIR [PREFIX/var] - --libdir=DIR object code libraries in DIR [EPREFIX/lib] - --includedir=DIR C header files in DIR [PREFIX/include] - --oldincludedir=DIR C header files for non-gcc in DIR [/usr/include] - --infodir=DIR info documentation in DIR [PREFIX/info] - --mandir=DIR man documentation in DIR [PREFIX/man] - --srcdir=DIR find the sources in DIR [configure dir or ..] - --program-prefix=PREFIX prepend PREFIX to installed program names - --program-suffix=SUFFIX append SUFFIX to installed program names - --program-transform-name=PROGRAM - run sed PROGRAM on installed program names -EOF - cat << EOF -Host type: - --build=BUILD configure for building on BUILD [BUILD=HOST] - --host=HOST configure for HOST [guessed] - --target=TARGET configure for TARGET [TARGET=HOST] -Features and packages: - --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) - --enable-FEATURE[=ARG] include FEATURE [ARG=yes] - --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] - --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) - --x-includes=DIR X include files are in DIR - --x-libraries=DIR X library files are in DIR -EOF - if test -n "$ac_help"; then - echo "--enable and --with options recognized:$ac_help" - fi - exit 0 ;; - - -host | --host | --hos | --ho) - ac_prev=host ;; - -host=* | --host=* | --hos=* | --ho=*) - host="$ac_optarg" ;; - - -includedir | --includedir | --includedi | --included | --include \ - | --includ | --inclu | --incl | --inc) - ac_prev=includedir ;; - -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ - | --includ=* | --inclu=* | --incl=* | --inc=*) - includedir="$ac_optarg" ;; - - -infodir | --infodir | --infodi | --infod | --info | --inf) - ac_prev=infodir ;; - -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) - infodir="$ac_optarg" ;; - - -libdir | --libdir | --libdi | --libd) - ac_prev=libdir ;; - -libdir=* | --libdir=* | --libdi=* | --libd=*) - libdir="$ac_optarg" ;; - - -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ - | --libexe | --libex | --libe) - ac_prev=libexecdir ;; - -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ - | --libexe=* | --libex=* | --libe=*) - libexecdir="$ac_optarg" ;; - - -localstatedir | --localstatedir | --localstatedi | --localstated \ - | --localstate | --localstat | --localsta | --localst \ - | --locals | --local | --loca | --loc | --lo) - ac_prev=localstatedir ;; - -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ - | --localstate=* | --localstat=* | --localsta=* | --localst=* \ - | --locals=* | --local=* | --loca=* | --loc=* | --lo=*) - localstatedir="$ac_optarg" ;; - - -mandir | --mandir | --mandi | --mand | --man | --ma | --m) - ac_prev=mandir ;; - -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) - mandir="$ac_optarg" ;; - - -nfp | --nfp | --nf) - # Obsolete; use --without-fp. - with_fp=no ;; - - -no-create | --no-create | --no-creat | --no-crea | --no-cre \ - | --no-cr | --no-c) - no_create=yes ;; - - -no-recursion | --no-recursion | --no-recursio | --no-recursi \ - | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) - no_recursion=yes ;; - - -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ - | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ - | --oldin | --oldi | --old | --ol | --o) - ac_prev=oldincludedir ;; - -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ - | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ - | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) - oldincludedir="$ac_optarg" ;; - - -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) - ac_prev=prefix ;; - -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) - prefix="$ac_optarg" ;; - - -program-prefix | --program-prefix | --program-prefi | --program-pref \ - | --program-pre | --program-pr | --program-p) - ac_prev=program_prefix ;; - -program-prefix=* | --program-prefix=* | --program-prefi=* \ - | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) - program_prefix="$ac_optarg" ;; - - -program-suffix | --program-suffix | --program-suffi | --program-suff \ - | --program-suf | --program-su | --program-s) - ac_prev=program_suffix ;; - -program-suffix=* | --program-suffix=* | --program-suffi=* \ - | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) - program_suffix="$ac_optarg" ;; - - -program-transform-name | --program-transform-name \ - | --program-transform-nam | --program-transform-na \ - | --program-transform-n | --program-transform- \ - | --program-transform | --program-transfor \ - | --program-transfo | --program-transf \ - | --program-trans | --program-tran \ - | --progr-tra | --program-tr | --program-t) - ac_prev=program_transform_name ;; - -program-transform-name=* | --program-transform-name=* \ - | --program-transform-nam=* | --program-transform-na=* \ - | --program-transform-n=* | --program-transform-=* \ - | --program-transform=* | --program-transfor=* \ - | --program-transfo=* | --program-transf=* \ - | --program-trans=* | --program-tran=* \ - | --progr-tra=* | --program-tr=* | --program-t=*) - program_transform_name="$ac_optarg" ;; - - -q | -quiet | --quiet | --quie | --qui | --qu | --q \ - | -silent | --silent | --silen | --sile | --sil) - silent=yes ;; - - -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) - ac_prev=sbindir ;; - -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ - | --sbi=* | --sb=*) - sbindir="$ac_optarg" ;; - - -sharedstatedir | --sharedstatedir | --sharedstatedi \ - | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ - | --sharedst | --shareds | --shared | --share | --shar \ - | --sha | --sh) - ac_prev=sharedstatedir ;; - -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ - | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ - | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ - | --sha=* | --sh=*) - sharedstatedir="$ac_optarg" ;; - - -site | --site | --sit) - ac_prev=site ;; - -site=* | --site=* | --sit=*) - site="$ac_optarg" ;; - - -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) - ac_prev=srcdir ;; - -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) - srcdir="$ac_optarg" ;; - - -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ - | --syscon | --sysco | --sysc | --sys | --sy) - ac_prev=sysconfdir ;; - -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ - | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) - sysconfdir="$ac_optarg" ;; - - -target | --target | --targe | --targ | --tar | --ta | --t) - ac_prev=target ;; - -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) - target="$ac_optarg" ;; - - -v | -verbose | --verbose | --verbos | --verbo | --verb) - verbose=yes ;; - - -version | --version | --versio | --versi | --vers) - echo "configure generated by autoconf version 2.12.1" - exit 0 ;; - - -with-* | --with-*) - ac_package=`echo $ac_option|sed -e 's/-*with-//' -e 's/=.*//'` - # Reject names that are not valid shell variable names. - if test -n "`echo $ac_package| sed 's/[-_a-zA-Z0-9]//g'`"; then - { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; } - fi - ac_package=`echo $ac_package| sed 's/-/_/g'` - case "$ac_option" in - *=*) ;; - *) ac_optarg=yes ;; - esac - eval "with_${ac_package}='$ac_optarg'" ;; - - -without-* | --without-*) - ac_package=`echo $ac_option|sed -e 's/-*without-//'` - # Reject names that are not valid shell variable names. - if test -n "`echo $ac_package| sed 's/[-a-zA-Z0-9_]//g'`"; then - { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; } - fi - ac_package=`echo $ac_package| sed 's/-/_/g'` - eval "with_${ac_package}=no" ;; - - --x) - # Obsolete; use --with-x. - with_x=yes ;; - - -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ - | --x-incl | --x-inc | --x-in | --x-i) - ac_prev=x_includes ;; - -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ - | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) - x_includes="$ac_optarg" ;; - - -x-libraries | --x-libraries | --x-librarie | --x-librari \ - | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) - ac_prev=x_libraries ;; - -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ - | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) - x_libraries="$ac_optarg" ;; - - -*) { echo "configure: error: $ac_option: invalid option; use --help to show usage" 1>&2; exit 1; } - ;; - - *) - if test -n "`echo $ac_option| sed 's/[-a-z0-9.]//g'`"; then - echo "configure: warning: $ac_option: invalid host type" 1>&2 - fi - if test "x$nonopt" != xNONE; then - { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; } - fi - nonopt="$ac_option" - ;; - - esac -done - -if test -n "$ac_prev"; then - { echo "configure: error: missing argument to --`echo $ac_prev | sed 's/_/-/g'`" 1>&2; exit 1; } -fi - -trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15 - -# File descriptor usage: -# 0 standard input -# 1 file creation -# 2 errors and warnings -# 3 some systems may open it to /dev/tty -# 4 used on the Kubota Titan -# 6 checking for... messages and results -# 5 compiler messages saved in config.log -if test "$silent" = yes; then - exec 6>/dev/null -else - exec 6>&1 -fi -exec 5>./config.log - -echo "\ -This file contains any messages produced by compilers while -running configure, to aid debugging if configure makes a mistake. -" 1>&5 - -# Strip out --no-create and --no-recursion so they do not pile up. -# Also quote any args containing shell metacharacters. -ac_configure_args= -for ac_arg -do - case "$ac_arg" in - -no-create | --no-create | --no-creat | --no-crea | --no-cre \ - | --no-cr | --no-c) ;; - -no-recursion | --no-recursion | --no-recursio | --no-recursi \ - | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) ;; - *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?]*) - ac_configure_args="$ac_configure_args '$ac_arg'" ;; - *) ac_configure_args="$ac_configure_args $ac_arg" ;; - esac -done - -# NLS nuisances. -# Only set these to C if already set. These must not be set unconditionally -# because not all systems understand e.g. LANG=C (notably SCO). -# Fixing LC_MESSAGES prevents Solaris sh from translating var values in `set'! -# Non-C LC_CTYPE values break the ctype check. -if test "${LANG+set}" = set; then LANG=C; export LANG; fi -if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi -if test "${LC_MESSAGES+set}" = set; then LC_MESSAGES=C; export LC_MESSAGES; fi -if test "${LC_CTYPE+set}" = set; then LC_CTYPE=C; export LC_CTYPE; fi - -# confdefs.h avoids OS command line length limits that DEFS can exceed. -rm -rf conftest* confdefs.h -# AIX cpp loses on an empty file, so make sure it contains at least a newline. -echo > confdefs.h - -# A filename unique to this package, relative to the directory that -# configure is in, which we can look for to find out if srcdir is correct. -ac_unique_file=asm-source.exp - -# Find the source files, if location was not specified. -if test -z "$srcdir"; then - ac_srcdir_defaulted=yes - # Try the directory containing this script, then its parent. - ac_prog=$0 - ac_confdir=`echo $ac_prog|sed 's%/[^/][^/]*$%%'` - test "x$ac_confdir" = "x$ac_prog" && ac_confdir=. - srcdir=$ac_confdir - if test ! -r $srcdir/$ac_unique_file; then - srcdir=.. - fi -else - ac_srcdir_defaulted=no -fi -if test ! -r $srcdir/$ac_unique_file; then - if test "$ac_srcdir_defaulted" = yes; then - { echo "configure: error: can not find sources in $ac_confdir or .." 1>&2; exit 1; } - else - { echo "configure: error: can not find sources in $srcdir" 1>&2; exit 1; } - fi -fi -srcdir=`echo "${srcdir}" | sed 's%\([^/]\)/*$%\1%'` - -# Prefer explicitly selected file to automatically selected ones. -if test -z "$CONFIG_SITE"; then - if test "x$prefix" != xNONE; then - CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site" - else - CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site" - fi -fi -for ac_site_file in $CONFIG_SITE; do - if test -r "$ac_site_file"; then - echo "loading site script $ac_site_file" - . "$ac_site_file" - fi -done - -if test -r "$cache_file"; then - echo "loading cache $cache_file" - . $cache_file -else - echo "creating cache $cache_file" - > $cache_file -fi - -ac_ext=c -# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. -ac_cpp='$CPP $CPPFLAGS' -ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5' -ac_link='${CC-cc} -o conftest $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5' -cross_compiling=$ac_cv_prog_cc_cross - -if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then - # Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu. - if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then - ac_n= ac_c=' -' ac_t=' ' - else - ac_n=-n ac_c= ac_t= - fi -else - ac_n= ac_c='\c' ac_t= -fi - - - -CC=${CC-cc} - -ac_aux_dir= -for ac_dir in `cd $srcdir;pwd`/../../.. $srcdir/`cd $srcdir;pwd`/../../..; do - if test -f $ac_dir/install-sh; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/install-sh -c" - break - elif test -f $ac_dir/install.sh; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/install.sh -c" - break - fi -done -if test -z "$ac_aux_dir"; then - { echo "configure: error: can not find install-sh or install.sh in `cd $srcdir;pwd`/../../.. $srcdir/`cd $srcdir;pwd`/../../.." 1>&2; exit 1; } -fi -ac_config_guess=$ac_aux_dir/config.guess -ac_config_sub=$ac_aux_dir/config.sub -ac_configure=$ac_aux_dir/configure # This should be Cygnus configure. - - -# Do some error checking and defaulting for the host and target type. -# The inputs are: -# configure --host=HOST --target=TARGET --build=BUILD NONOPT -# -# The rules are: -# 1. You are not allowed to specify --host, --target, and nonopt at the -# same time. -# 2. Host defaults to nonopt. -# 3. If nonopt is not specified, then host defaults to the current host, -# as determined by config.guess. -# 4. Target and build default to nonopt. -# 5. If nonopt is not specified, then target and build default to host. - -# The aliases save the names the user supplied, while $host etc. -# will get canonicalized. -case $host---$target---$nonopt in -NONE---*---* | *---NONE---* | *---*---NONE) ;; -*) { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; } ;; -esac - - -# Make sure we can run config.sub. -if ${CONFIG_SHELL-/bin/sh} $ac_config_sub sun4 >/dev/null 2>&1; then : -else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; } -fi - -echo $ac_n "checking host system type""... $ac_c" 1>&6 -echo "configure:573: checking host system type" >&5 - -host_alias=$host -case "$host_alias" in -NONE) - case $nonopt in - NONE) - if host_alias=`${CONFIG_SHELL-/bin/sh} $ac_config_guess`; then : - else { echo "configure: error: can not guess host type; you must specify one" 1>&2; exit 1; } - fi ;; - *) host_alias=$nonopt ;; - esac ;; -esac - -host=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $host_alias` -host_cpu=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` -host_vendor=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` -host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` -echo "$ac_t""$host" 1>&6 - -echo $ac_n "checking target system type""... $ac_c" 1>&6 -echo "configure:594: checking target system type" >&5 - -target_alias=$target -case "$target_alias" in -NONE) - case $nonopt in - NONE) target_alias=$host_alias ;; - *) target_alias=$nonopt ;; - esac ;; -esac - -target=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $target_alias` -target_cpu=`echo $target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` -target_vendor=`echo $target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` -target_os=`echo $target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` -echo "$ac_t""$target" 1>&6 - -echo $ac_n "checking build system type""... $ac_c" 1>&6 -echo "configure:612: checking build system type" >&5 - -build_alias=$build -case "$build_alias" in -NONE) - case $nonopt in - NONE) build_alias=$host_alias ;; - *) build_alias=$nonopt ;; - esac ;; -esac - -build=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $build_alias` -build_cpu=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` -build_vendor=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` -build_os=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` -echo "$ac_t""$build" 1>&6 - -test "$host_alias" != "$target_alias" && - test "$program_prefix$program_suffix$program_transform_name" = \ - NONENONEs,x,x, && - program_prefix=${target_alias}- - - -archinc=common.inc -case ${target} in -d10v-*-*) archinc=d10v.inc ;; -esac - - -trap '' 1 2 15 -cat > confcache <<\EOF -# This file is a shell script that caches the results of configure -# tests run on this system so they can be shared between configure -# scripts and configure runs. It is not useful on other systems. -# If it contains results you don't want to keep, you may remove or edit it. -# -# By default, configure uses ./config.cache as the cache file, -# creating it if it does not exist already. You can give configure -# the --cache-file=FILE option to use a different cache file; that is -# what configure does when it calls configure scripts in -# subdirectories, so they share the cache. -# Giving --cache-file=/dev/null disables caching, for debugging configure. -# config.status only pays attention to the cache file if you give it the -# --recheck option to rerun configure. -# -EOF -# The following way of writing the cache mishandles newlines in values, -# but we know of no workaround that is simple, portable, and efficient. -# So, don't put newlines in cache variables' values. -# Ultrix sh set writes to stderr and can't be redirected directly, -# and sets the high bit in the cache file unless we assign to the vars. -(set) 2>&1 | - case `(ac_space=' '; set) 2>&1 | grep ac_space` in - *ac_space=\ *) - # `set' does not quote correctly, so add quotes (double-quote substitution - # turns \\\\ into \\, and sed turns \\ into \). - sed -n \ - -e "s/'/'\\\\''/g" \ - -e "s/^\\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\\)=\\(.*\\)/\\1=\${\\1='\\2'}/p" - ;; - *) - # `set' quotes correctly as required by POSIX, so do not add quotes. - sed -n -e 's/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=${\1=\2}/p' - ;; - esac >> confcache -if cmp -s $cache_file confcache; then - : -else - if test -w $cache_file; then - echo "updating cache $cache_file" - cat confcache > $cache_file - else - echo "not updating unwritable cache $cache_file" - fi -fi -rm -f confcache - -trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15 - -test "x$prefix" = xNONE && prefix=$ac_default_prefix -# Let make expand exec_prefix. -test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' - -# Any assignment to VPATH causes Sun make to only execute -# the first set of double-colon rules, so remove it if not needed. -# If there is a colon in the path, we need to keep it. -if test "x$srcdir" = x.; then - ac_vpsub='/^[ ]*VPATH[ ]*=[^:]*$/d' -fi - -trap 'rm -f $CONFIG_STATUS conftest*; exit 1' 1 2 15 - -# Transform confdefs.h into DEFS. -# Protect against shell expansion while executing Makefile rules. -# Protect against Makefile macro expansion. -cat > conftest.defs <<\EOF -s%#define \([A-Za-z_][A-Za-z0-9_]*\) *\(.*\)%-D\1=\2%g -s%[ `~#$^&*(){}\\|;'"<>?]%\\&%g -s%\[%\\&%g -s%\]%\\&%g -s%\$%$$%g -EOF -DEFS=`sed -f conftest.defs confdefs.h | tr '\012' ' '` -rm -f conftest.defs - - -# Without the "./", some shells look in PATH for config.status. -: ${CONFIG_STATUS=./config.status} - -echo creating $CONFIG_STATUS -rm -f $CONFIG_STATUS -cat > $CONFIG_STATUS <<EOF -#! /bin/sh -# Generated automatically by configure. -# Run this file to recreate the current configuration. -# This directory was configured as follows, -# on host `(hostname || uname -n) 2>/dev/null | sed 1q`: -# -# $0 $ac_configure_args -# -# Compiler output produced by configure, useful for debugging -# configure, is in ./config.log if it exists. - -ac_cs_usage="Usage: $CONFIG_STATUS [--recheck] [--version] [--help]" -for ac_option -do - case "\$ac_option" in - -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) - echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion" - exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;; - -version | --version | --versio | --versi | --vers | --ver | --ve | --v) - echo "$CONFIG_STATUS generated by autoconf version 2.12.1" - exit 0 ;; - -help | --help | --hel | --he | --h) - echo "\$ac_cs_usage"; exit 0 ;; - *) echo "\$ac_cs_usage"; exit 1 ;; - esac -done - -ac_given_srcdir=$srcdir - -trap 'rm -fr `echo "Makefile" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15 -EOF -cat >> $CONFIG_STATUS <<EOF - -# Protect against being on the right side of a sed subst in config.status. -sed 's/%@/@@/; s/@%/@@/; s/%g\$/@g/; /@g\$/s/[\\\\&%]/\\\\&/g; - s/@@/%@/; s/@@/@%/; s/@g\$/%g/' > conftest.subs <<\\CEOF -$ac_vpsub -$extrasub -s%@SHELL@%$SHELL%g -s%@CFLAGS@%$CFLAGS%g -s%@CPPFLAGS@%$CPPFLAGS%g -s%@CXXFLAGS@%$CXXFLAGS%g -s%@DEFS@%$DEFS%g -s%@LDFLAGS@%$LDFLAGS%g -s%@LIBS@%$LIBS%g -s%@exec_prefix@%$exec_prefix%g -s%@prefix@%$prefix%g -s%@program_transform_name@%$program_transform_name%g -s%@bindir@%$bindir%g -s%@sbindir@%$sbindir%g -s%@libexecdir@%$libexecdir%g -s%@datadir@%$datadir%g -s%@sysconfdir@%$sysconfdir%g -s%@sharedstatedir@%$sharedstatedir%g -s%@localstatedir@%$localstatedir%g -s%@libdir@%$libdir%g -s%@includedir@%$includedir%g -s%@oldincludedir@%$oldincludedir%g -s%@infodir@%$infodir%g -s%@mandir@%$mandir%g -s%@CC@%$CC%g -s%@host@%$host%g -s%@host_alias@%$host_alias%g -s%@host_cpu@%$host_cpu%g -s%@host_vendor@%$host_vendor%g -s%@host_os@%$host_os%g -s%@target@%$target%g -s%@target_alias@%$target_alias%g -s%@target_cpu@%$target_cpu%g -s%@target_vendor@%$target_vendor%g -s%@target_os@%$target_os%g -s%@build@%$build%g -s%@build_alias@%$build_alias%g -s%@build_cpu@%$build_cpu%g -s%@build_vendor@%$build_vendor%g -s%@build_os@%$build_os%g - -CEOF -EOF - -cat >> $CONFIG_STATUS <<\EOF - -# Split the substitutions into bite-sized pieces for seds with -# small command number limits, like on Digital OSF/1 and HP-UX. -ac_max_sed_cmds=90 # Maximum number of lines to put in a sed script. -ac_file=1 # Number of current file. -ac_beg=1 # First line for current file. -ac_end=$ac_max_sed_cmds # Line after last line for current file. -ac_more_lines=: -ac_sed_cmds="" -while $ac_more_lines; do - if test $ac_beg -gt 1; then - sed "1,${ac_beg}d; ${ac_end}q" conftest.subs > conftest.s$ac_file - else - sed "${ac_end}q" conftest.subs > conftest.s$ac_file - fi - if test ! -s conftest.s$ac_file; then - ac_more_lines=false - rm -f conftest.s$ac_file - else - if test -z "$ac_sed_cmds"; then - ac_sed_cmds="sed -f conftest.s$ac_file" - else - ac_sed_cmds="$ac_sed_cmds | sed -f conftest.s$ac_file" - fi - ac_file=`expr $ac_file + 1` - ac_beg=$ac_end - ac_end=`expr $ac_end + $ac_max_sed_cmds` - fi -done -if test -z "$ac_sed_cmds"; then - ac_sed_cmds=cat -fi -EOF - -cat >> $CONFIG_STATUS <<EOF - -CONFIG_FILES=\${CONFIG_FILES-"Makefile"} -EOF -cat >> $CONFIG_STATUS <<\EOF -for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then - # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in". - case "$ac_file" in - *:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'` - ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;; - *) ac_file_in="${ac_file}.in" ;; - esac - - # Adjust a relative srcdir, top_srcdir, and INSTALL for subdirectories. - - # Remove last slash and all that follows it. Not all systems have dirname. - ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'` - if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then - # The file is in a subdirectory. - test ! -d "$ac_dir" && mkdir "$ac_dir" - ac_dir_suffix="/`echo $ac_dir|sed 's%^\./%%'`" - # A "../" for each directory in $ac_dir_suffix. - ac_dots=`echo $ac_dir_suffix|sed 's%/[^/]*%../%g'` - else - ac_dir_suffix= ac_dots= - fi - - case "$ac_given_srcdir" in - .) srcdir=. - if test -z "$ac_dots"; then top_srcdir=. - else top_srcdir=`echo $ac_dots|sed 's%/$%%'`; fi ;; - /*) srcdir="$ac_given_srcdir$ac_dir_suffix"; top_srcdir="$ac_given_srcdir" ;; - *) # Relative path. - srcdir="$ac_dots$ac_given_srcdir$ac_dir_suffix" - top_srcdir="$ac_dots$ac_given_srcdir" ;; - esac - - - echo creating "$ac_file" - rm -f "$ac_file" - configure_input="Generated automatically from `echo $ac_file_in|sed 's%.*/%%'` by configure." - case "$ac_file" in - *Makefile*) ac_comsub="1i\\ -# $configure_input" ;; - *) ac_comsub= ;; - esac - - ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"` - sed -e "$ac_comsub -s%@configure_input@%$configure_input%g -s%@srcdir@%$srcdir%g -s%@top_srcdir@%$top_srcdir%g -" $ac_file_inputs | (eval "$ac_sed_cmds") > $ac_file -fi; done -rm -f conftest.s* - -EOF - -cat >> $CONFIG_STATUS <<EOF -ac_sources="$archinc" -ac_dests="arch.inc" -EOF - -cat >> $CONFIG_STATUS <<\EOF -srcdir=$ac_given_srcdir -while test -n "$ac_sources"; do - set $ac_dests; ac_dest=$1; shift; ac_dests=$* - set $ac_sources; ac_source=$1; shift; ac_sources=$* - - echo "linking $srcdir/$ac_source to $ac_dest" - - if test ! -r $srcdir/$ac_source; then - { echo "configure: error: $srcdir/$ac_source: File not found" 1>&2; exit 1; } - fi - rm -f $ac_dest - - # Make relative symlinks. - # Remove last slash and all that follows it. Not all systems have dirname. - ac_dest_dir=`echo $ac_dest|sed 's%/[^/][^/]*$%%'` - if test "$ac_dest_dir" != "$ac_dest" && test "$ac_dest_dir" != .; then - # The dest file is in a subdirectory. - test ! -d "$ac_dest_dir" && mkdir "$ac_dest_dir" - ac_dest_dir_suffix="/`echo $ac_dest_dir|sed 's%^\./%%'`" - # A "../" for each directory in $ac_dest_dir_suffix. - ac_dots=`echo $ac_dest_dir_suffix|sed 's%/[^/]*%../%g'` - else - ac_dest_dir_suffix= ac_dots= - fi - - case "$srcdir" in - [/$]*) ac_rel_source="$srcdir/$ac_source" ;; - *) ac_rel_source="$ac_dots$srcdir/$ac_source" ;; - esac - - # Make a symlink if possible; otherwise try a hard link. - if ln -s $ac_rel_source $ac_dest 2>/dev/null || - ln $srcdir/$ac_source $ac_dest; then : - else - { echo "configure: error: can not link $ac_dest to $srcdir/$ac_source" 1>&2; exit 1; } - fi -done -EOF -cat >> $CONFIG_STATUS <<EOF - -EOF -cat >> $CONFIG_STATUS <<\EOF - -exit 0 -EOF -chmod +x $CONFIG_STATUS -rm -fr confdefs* $ac_clean_files -test "$no_create" = yes || ${CONFIG_SHELL-/bin/sh} $CONFIG_STATUS || exit 1 - diff --git a/gdb/testsuite/gdb.asm/configure.in b/gdb/testsuite/gdb.asm/configure.in deleted file mode 100644 index 8ff68efbdc5..00000000000 --- a/gdb/testsuite/gdb.asm/configure.in +++ /dev/null @@ -1,22 +0,0 @@ -dnl Process this file file with autoconf to produce a configure script. -dnl This file is a shell script fragment that supplies the information -dnl necessary to tailor a template configure script into the configure -dnl script appropriate for this directory. For more information, check -dnl any existing configure script. - -AC_PREREQ(2.5) -AC_INIT(asm-source.exp) - -CC=${CC-cc} -AC_SUBST(CC) -AC_CONFIG_AUX_DIR(`cd $srcdir;pwd`/../../..) -AC_CANONICAL_SYSTEM - -dnl In default case we need to link with some file so use common.inc. -archinc=common.inc -case ${target} in -d10v-*-*) archinc=d10v.inc ;; -esac -AC_LINK_FILES($archinc,arch.inc) - -AC_OUTPUT(Makefile) diff --git a/gdb/testsuite/gdb.base/.Sanitize b/gdb/testsuite/gdb.base/.Sanitize deleted file mode 100644 index 749c3e27d92..00000000000 --- a/gdb/testsuite/gdb.base/.Sanitize +++ /dev/null @@ -1,203 +0,0 @@ -# .Sanitize for devo/gdb/testsuite/gdb.base. - -# Each directory to survive its way into a release will need a file -# like this one called "./.Sanitize". All keyword lines must exist, -# and must exist in the order specified by this file. Each directory -# in the tree will be processed, top down, in the following order. - -# Hash started lines like this one are comments and will be deleted -# before anything else is done. Blank lines will also be squashed -# out. - -# The lines between the "Do-first:" line and the "Things-to-keep:" -# line are executed as a /bin/sh shell script before anything else is -# done in this directory. - -Do-first: - -# All files listed between the "Things-to-keep:" line and the -# "Do-last:" line will be kept. All other files will be removed. -# Directories listed in this section will have their own Sanitize -# called. Directories not listed will be removed in their entirety -# with rm -rf. - -Things-to-keep: - -Makefile.in -README -a1-selftest.exp -a2-run.exp -all-bin.exp -all-types.c -arithmet.exp -assign.exp -bar.c -baz.c -bitfields.c -bitfields.exp -bitops.exp -branches.c -break.c -break.exp -callfuncs.c -callfuncs.exp -callfuncs2.c -callfuncs2.exp -call-ar-st.c -call-ar-st.exp -call-rt-st.c -call-rt-st.exp -call-strs.c -call-strs.exp -commands.exp -compiler.c -completion.exp -cond-expr.exp -condbreak.c -condbreak.exp -configure -configure.in -constvars.c -constvars.exp -corefile.exp -coremaker.c -crossload.exp -d10v.ld -d10vovly.c -default.exp -define.exp -display.c -display.exp -dollar.exp -echo.exp -ena-dis-br.exp -ending-run.c -ending-run.exp -environ.exp -eval-skip.exp -exprs.c -exprs.exp -foo.c -funcargs.c -funcargs.exp -gdbvars.exp -grbx.c -help.exp -i486-elf.u -i860-elf.u -interrupt.c -interrupt.exp -int-type.c -jump.c -jump.exp -langs.exp -langs0.c -langs1.c -langs1.f -langs2.c -langs2.cxx -list.exp -list0.c -list0.h -list1.c -logical.exp -long_long.c -long_long.exp -m32r.ld -m32rovly.c -m68k-aout.u -m68k-aout2.u -m68k-elf.u -maint.exp -mips-ecoff.u -mips_pro.c -mips_pro.exp -miscexprs.c -miscexprs.exp -nodebug.c -nodebug.exp -opaque.exp -opaque0.c -opaque1.c -overlays.c -overlays.exp -ovlymgr.c -ovlymgr.h -pointers.c -pointers.exp -pointers2.c -pointers2.exp -printcmds.c -printcmds.exp -ptype.c -ptype.exp -radix.exp -recurse.c -recurse.exp -regs.exp -relational.exp -reread.exp -reread1.c -reread2.c -restore.c -restore.exp -return.c -return.exp -run.c -scope.exp -scope0.c -scope1.c -sect-cmd.exp -setshow.c -setshow.exp -setvar.c -setvar.exp -shlib-call.exp -shmain.c -shr1.c -shr2.c -sigall.c -sigall.exp -signals.c -signals.exp -smoke.c -smoke.cc -smoke.exp -solib.c -solib.exp -solib1.c -solib2.c -so-impl-ld.c -so-impl-ld.exp -so-indr-cl.c -so-indr-cl.exp -sparc-aout.u -sparc-elf.u -ss.h -step-test.c -step-test.exp -structs2.c -structs2.exp -term.exp -twice.c -twice.exp -varargs.c -varargs.exp -volatile.exp -watchpoint.c -watchpoint.exp -whatis.c -whatis.exp -whatis-exp.exp - -Things-to-lose: -structs.c -structs.exp - -# The lines between the "Do-last:" line and the end of the file -# are executed as a /bin/sh shell script after everything else is -# done. - -Do-last: - -# eof diff --git a/gdb/testsuite/gdb.base/Makefile.in b/gdb/testsuite/gdb.base/Makefile.in deleted file mode 100644 index 874fb8f7b55..00000000000 --- a/gdb/testsuite/gdb.base/Makefile.in +++ /dev/null @@ -1,314 +0,0 @@ -# Makefile for the base tests for GDB. -# Copyright (C) 1992, 1993, 1994, 1995 Free Software Foundation, Inc. - -# This file is part of GDB. - -# GDB is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2, or (at your option) -# any later version. - -# GDB is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - -srcdir = . -prefix = /usr/local -program_transform_name = - -exec_prefix = $(prefix) -bindir = $(exec_prefix)/bin -libdir = $(exec_prefix)/lib -tooldir = $(libdir)/$(target_alias) - -datadir = $(exec_prefix)/lib/dejagnu -mandir = $(prefix)/man -man1dir = $(mandir)/man1 -man2dir = $(mandir)/man2 -man3dir = $(mandir)/man3 -man4dir = $(mandir)/man4 -man5dir = $(mandir)/man5 -man6dir = $(mandir)/man6 -man7dir = $(mandir)/man7 -man8dir = $(mandir)/man8 -man9dir = $(mandir)/man9 -infodir = $(prefix)/info -includedir = $(prefix)/include -gxx_includedir = $(tooldir)/g++-include -docdir = $(datadir)/doc -targetdir = $(datadir)/$(target_alias) - -SHELL = /bin/sh - -INSTALL = install -c -INSTALL_PROGRAM = $(INSTALL) -INSTALL_DATA = $(INSTALL) - -CFLAGS = -g - -RUNTESTFLAGS = - -LINK= ln -s - -EXPECT = ` \ - if [ -f $${rootme}/../../../expect/expect ] ; then \ - echo $${rootme}/../../../expect/expect ; \ - else \ - echo expect ; \ - fi` - -RUNTEST = ` \ - if [ -f $${rootme}/../../dejagnu/site.exp ] ; then \ - echo $${rootme}/../../dejagnu/runtest ; \ - else \ - if [ "$(host_canonical)" = "$(target_canonical)" ] ; then \ - echo runtest; \ - else \ - t='$(program_transform_name)'; echo runtest | sed -e '' $$t; \ - fi; \ - fi` - -CC = ` \ - if [ -f $${rootme}/../../../gcc/xgcc ] ; then \ - echo $${rootme}/../../../gcc/xgcc -B$${rootme}/../../../gcc/; \ - else \ - if [ "$(host_canonical)" = "$(target_canonical)" ] ; then \ - echo gcc; \ - else \ - t='$(program_transform_name)'; echo gcc | sed -e '' $$t; \ - fi; \ - fi` - -#### host, target, and site specific Makefile frags come in here. - -EXECUTABLES = \ - bitfields \ - break \ - callfuncs \ - coremaker \ - exprs \ - funcargs \ - interrupt \ - langs \ - list \ - mips_pro \ - nodebug \ - opaque \ - printcmds \ - ptype \ - recurse \ - return \ - run \ - scope \ - setvar \ - sigall \ - signals \ - twice \ - watchpoint \ - whatis \ - $(CROSS_EXECUTABLES) - -# List of test executables that we have available. They are kept in -# uuencoded format to avoid SCCS/RCS problems with binary files. - -CROSS_EXECUTABLES = \ - i486-elf \ - i860-elf \ - m68k-elf \ - m68k-aout \ - m68k-aout2 \ - mips-ecoff \ - sparc-aout \ - sparc-elf - -.c.o: - $(CC) -c $(CFLAGS) $< - $(CC) -E $(CFLAGS) $(srcdir)/compiler.c >$*.tmp - mv $*.tmp $*.ci - -all: $(EXECUTABLES) - -run: run.o - $(CC) $(CFLAGS) $(LDFLAGS) -o run run.o $(LIBS) - -whatis: whatis.o - $(CC) $(CFLAGS) $(LDFLAGS) -o whatis whatis.o $(LIBS) - -.PRECIOUS: whatis - -ptype: ptype.o - $(CC) $(CFLAGS) $(LDFLAGS) -o ptype ptype.o $(LIBS) - -setvar: setvar.o - $(CC) $(CFLAGS) $(LDFLAGS) -o setvar setvar.o $(LIBS) - -exprs: exprs.o - $(CC) $(CFLAGS) $(LDFLAGS) -o exprs exprs.o $(LIBS) - -break: break.o - $(CC) $(CFLAGS) $(LDFLAGS) -o break break.o $(LIBS) - -signals: signals.o - $(CC) $(CFLAGS) $(LDFLAGS) -o signals signals.o $(LIBS) - -sigall: sigall.o - $(CC) $(CFLAGS) $(LDFLAGS) -o sigall sigall.o $(LIBS) - -twice: twice.c - echo '#include "twice.c"' >twice-tmp.c - $(CC) $(CFLAGS) $(LDFLAGS) -I$(srcdir) -o twice twice-tmp.c $(LIBS) - rm -f twice-tmp.c - -watchpoint: watchpoint.o - $(CC) $(CFLAGS) $(LDFLAGS) -o watchpoint watchpoint.o $(LIBS) - -recurse: recurse.o - $(CC) $(CFLAGS) $(LDFLAGS) -o recurse recurse.o $(LIBS) - -opaque: opaque0.o opaque1.o - $(CC) $(CFLAGS) $(LDFLAGS) -o opaque opaque0.o opaque1.o $(LIBS) - -coremaker: coremaker.o - $(CC) $(CFLAGS) $(LDFLAGS) -o coremaker coremaker.o $(LIBS) - -nodebug: nodebug.o - $(CC) $(LDFLAGS) $(NODEBUG_FLAGS) -o nodebug nodebug.o $(LIBS) - -# This gets compiled *without* -g, so don't add CFLAGS here. - -nodebug.o: nodebug.c - $(CC) -c $(srcdir)/nodebug.c - $(CC) -E $(srcdir)/compiler.c >nodebug.tmp - mv nodebug.tmp nodebug.ci - -# For VPATH and Sun Make, we have to make explicit dependencies. -# DEC make doesn't seem to understand the ".u" dependency w/VPATH either. - -m68k-elf: $(srcdir)/m68k-elf.u - uudecode $(srcdir)/m68k-elf.u - -m68k-aout: $(srcdir)/m68k-aout.u - uudecode $(srcdir)/m68k-aout.u - -m68k-aout2: $(srcdir)/m68k-aout2.u - uudecode $(srcdir)/m68k-aout2.u - -mips-ecoff: $(srcdir)/mips-ecoff.u - uudecode $(srcdir)/mips-ecoff.u - -i486-elf: $(srcdir)/i486-elf.u - uudecode $(srcdir)/i486-elf.u - -sparc-aout: $(srcdir)/sparc-aout.u - uudecode $(srcdir)/sparc-aout.u - -i860-elf: $(srcdir)/i860-elf.u - uudecode $(srcdir)/i860-elf.u - -sparc-elf: $(srcdir)/sparc-elf.u - uudecode $(srcdir)/sparc-elf.u - -list: list0.o list1.o - $(CC) $(CFLAGS) $(LDFLAGS) -o list list0.o list1.o $(LIBS) - -scope: scope0.o scope1.o - $(CC) $(CFLAGS) $(LDFLAGS) -o scope scope0.o scope1.o $(LIBS) - -langs: langs0.o langs1.o langs2.o - $(CC) $(CFLAGS) $(LDFLAGS) -o langs langs0.o langs1.o langs2.o $(LIBS) - -bitfields: bitfields.o - $(CC) $(CFLAGS) $(LDFLAGS) -o bitfields.tmp bitfields.o $(LIBS) - mv bitfields.tmp bitfields - -.PRECIOUS: bitfields - -funcargs: funcargs.o - $(CC) $(CFLAGS) $(LDFLAGS) -o funcargs funcargs.o $(LIBS) - -return: return.o - $(CC) $(CFLAGS) $(LDFLAGS) -o return return.o $(LIBS) - -mips_pro: mips_pro.o - $(CC) $(CFLAGS) $(LDFLAGS) -o mips_pro mips_pro.o $(LIBS) - -printcmds: printcmds.o - $(CC) $(CFLAGS) $(LDFLAGS) -o printcmds printcmds.o $(LIBS) - -# Try compiling this with prototypes, if that fails maybe the compiler -# is a pre-ANSI compiler, in which case don't use prototypes. -callfuncs.o: callfuncs.c - (echo set prototypes 1 >callfuncs.tmp; \ - $(CC) -c $(CFLAGS) $(srcdir)/callfuncs.c 2>/dev/null) \ - || (echo set prototypes 0 >callfuncs.tmp; \ - $(CC) -c $(CFLAGS) -DNO_PROTOTYPES $(srcdir)/callfuncs.c) - $(CC) $(CFLAGS) -E $(srcdir)/compiler.c >>callfuncs.tmp - mv callfuncs.tmp callfuncs.ci - -callfuncs: callfuncs.o - $(CC) $(CFLAGS) $(LDFLAGS) -o callfuncs callfuncs.o $(LIBS) - -interrupt: interrupt.o - $(CC) $(CFLAGS) $(LDFLAGS) -o interrupt interrupt.o $(LIBS) - -.NOEXPORT: - -INFODIRS=doc - -info: - -install-info: - -dvi: - -install: - -uninstall: force - -site.exp: ./config.status Makefile - @echo "Making a new config file..." - -@rm -f ./tmp? - @touch site.exp - -@mv site.exp site.bak - @echo "## these variables are automatically generated by make ##" > ./tmp0 - @echo "# Do not edit here. If you wish to override these values" >> ./tmp0 - @echo "# add them to the last section" >> ./tmp0 - @echo "set host_triplet ${host_canonical}" >> ./tmp0 - @echo "set target_triplet ${target_canonical}" >> ./tmp0 - @echo "set srcdir ${srcdir}" >> ./tmp0 - @echo "set objdir `pwd`" >> ./tmp0 - @echo "set tool gdb" >> ./tmp0 - @echo "## All variables above are generated by configure. Do Not Edit ##" >> ./tmp0 - @cat ./tmp0 > site.exp - @cat site.bak | sed \ - -e '1,/^## All variables above are.*##/ d' >> site.exp - -@rm -f ./tmp? - -installcheck: -check: site.exp all just-check -just-check: - rootme=`pwd`; export rootme; \ - srcdir=${srcdir} ; export srcdir ; \ - EXPECT=${EXPECT} ; export EXPECT ; \ - if [ -f $${rootme}/../../expect/expect ] ; then \ - TCL_LIBRARY=$${srcdir}/../../tcl/library ; \ - export TCL_LIBRARY ; fi ; \ - $(RUNTEST) $(RUNTESTFLAGS) --tool gdb --srcdir $(srcdir) - -clean mostlyclean: - -rm -f *~ *.o a.out xgdb *.x $(EXECUTABLES) *.ci *.tmp - -rm -f core core.coremaker coremaker.core corefile - -distclean realclean: clean - -rm -f *~ core *.log *.plog *.sum *.psum site.* - -rm -f Makefile config.status *-init.exp - -rm -fr *.log summary detail *.plog *.sum *.psum site.* - -Makefile : $(srcdir)/Makefile.in $(srcdir)/configure.in $(host_makefile_frag) $(target_makefile_frag) - $(SHELL) ./config.status - diff --git a/gdb/testsuite/gdb.base/README b/gdb/testsuite/gdb.base/README deleted file mode 100644 index 556fc755bf2..00000000000 --- a/gdb/testsuite/gdb.base/README +++ /dev/null @@ -1,13 +0,0 @@ -Information about the various executables found in this test: - - BFD CPU Objfile -Executable Target Type Type Info about compilation machine ----------- ------ ---- ------- ------------------------------- -i486-elf elf-little i486 ELF NCR 3000, /usr/ccs/ATT/cc -i860-elf elf-big i860 ELF Stratus -m68k-elf elf-big m68k ELF Amiga 3000 UX, /usr/ccs/bin/cc -m68k-aout a.out-newsos3 m68k a.out Sony NEWS -m68k-aout2 a.out-sunos-big m68k a.out SunOS 4.1, gcc cygnus-2.0.1 -sparc-aout a.out-sunos-big sparc a.out Sun 4, SunOS 4.1.1, gcc 2.1 -sparc-elf elf-big sparc ELF Sun 4, Solaris 1.0, gcc 2.0.2 -mips-ecoff ecoff-bigmips mips ecoff IRIX 4.0.1 diff --git a/gdb/testsuite/gdb.base/a1-selftest.exp b/gdb/testsuite/gdb.base/a1-selftest.exp deleted file mode 100644 index bc3893a0ccc..00000000000 --- a/gdb/testsuite/gdb.base/a1-selftest.exp +++ /dev/null @@ -1,426 +0,0 @@ -# Copyright (C) 1988, 1990, 1991, 1992, 1994, 1997 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - -# Please email any bugs, comments, and/or additions to this file to: -# bug-gdb@prep.ai.mit.edu - -# This file was written by Rob Savoye. (rob@cygnus.com) - -if $tracelevel then { - strace $tracelevel -} - -set prms_id 0 -set bug_id 0 - -# are we on a target board -if [is_remote target] { - return -} - -if [istarget "m68k*-*-hpux*"] then { - # The top-level makefile passes CFLAGS= (no -g) for hp300. This probably - # should be fixed (it is only needed for gcc bootstrapping, not gdb), - # but until then..... - setup_xfail "*-*-*" - fail "cannot test self if compiled without debug info" - return -1 -} - -# Not all of the lines of code near the start of main are executed for -# every machine. Also, optimization may reorder some of the lines. -# So all we do is try to step or next over everything until we get -# to a line that we know is always executed. - -proc do_steps_and_nexts {} { - global gdb_prompt - global srcdir - - gdb_reinitialize_dir $srcdir/.. - - for {set count 0} {$count < 20} {incr count} { - send_gdb "list\n" - gdb_expect { - -re ".*symarg = NULL.*$gdb_prompt $" { - set description "step over symarg initialization" - set command "step" - } - -re ".*execarg = NULL.*$gdb_prompt $" { - set description "step over execarg initialization" - set command "step" - } - -re ".*corearg = NULL.*$gdb_prompt $" { - set description "step over corearg initialization" - set command "step" - } - -re ".*cdarg = NULL.*$gdb_prompt $" { - set description "step over cdarg initialization" - set command "step" - } - -re ".*ttyarg = NULL.*$gdb_prompt $" { - set description "step over ttyarg initialization" - set command "step" - } - -re ".*time_at_startup = get_run_time.*$gdb_prompt $" { - set description "next over get_run_time and everything it calls" - set command "next" - } - -re ".*START_PROGRESS.*$gdb_prompt $" { - set description "next over START_PROGRESS and everything it calls" - set command "next" - } - -re ".*mac_init.*$gdb_prompt $" { - set description "next over mac_init and everything it calls" - set command "next" - } - -re ".*init_malloc.*$gdb_prompt $" { - set description "next over init_malloc and everything it calls" - set command "next" - } - -re ".*count . 0x3.*$gdb_prompt $" { - set description "next over conditional stack alignment code 1" - set command "next" - } - -re ".*if .i != 0.*$gdb_prompt $" { - set description "next over conditional stack alignment code 2" - set command "next" - } - -re ".*alloca .i - 4.*$gdb_prompt $" { - set description "next over conditional stack alignment alloca" - set command "next" - } - -re ".*SET_TOP_LEVEL.*$gdb_prompt $" { - set description "next over SET_TOP_LEVEL call" - set command "next" - } - -re ".*cmdsize = 1.*$gdb_prompt $" { - set description "step over cmdsize initialization" - set command "next" - } - -re ".*cmdarg = .* xmalloc.*$gdb_prompt $" { - set description "next over cmdarg initialization via xmalloc" - set command "next" - } - -re ".*ncmd = 0.*$gdb_prompt $" { - set description "next over ncmd initialization" - set command "next" - } - -re ".*dirsize = 1.*$gdb_prompt $" { - set description "next over dirsize initialization" - set command "next" - } - -re ".*dirarg = .* xmalloc.*$gdb_prompt $" { - return - } - -re "\[ \t\]+\{\r\n$gdb_prompt $" { - setup_xfail "mips-*-irix5*" - fail "$description ended up at odd location" - } - -re ".*main.c.*No such file or directory.*$gdb_prompt $" { - setup_xfail "rs6000-*-aix3*" - fail "must be able to list source lines" - return - } - -re ".*$gdb_prompt $" { - fail "unknown source line after $description" - return - } - default { - fail "unknown source line near main" - return - } - } - send_gdb "$command\n" - gdb_expect { - -re ".*No such file or directory.\r\n$gdb_prompt $" { - fail "$description (no source available)" - } - -re ".*A file or directory .* does not exist..\r\n$gdb_prompt $" { - fail "$description (no source available)" - } - -re ".*$gdb_prompt $" { - pass "$description" - } - timeout { - fail "$description (timeout)" - } - } - } -} - -proc test_with_self { executable } { - global gdb_prompt - global tool - global det_file - global decimal - global timeout - - # load yourself into the debugger - # This can take a relatively long time, particularly for testing where - # the executable is being accessed over a network, or where gdb does not - # support partial symbols for a particular target and has to load the - # entire symbol table. Set the timeout to 10 minutes, which should be - # adequate for most environments (it *has* timed out with 5 min on a - # SPARCstation SLC under moderate load, so this isn't unreasonable). - # After gdb is started, set the timeout to 30 seconds for the duration - # of this test, and then back to the original value. - - set oldtimeout $timeout - set timeout 600 - verbose "Timeout is now $timeout seconds" 2 - if {[gdb_load $executable] <0} then { - set timeout $oldtimeout - verbose "Timeout is now $timeout seconds" 2 - return -1 - } - set timeout $oldtimeout - verbose "Timeout is now $timeout seconds" 2 - - # disassemble yourself - gdb_test "x/10i main" \ - "x/10i.*main.*main.$decimal.*main.$decimal.*" \ - "Disassemble main" - - # Set a breakpoint at main - gdb_test "break main" \ - "Breakpoint.*at.* file.*, line.*" \ - "breakpoint in main" - - # We'll need this when we send a ^C to GDB. Need to do it before we - # run the program and gdb starts saving and restoring tty states. - # On Ultrix, we don't need it and it is really slow (because shell_escape - # doesn't use vfork). - if ![istarget "*-*-ultrix*"] then { - gdb_test "shell stty intr '^C'" "" \ - "set interrupt character in test_with_self" - } - - # FIXME: If we put this after the run to main, the first list - # command doesn't print the same line as the current line where - # gdb is stopped. - gdb_test "set listsize 1" "" "set listsize to 1" - - # run yourself - # It may take a very long time for the inferior gdb to start (lynx), - # so we bump it back up for the duration of this command. - set timeout 600 - - set description "run until breakpoint at main" - send_gdb "run -nw\n" - gdb_expect { - -re "Starting program.*Breakpoint \[0-9\]+,.*main .argc.*argv.* at .*main.c:.*$gdb_prompt $" { - pass "$description" - } - -re "Starting program.*Breakpoint \[0-9\]+,.*main .argc.*argv.*$gdb_prompt $" { - xfail "$description (line numbers scrambled?)" - } - -re "vfork: No more processes.*$gdb_prompt $" { - fail "$description (out of virtual memory)" - set timeout $oldtimeout - verbose "Timeout is now $timeout seconds" 2 - return -1 - } - -re ".*$gdb_prompt $" { - fail "$description" - set timeout $oldtimeout - verbose "Timeout is now $timeout seconds" 2 - return -1 - } - timeout { - fail "$description (timeout)" - } - } - - set timeout $oldtimeout - verbose "Timeout is now $timeout seconds" 2 - - # do we have a version number ? - send_gdb "print version\n" - gdb_expect { - -re ".\[0-9\]+ = +0x.*\[0-9.\]+.*$gdb_prompt $" { - pass "printed version" - } - -re ".\[0-9\]+ = +.+ +0x.*\[0-9.\]+.*$gdb_prompt $" { - pass "printed version with cast" - } - -re ".*$gdb_prompt $" { fail "printed version" } - timeout { fail "(timeout) printed version" } - } - - do_steps_and_nexts - - gdb_test "print \"foo\"" ".\[0-9\]+ = \"foo\"" "print a string" - - # do_steps_and_nexts left us ready to execute an xmalloc call, - # so give that a try. - # If we don't actually enter the xmalloc call when we give a - # step command that seems like a genuine bug. It seems to happen - # on most RISC processors. - setup_xfail "alpha-*-*" "hppa*-*-*" "mips-*-*" - set description "step into xmalloc call" - send_gdb "step\n" - gdb_expect { - -re "xmalloc.*size=.*at.*utils.c.*$gdb_prompt $" { - pass "$description" - } - -re ".*No such file or directory.\r\n$gdb_prompt $" { - pass "$description (no source available)" - } - -re "A file or directory .* does not exist..\r\n$gdb_prompt $" { - pass "$description (no source available)" - } - -re ".*$gdb_prompt $" { - fail "$description" - } - timeout { - fail "$description (timeout)" - } - } - - # start the "xgdb" process - send_gdb "continue\n" - gdb_expect { - -re "GNU gdb \[0-9\.\]*.* -Copyright \[0-9\]* Free Software Foundation, Inc.* -GDB is free software, covered by the GNU General Public License, and you are.* -welcome to change it and/or distribute copies of it under certain conditions.* -Type \"show copying\" to see the conditions.* -There is absolutely no warranty for GDB. Type \"show warranty\" for details.* -This GDB was configured as .*$gdb_prompt $"\ - { pass "xgdb is at prompt" } - -re "GDB is free software and you are welcome to distribute copies of it.* - under certain conditions; type \"show copying\" to see the conditions..* -There is absolutely no warranty for GDB; type \"show warranty\" for details..* -GDB.*Copyright \[0-9\]+ Free Software Foundation, Inc..*$gdb_prompt $"\ - { pass "xgdb is at prompt (obsolescent gdb)" } - -re ".*$gdb_prompt $" { fail "xgdb is at prompt" } - timeout { fail "(timeout) xgdb is at prompt" } - } - - # set xgdb prompt so we can tell which is which - send_gdb "set prompt (xgdb) \n" - gdb_expect { - -re "\[(\]xgdb\[)\].*\[(\]xgdb\[)\] $" { pass "Set xgdb prompt" } - -re ".*$gdb_prompt $" { fail "Set xgdb prompt" } - default { fail "(timeout) Set xgdb prompt" } - } - - # kill the xgdb process - set description "send ^C to child process" - send_gdb "\003" - gdb_expect { - -re "Program received signal SIGINT.*$gdb_prompt $" { - pass "$description" - } - -re ".*$gdb_prompt $" { - fail "$description" - } - timeout { - fail "$description (timeout)" - } - } - - set description "send SIGINT signal to child process" - send_gdb "signal SIGINT\n" - gdb_expect { - -re "Continuing with signal SIGINT.*$gdb_prompt $" { - pass "$description" - } - -re ".*$gdb_prompt $" { - fail "$description" - } - timeout { - fail "$description (timeout)" - } - } - - # get a stack trace - # - # This fails on some linux systems for unknown reasons. On the - # systems where it fails, sometimes it works fine when run manually. - # The testsuite failures may not be limited to just aout systems. - setup_xfail "i*86-pc-linuxaout-gnu" "hppa*-*-hpux*" - set description "backtrace through signal handler" - send_gdb "backtrace\n" - gdb_expect { - -re "#0.*read.*in main \\(.*\\) at .*main\\.c.*$gdb_prompt $" { - pass "$description" - } - -re ".*$gdb_prompt $" { - # On the alpha, we hit the infamous problem about gdb - # being unable to get the frame pointer (mentioned in - # gdb/README). As it is intermittent, there is no way to - # XFAIL it which will give us an XPASS if the problem goes - # away. - setup_xfail "alpha*-*-osf*" - fail "$description" - } - timeout { - fail "$description (timeout)" - } - } - - - # Set the timeout back to the value it had when we were called. - set timeout $oldtimeout - verbose "Timeout is now $timeout seconds" 2 - - # Restart gdb in case next test expects it to be started already. - return 0 -} - -# Find a pathname to a file that we would execute if the shell was asked -# to run $arg using the current PATH. - -proc find_gdb { arg } { - - # If the arg directly specifies an existing executable file, then - # simply use it. - - if [file executable $arg] then { - return $arg - } - - set result [which $arg] - if [string match "/" [ string range $result 0 0 ]] then { - return $result - } - - # If everything fails, just return the unqualified pathname as default - # and hope for best. - - return $arg -} - -# Run the test with self. -# Copy the file executable file in case this OS doesn't like to edit its own -# text space. - -set GDB_FULLPATH [find_gdb $GDB] - -# Remove any old copy lying around. -remote_file host delete x$tool - -gdb_start -set file [remote_download host $GDB_FULLPATH x$tool] -set result [test_with_self $file]; -gdb_exit; -catch "remote_file host delete $file"; - -if {$result <0} then { - warning "Couldn't test self" - return -1 -} diff --git a/gdb/testsuite/gdb.base/a2-run.exp b/gdb/testsuite/gdb.base/a2-run.exp deleted file mode 100644 index 57c7a822ca5..00000000000 --- a/gdb/testsuite/gdb.base/a2-run.exp +++ /dev/null @@ -1,252 +0,0 @@ -# Copyright (C) 1988, 1990, 1991, 1992, 1994 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ - -# Please email any bugs, comments, and/or additions to this file to: -# bug-gdb@prep.ai.mit.edu - -# This file was written by Rob Savoye. (rob@cygnus.com) - -# These tests don't work for targets can't take arguments... - -if [target_info exists gdb,noargs] then { - verbose "Skipping a2-run.exp because of noargs." - return -} - -if [target_info exists gdb,noinferiorio] { - verbose "Skipping a2-run.exp because of noinferiorio." - return -} - -if $tracelevel then { - strace $tracelevel -} - -# -# test running programs -# -set prms_id 0 -set bug_id 0 - -set testfile "run" -set srcfile ${testfile}.c -set binfile ${objdir}/${subdir}/${testfile} -if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug}] != "" } { - perror "Couldn't compile ${srcfile}" - return -1 -} - -gdb_exit -gdb_start -gdb_reinitialize_dir $srcdir/$subdir -gdb_load ${binfile} - -# Run with no arguments. -# On VxWorks this justs make sure the program was run. -gdb_run_cmd - -if [istarget "*-*-vxworks*"] then { - set timeout 120 - verbose "Timeout is now $timeout seconds" 2 - expect { - -i $gdb_spawn_id "Program exited normally" { - unresolved "run \"$testfile\" with no args" - } - -i $gdb_spawn_id -re "usage: factorial <number>" { - pass "run \"$testfile\" with no args" - } - timeout { - fail "(timeout) run \"$testfile\" with no args" - } - } - set timeout 10 - verbose "Timeout is now $timeout seconds" 2 - expect -re "$gdb_prompt $" {} -} else { - expect { - -re ".*usage: factorial <number>.*Program exited with code 01.*$gdb_prompt $" { - pass "run \"$testfile\" with no args" - } - -re ".*$gdb_prompt $" { - fail "run \"$testfile\" with no args" - verbose "expect_out is $expect_out(buffer)" 2 - } - timeout { - fail "(timeout) run \"$testfile\" no args" - } - } -} -# Now run with some arguments -if [istarget "*-*-vxworks*"] then { - send_gdb "run vxmain \"5\"\n" - expect -re "run vxmain \"5\"\r\n" {} - set timeout 120 - verbose "Timeout is now $timeout seconds" 2 - expect { - -i $shell_id "Program exited normally" { - unresolved "run \"$testfile\" with arg" - } - -i $shell_id "120" { - pass "run \"$testfile\" with arg" - } - timeout { - fail "(timeout) run \"$testfile\" with arg" - } - } - set timeout 10 - verbose "Timeout is now $timeout seconds" 2 - expect -re "$gdb_prompt $" {} -} else { - setup_xfail "mips-idt-*" - gdb_run_cmd 5 - expect { - -re ".*120.*$gdb_prompt $"\ - { pass "run \"$testfile\" with arg" } - -re ".*$gdb_prompt $" { fail "run \"$testfile\" with arg" } - timeout { fail "(timeout) run \"$testfile\" with arg" } - } -} - -# Run again with same arguments. -setup_xfail "mips-idt-*" -gdb_run_cmd - -if [istarget "*-*-vxworks*"] then { - set timeout 120 - verbose "Timeout is now $timeout seconds" 2 - expect { - -i $shell_id "Program exited normally" { - unresolved "run \"$testfile\" again with same args" - } - -i $shell_id "120" { pass "run \"$testfile\" again with same args" } - timeout { fail "(timeout) run \"$testfile\" again with same args" } - } - set timeout 10 - verbose "Timeout is now $timeout seconds" 2 - expect -re "$gdb_prompt $" {} -} else { - expect { - -re ".*120.*$gdb_prompt $"\ - { pass "run \"$testfile\" again with same args" } - -re ".*$gdb_prompt $" { fail "run \"$testfile\" again with same args" } - timeout { fail "(timeout) run \"$testfile\" again with same args" } - } -} - -# Use "set args" command to specify no arguments as default and run again. -if [istarget "*-*-vxworks*"] then { - send_gdb "set args main\n" -} else { - send_gdb "set args\n" -} -expect -re "$gdb_prompt $" - -gdb_run_cmd - -if [istarget "*-*-vxworks*"] then { - set timeout 120 - verbose "Timeout is now $timeout seconds" 2 - expect { - -i $shell_id "Program exited normally" { - unresolved "run after setting args to nil" - } - -i $shell_id "usage: factorial <number>" { - pass "run after setting args to nil" - } - timeout { - fail "(timeout) run after setting args to nil" - } - } - set timeout 10 - verbose "Timeout is now $timeout seconds" 2 - expect -re "$gdb_prompt $" {} -} else { - expect { - -re ".*usage: factorial <number>.*$gdb_prompt $" { - pass "run after setting args to nil" - } - -re ".*$gdb_prompt $" { - fail "run after setting args to nil" - } - timeout { - fail "(timeout) run after setting args to nil" - } - } -} - -# Use "set args" command to specify an argument and run again. -setup_xfail "mips-idt-*" -if [istarget "*-*-vxworks*"] then { - send_gdb "set args vxmain \"6\"\n" -} else { - send_gdb "set args 6\n" -} -expect -re "$gdb_prompt $" -gdb_run_cmd - -if [istarget "*-*-vxworks*"] then { - set timeout 120 - verbose "Timeout is now $timeout seconds" 2 - expect { - -i $shell_id "Program exited normally" { - unresolved "run \"$testfile\" again after setting args" - } - -i $shell_id "720" { - pass "run \"$testfile\" again after setting args" - } - timeout { - fail "(timeout) run \"$testfile\" again after setting args" - } - } - set timeout 10 - verbose "Timeout is now $timeout seconds" 2 - expect -re "$gdb_prompt $" {} -} else { - expect { - -re ".*720.*$gdb_prompt $" { - pass "run \"$testfile\" again after setting args" - } - -re ".*$gdb_prompt $" { - fail "run \"$testfile\" again after setting args" - } - timeout { - fail "(timeout) run \"$testfile\" again after setting args" - } - } -} - -# GOAL: Test that shell is being used with "run". For remote debugging -# targets, there is no guarantee that a "shell" (whatever that is) is used. -if [isnative] then { - send_gdb "run `echo 8`\n" - expect { - -re "Starting program.*40320.*$gdb_prompt $" { - pass "run \"$testfile\" with shell" - } - -re ".*$gdb_prompt $" { - fail "run \"$testfile\" with shell" - } - timeout { - fail "(timeout) run \"$testfile\" with shell" - } - } -} - -# Reset the default arguments for VxWorks -if [istarget "*-*-vxworks*"] then { - send_gdb "set args main\n" - expect -re ".*$gdb_prompt $" {} -} diff --git a/gdb/testsuite/gdb.base/bitfields.c b/gdb/testsuite/gdb.base/bitfields.c deleted file mode 100644 index 453bd3cc2ea..00000000000 --- a/gdb/testsuite/gdb.base/bitfields.c +++ /dev/null @@ -1,190 +0,0 @@ -/* Test program to test bit field operations */ - -/* For non-ANSI compilers, use plain ints for the signed bit fields. However, - whether they actually end up signed or not is implementation defined, so - this may cause some tests to fail. But at least we can still compile - the test program and run the tests... */ - -#ifndef __STDC__ -#define signed /**/ -#endif - -struct fields -{ - unsigned char uc ; - signed int s1 : 1; - unsigned int u1 : 1; - signed int s2 : 2; - unsigned int u2 : 2; - signed int s3 : 3; - unsigned int u3 : 3; - signed int s9 : 9; - unsigned int u9 : 9; - signed char sc ; -} flags; - -void break1 () -{ -} - -void break2 () -{ -} - -void break3 () -{ -} - -void break4 () -{ -} - -void break5 () -{ -} - -void break6 () -{ -} - -void break7 () -{ -} - -void break8 () -{ -} - -void break9 () -{ -} - -void break10 () -{ -} - -/* This is used by bitfields.exp to determine if the target understands - signed bitfields. */ -int i; - -int main () -{ - /* For each member, set that member to 1, allow gdb to verify that the - member (and only that member) is 1, and then reset it back to 0. */ - - flags.uc = 1; - break1 (); - flags.uc = 0; - - flags.s1 = 1; - break1 (); - flags.s1 = 0; - - flags.u1 = 1; - break1 (); - flags.u1 = 0; - - flags.s2 = 1; - break1 (); - flags.s2 = 0; - - flags.u2 = 1; - break1 (); - flags.u2 = 0; - - flags.s3 = 1; - break1 (); - flags.s3 = 0; - - flags.u3 = 1; - break1 (); - flags.u3 = 0; - - flags.s9 = 1; - break1 (); - flags.s9 = 0; - - flags.u9 = 1; - break1 (); - flags.u9 = 0; - - flags.sc = 1; - break1 (); - flags.sc = 0; - - /* Fill alternating fields with all 1's and verify that none of the bits - "bleed over" to the other fields. */ - - flags.uc = 0xFF; - flags.u1 = 0x1; - flags.u2 = 0x3; - flags.u3 = 0x7; - flags.u9 = 0x1FF; - break2 (); - flags.uc = 0; - flags.u1 = 0; - flags.u2 = 0; - flags.u3 = 0; - flags.u9 = 0; - - flags.s1 = 0x1; - flags.s2 = 0x3; - flags.s3 = 0x7; - flags.s9 = 0x1FF; - flags.sc = 0xFF; - break2 (); - flags.s1 = 0; - flags.s2 = 0; - flags.s3 = 0; - flags.s9 = 0; - flags.sc = 0; - - /* Fill the unsigned fields with the maximum positive value and verify - that the values are printed correctly. */ - - /* Maximum positive values */ - flags.u1 = 0x1; - flags.u2 = 0x3; - flags.u3 = 0x7; - flags.u9 = 0x1FF; - break3 (); - flags.u1 = 0; - flags.u2 = 0; - flags.u3 = 0; - flags.u9 = 0; - - /* Fill the signed fields with the maximum positive value, then the maximally - negative value, then -1, and verify in each case that the values are - printed correctly. */ - - /* Maximum positive values */ - flags.s1 = 0x0; - flags.s2 = 0x1; - flags.s3 = 0x3; - flags.s9 = 0xFF; - break4 (); - - /* Maximally negative values */ - flags.s1 = 0x1; - flags.s2 = 0x2; - flags.s3 = 0x4; - flags.s9 = 0x100; - /* Extract bitfield value so that bitfield.exp can check if the target - understands signed bitfields. */ - i = flags.s9; - break4 (); - - /* -1 */ - flags.s1 = 0x1; - flags.s2 = 0x3; - flags.s3 = 0x7; - flags.s9 = 0x1FF; - break4 (); - - flags.s1 = 0; - flags.s2 = 0; - flags.s3 = 0; - flags.s9 = 0; - - return 0; -} diff --git a/gdb/testsuite/gdb.base/bitfields.exp b/gdb/testsuite/gdb.base/bitfields.exp deleted file mode 100644 index eb550fe346b..00000000000 --- a/gdb/testsuite/gdb.base/bitfields.exp +++ /dev/null @@ -1,291 +0,0 @@ -# Copyright (C) 1992, 1994 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ - -# Please email any bugs, comments, and/or additions to this file to: -# bug-gdb@prep.ai.mit.edu - -# This file was written by Fred Fish. (fnf@cygnus.com) - -if $tracelevel then { - strace $tracelevel -} - -set prms_id 0 -set bug_id 0 - -set testfile "bitfields" -set srcfile ${testfile}.c -set binfile ${objdir}/${subdir}/${testfile} -if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug}] != "" } { - perror "Couldn't compile ${srcfile}" - return -1 -} - -# -# Test bitfield locating and uniqueness. -# For each member, set that member to 1 and verify that the member (and only -# that member) is 1, then reset it back to 0. -# - -proc bitfield_uniqueness {} { - global decimal - global hex - global gdb_prompt - global srcfile - - if [gdb_test "break break1" "Break.* at $hex: file .*$srcfile, line $decimal\\."] { - return - } - - gdb_run_cmd - gdb_expect { - -re "Break.*break1 \\(\\) at .*$srcfile:$decimal.*$gdb_prompt $" { - pass "running to break1" - } - timeout { fail "(timeout) running to break1"; return } - } - - if [gdb_test "print flags" ".*uc = 1 .*, s1 = 0, u1 = 0, s2 = 0, u2 = 0, s3 = 0, u3 = 0, s9 = 0, u9 = 0, sc = 0.*"] { - return - } - if [gdb_test "cont" "Break.*break1 \\(\\) at .*$srcfile:$decimal.*" "continuing to break1 #1"] { - return - } - # Note that we check for s1 as either 1 or -1, so that failure to - # treat it correctly as a signed 1bit field (values 0 or -1) while - # printing its value does not cause a spurious failure. We do the - # signedness preservation test later. - if [gdb_test "print flags" ".*uc = 0 .*, s1 = (1|-1), u1 = 0, s2 = 0, u2 = 0, s3 = 0, u3 = 0, s9 = 0, u9 = 0, sc = 0.*" "bitfield uniqueness (s1)"] { - return - } - if [gdb_test "cont" "Break.*break1 \\(\\) at .*$srcfile:$decimal.*" "continuing to break1 #2"] { - return - } - if [gdb_test "print flags" ".*uc = 0 .*, s1 = 0, u1 = 1, s2 = 0, u2 = 0, s3 = 0, u3 = 0, s9 = 0, u9 = 0, sc = 0.*" "bitfield uniqueness (u1)"] { - return - } - if [gdb_test "cont" "Break.*break1 \\(\\) at .*$srcfile:$decimal.*" "continuing to break1 #3"] { - return - } - if [gdb_test "print flags" ".*uc = 0 .*, s1 = 0, u1 = 0, s2 = 1, u2 = 0, s3 = 0, u3 = 0, s9 = 0, u9 = 0, sc = 0.*" "bitfield uniqueness (s2)"] { - return - } - if [gdb_test "cont" "Break.*break1 \\(\\) at .*$srcfile:$decimal.*" "continuing to break1 #4"] { - return - } - if [gdb_test "print flags" ".*uc = 0 .*, s1 = 0, u1 = 0, s2 = 0, u2 = 1, s3 = 0, u3 = 0, s9 = 0, u9 = 0, sc = 0.*" "bitfield uniqueness (u2)"] { - return - } - if [gdb_test "cont" "Break.*break1 \\(\\) at .*$srcfile:$decimal.*" "continuing to break1 #5"] { - return - } - if [gdb_test "print flags" ".*uc = 0 .*, s1 = 0, u1 = 0, s2 = 0, u2 = 0, s3 = 1, u3 = 0, s9 = 0, u9 = 0, sc = 0.*" "bitfield uniqueness (s3)"] { - return - } - if [gdb_test "cont" "Break.*break1 \\(\\) at .*$srcfile:$decimal.*" "continuing to break1 #6"] { - return - } - if [gdb_test "print flags" ".*uc = 0 .*, s1 = 0, u1 = 0, s2 = 0, u2 = 0, s3 = 0, u3 = 1, s9 = 0, u9 = 0, sc = 0.*" "bitfield uniqueness (u3)"] { - return - } - if [gdb_test "cont" "Break.*break1 \\(\\) at .*$srcfile:$decimal.*" "continuing to break1 #7"] { - return - } - if [gdb_test "print flags" ".*uc = 0 .*, s1 = 0, u1 = 0, s2 = 0, u2 = 0, s3 = 0, u3 = 0, s9 = 1, u9 = 0, sc = 0.*" "bitfield uniqueness (s9)"] { - return - } - if [gdb_test "cont" "Break.*break1 \\(\\) at .*$srcfile:$decimal.*" "continuing to break1 #8"] { - return - } - if [gdb_test "print flags" ".*uc = 0 .*, s1 = 0, u1 = 0, s2 = 0, u2 = 0, s3 = 0, u3 = 0, s9 = 0, u9 = 1, sc = 0.*" "bitfield uniqueness (u9)"] { - return - } - if [gdb_test "cont" "Break.*break1 \\(\\) at .*$srcfile:$decimal.*" "continuing to break1 #9"] { - return - } - if [gdb_test "print flags" ".*uc = 0 .*, s1 = 0, u1 = 0, s2 = 0, u2 = 0, s3 = 0, u3 = 0, s9 = 0, u9 = 0, sc = 1.*" "bitfield uniqueness (sc)"] { - return - } -} - - -# -# Test bitfield containment. -# Fill alternating fields with all 1's and verify that none of the bits -# "bleed over" to the other fields. -# - -proc bitfield_containment {} { - global decimal - global hex - global gdb_prompt - global srcfile - - delete_breakpoints - - if [gdb_test "break break2" "Break.* at $hex: file .*$srcfile, line $decimal\\." "setting breakpoint at break2"] { - return - } - - gdb_run_cmd - gdb_expect { - -re "Break.*break2 \\(\\) at .*$srcfile:$decimal.*$gdb_prompt $" { - pass "running to break2" - } - timeout { fail "(timeout) running to break2"; return } - } - - if [gdb_test "print/x flags" "= {uc = 0xff, s1 = 0x0, u1 = 0x1, s2 = 0x0, u2 = 0x3, s3 = 0x0, u3 = 0x7, s9 = 0x0, u9 = 0x1ff, sc = 0x0}" "bitfield containment #1"] { - return - } - - if [gdb_test "cont" "Break.*break2 \\(\\) at .*$srcfile:$decimal.*" "continuing to break2"] { - return - } - - # If program is compiled with Sun CC, then these print out as their - # actual sizes; if compiled with gcc, they print out as 0xffffffff - # (which strikes me as bogus, but accept it at least for now). - if [gdb_test "print/x flags" "= {uc = 0x0, s1 = 0x(1|f*), u1 = 0x0, s2 = 0x(3|f*), u2 = 0x0, s3 = 0x(7|f*), u3 = 0x0, s9 = 0x(1ff|f*), u9 = 0x0, sc = 0xff}" "bitfield containment #2"] { - return - } -} - -# Test unsigned bitfields for unsignedness and range. -# Fill the unsigned fields with the maximum positive value and verify that -# the values are printed correctly. - -proc bitfield_unsignedness {} { - global decimal - global hex - global gdb_prompt - global srcfile - - delete_breakpoints - - if [gdb_test "break break3" "Break.* at $hex: file .*$srcfile, line $decimal\\." "setting breakpoint at break3"] { - return - } - - gdb_run_cmd - gdb_expect { - -re "Break.*break3 \\(\\) at .*$srcfile:$decimal.*$gdb_prompt $" { - pass "running to break3" - } - timeout { fail "(timeout) running to break3"; return } - } - - if [gdb_test "print flags" ".*uc = 0 .*, s1 = 0, u1 = 1, s2 = 0, u2 = 3, s3 = 0, u3 = 7, s9 = 0, u9 = 511, sc = 0.*" "unsigned bitfield ranges"] { - return - } -} - -# -# Test signed bitfields for signedness and range. -# Fill the signed fields with the maximum positive value, then the maximally -# negative value, then -1, and verify in each case that the values are -# printed correctly. -# - -proc bitfield_signedness {} { - global decimal - global hex - global gdb_prompt - global srcfile - - delete_breakpoints - - if [gdb_test "break break4" "Break.* at $hex: file .*$srcfile, line $decimal\\." "setting breakpoint at break4"] { - return - } - - gdb_run_cmd - gdb_expect { - -re "Break.*break4 \\(\\) at .*$srcfile:$decimal.*$gdb_prompt $" { - pass "running to break4" - } - timeout { fail "(timeout) running to break4"; return } - } - - if [gdb_test "print flags" "= {uc = 0 .*, s1 = 0, u1 = 0, s2 = 1, u2 = 0, s3 = 3, u3 = 0, s9 = 255, u9 = 0, sc = 0 .*}" "signed bitfields, max positive values"] { - return - } - - if [gdb_test "cont" "Break.*break4 \\(\\) at .*$srcfile:$decimal.*" "continuing to break4 #1"] { - return - } - - # Determine if the target has signed bitfields so we can xfail the - # the signed bitfield tests if it doesn't. - send_gdb "print i\n" - gdb_expect { - -re ".* = -256.*$gdb_prompt $" { - pass "determining signed-ness of bitfields" - } - -re ".* = 256.*$gdb_prompt $" { - pass "determining signed-ness of bitfields" - setup_xfail "*-*-*" - } - -re ".*$gdb_prompt $" { - fail "determining signed-ness of bitfields" - return - } - default { fail "determining signed-ness of bitfields" ; return } - } - - if [gdb_test "print flags" ".*uc = 0 .*, s1 = -1, u1 = 0, s2 = -2, u2 = 0, s3 = -4, u3 = 0, s9 = -256, u9 = 0, sc = 0.*" "signed bitfields, max negative values"] { - return - } - - if [gdb_test "cont" "Break.*break4 \\(\\) at .*$srcfile:$decimal.*" "continuing to break4 #2"] { - return - } - - if [gdb_test "print flags" ".*uc = 0 .*, s1 = -1, u1 = 0, s2 = -1, u2 = 0, s3 = -1, u3 = 0, s9 = -1, u9 = 0, sc = 0.*" "signed bitfields with -1"] { - return - } -} - -gdb_start -gdb_reinitialize_dir $srcdir/$subdir -gdb_load ${binfile} - -send_gdb "set print sevenbit-strings\n" ; gdb_expect -re "$gdb_prompt $" -bitfield_uniqueness -if [istarget "mips-idt-*"] then { - # Restart because IDT/SIM runs out of file descriptors. - gdb_exit - gdb_start - gdb_reinitialize_dir $srcdir/$subdir - gdb_load ${binfile} -} -bitfield_containment -if [istarget "mips-idt-*"] then { - # Restart because IDT/SIM runs out of file descriptors. - gdb_exit - gdb_start - gdb_reinitialize_dir $srcdir/$subdir - gdb_load ${binfile} -} -bitfield_unsignedness -if [istarget "mips-idt-*"] then { - # Restart because IDT/SIM runs out of file descriptors. - gdb_exit - gdb_start - gdb_reinitialize_dir $srcdir/$subdir - gdb_load ${binfile} -} -bitfield_signedness diff --git a/gdb/testsuite/gdb.base/branches.c b/gdb/testsuite/gdb.base/branches.c deleted file mode 100644 index df3b7c052be..00000000000 --- a/gdb/testsuite/gdb.base/branches.c +++ /dev/null @@ -1,113 +0,0 @@ -/* Tests for single stepping through various branch conditions */ - -int noscramble(int a) -{ - return a ; -} - -int echo(int a) -{ return noscramble(a) ; } - -int equaltest(int a,int b) -{ int retval ; - if (a == b) - retval = noscramble(1) ; - else retval = noscramble(0) ; - return retval ; -} - -int neqtest(int a , int b) -{ int retval ; - if (a != b) - retval = echo(1) ; - else retval = echo(2) ; - return retval ; -} -int zerotest(int a ) -{ int retval ; - a = echo(a) ; - if (a ==0) - retval = echo(1) ; - else - retval = echo(0) ; - retval = echo(retval) ; - return retval ; -} - -int zerotest2(int a) -{ - return (a==0) ; -} - -int nonzerotest(int a) -{ - int retval ; - if (a != 0) - retval = echo(0) ; - else retval = echo(1) ; - return retval ; -} - -int whiletest(int a) -{ - while (a > 0) - { - a-- ; - } - return 0 ; -} -int whiletest2(int a) -{ - while (a > 0) - { - a = noscramble(a) ; - a-- ; - } - return a ; -} - -int decr(int x) { return x - 1 ; } - -int while3(int a) -{ - int b = a ; - while (a == b) - { - a = echo(a) ; - b = decr(b) ; - } - return a ; -} - -void done (int x) { } - -int main() -{ - int a,b,c,d ; - done(1) ; - a = echo(123456) ; - b = echo(123456) ; - c = echo(56789) ; - d = echo(0) ; -#if 1 - equaltest(a,b) ; - done(7) ; - equaltest(a,c) ; - done(8) ; - whiletest(3) ; /* worked */ - done(3) ; - while3(3) ; - done(6) ; -#endif - neqtest(a,b) ; - neqtest(a,b) ; - neqtest(a,c) ; - zerotest(d) ; - zerotest(a) ; - done(5) ; - nonzerotest(d) ; - done(4) ; - nonzerotest(a) ; - done(111) ; - return 1 ; -} diff --git a/gdb/testsuite/gdb.base/break.c b/gdb/testsuite/gdb.base/break.c deleted file mode 100644 index 2b36a5254b0..00000000000 --- a/gdb/testsuite/gdb.base/break.c +++ /dev/null @@ -1,77 +0,0 @@ -#ifdef vxworks -# include <vxWorks.h> -# include <stdioLib.h> - -/* VxWorks does not supply atoi. */ -static int -atoi (z) - char *z; -{ - int i = 0; - - while (*z >= '0' && *z <= '9') - i = i * 10 + (*z++ - '0'); - return i; -} - -/* I don't know of any way to pass an array to VxWorks. This function - can be called directly from gdb. */ - -vxmain (arg) -char *arg; -{ - char *argv[2]; - - argv[0] = ""; - argv[1] = arg; - main (2, argv, (char **) 0); -} - -#else /* ! vxworks */ -# include <stdio.h> -#endif /* ! vxworks */ - -/* - * The following functions do nothing useful. They are included simply - * as places to try setting breakpoints at. They are explicitly - * "one-line functions" to verify that this case works (some versions - * of gcc have or have had problems with this). - */ - -int marker1 () { return (0); } -int marker2 (a) int a; { return (1); } -void marker3 (a, b) char *a, *b; {} -void marker4 (d) long d; {} - -/* - * This simple classical example of recursion is useful for - * testing stack backtraces and such. - */ - -int -main (argc, argv, envp) -int argc; -char *argv[], **envp; -{ - if (argc != 2) { - fprintf (stderr, "usage: factorial <number>\n"); - return 1; - } else { - printf ("%d\n", factorial (atoi (argv[1]))); - } - marker1 (); - marker2 (43); - marker3 ("stack", "trace"); - marker4 (177601976L); - return 0; -} - -int factorial (value) -int value; -{ - if (value > 1) { - value *= factorial (value - 1); - } - return (value); -} - diff --git a/gdb/testsuite/gdb.base/break.exp b/gdb/testsuite/gdb.base/break.exp deleted file mode 100644 index 6708323eb42..00000000000 --- a/gdb/testsuite/gdb.base/break.exp +++ /dev/null @@ -1,355 +0,0 @@ -# Copyright (C) 1988, 1990, 1991, 1992, 1994, 1997 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - -# Please email any bugs, comments, and/or additions to this file to: -# bug-gdb@prep.ai.mit.edu - -# This file was written by Rob Savoye. (rob@cygnus.com) - -if $tracelevel then { - strace $tracelevel -} - - -# -# test running programs -# -set prms_id 0 -set bug_id 0 - -set testfile "break" -set srcfile ${testfile}.c -set binfile ${objdir}/${subdir}/${testfile} -if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug additional_flags=-w}] != "" } { - gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail." -} - -gdb_exit -gdb_start -gdb_reinitialize_dir $srcdir/$subdir -gdb_load ${binfile} - -if [target_info exists gdb_stub] { - gdb_step_for_stub; -} -# -# test simple breakpoint setting commands -# - -# Test deleting all breakpoints when there are none installed. -# Between 4.15 and 4.16 a change made gdb stop prompting when -# there are no user breakpoints installed. -# Note that gdb-init.exp provides a "delete_breakpoints" proc -# for general use elsewhere. - -send_gdb "delete breakpoints\n" -gdb_expect { - -re "Delete all breakpoints.*$" { - send_gdb "y\n" - gdb_expect { - -re "$gdb_prompt $" { - setup_xfail "i*86-*-sysv4*" "sparc-sun-sunos4*" "alpha-dec-osf*" "mips-dec-ultrix*" - fail "Delete all breakpoints when none (unexpected prompt)" - } - timeout { fail "Delete all breakpoints when none (timeout after unexpected prompt)" } - } - } - -re ".*$gdb_prompt $" { pass "Delete all breakpoints when none" } - timeout { fail "Delete all breakpoints when none (timeout)" } -} - -# -# test break at function -# -gdb_test "break main" \ - "Breakpoint.*at.* file .*$srcfile, line.*" \ - "breakpoint function" - -# -# test break at function in file -# -gdb_test "break $srcfile:factorial" \ - "Breakpoint.*at.* file .*$srcfile, line.*" \ - "breakpoint function in file" - -# -# test break at line number -# -gdb_test "break 64" \ - "Breakpoint.*at.* file .*$srcfile, line 64\\." \ - "breakpoint line number" - -# -# test duplicate breakpoint -# -gdb_test "break 64" \ - "Note: breakpoint \[0-9\]+ also set at pc.*Breakpoint \[0-9\]+ at.* file .*$srcfile, line 64\\." \ - "breakpoint duplicate" - -# -# test break at line number in file -# -gdb_test "break $srcfile:70" \ - "Breakpoint.*at.* file .*$srcfile, line 70\\." \ - "breakpoint line number in file" - - -# -# check to see what breakpoints are set -# -if [target_info exists gdb_stub] { - set main_line 57 -} else { - set main_line 60 -} - -gdb_test "info break" \ - "Num Type\[ \]+Disp Enb Address\[ \]+What.* -\[0-9\]+\[\t \]+breakpoint keep y.* in main at .*$srcfile:$main_line.* -\[0-9\]+\[\t \]+breakpoint keep y.* in factorial at .*$srcfile:76.* -\[0-9\]+\[\t \]+breakpoint keep y.* in main at .*$srcfile:64.* -\[0-9\]+\[\t \]+breakpoint keep y.* in main at .*$srcfile:64.* -\[0-9\]+\[\t \]+breakpoint keep y.* in main at .*$srcfile:70" \ - "breakpoint info" - - -# FIXME: The rest of this test doesn't work with anything that can't -# handle arguments. -# Huh? There doesn't *appear* to be anything that passes arguments -# below. -if [istarget "mips-idt-*"] then { - return -} - -# -# run until the breakpoint at main is hit. For non-stubs-using targets. -# -if ![target_info exists use_gdb_stub] { - if [istarget "*-*-vxworks*"] then { - send_gdb "run vxmain \"2\"\n" - set timeout 120 - verbose "Timeout is now $timeout seconds" 2 - } else { - send_gdb "run\n" - } - gdb_expect { - -re "The program .* has been started already.*y or n. $" { - send_gdb "y\n" - exp_continue - } - -re "Starting program.*Breakpoint \[0-9\]+,.*main .*argc.*argv.* at .*$srcfile:60.*60\[\t \]+if .argc.* \{.*$gdb_prompt $"\ - { pass "run until function breakpoint" } - -re ".*$gdb_prompt $" { fail "run until function breakpoint" } - timeout { fail "run until function breakpoint (timeout)" } - } -} else { - if ![target_info exists gdb_stub] { - gdb_test continue "Continuing\\..*Breakpoint \[0-9\]+, main \\(argc=.*, argv=.*, envp=.*\\) at .*$srcfile:60.*60\[\t \]+if .argc.*\{" "stub continue" - } -} - -# -# run until the breakpoint at a line number -# -gdb_test continue "Continuing\\..*Breakpoint \[0-9\]+, main \\(argc=.*, argv=.*, envp=.*\\) at .*$srcfile:64.*64\[\t \]+printf.*factorial.*" \ - "run until breakpoint set at a line number" - -# -# Run until the breakpoint set in a function in a file -# -for {set i 6} {$i >= 1} {incr i -1} { - gdb_test continue "Continuing\\..*Breakpoint \[0-9\]+, factorial \\(value=$i\\) at .*$srcfile:76.*76\[\t \]+if .value > 1. \{" \ - "run until file:function($i) breakpoint" -} - -# -# run until the file:function breakpoint at a line number in a file -# -gdb_test continue "Continuing\\..*Breakpoint \[0-9\]+, main \\(argc=.*, argv=.*, envp=.*\\) at .*$srcfile:70.*70\[\t \]+return 0;" \ - "run until file:linenum breakpoint" - -# -# delete all breakpoints so we can start over, course this can be a test too -# -delete_breakpoints - -# -# test temporary breakpoint at function -# - -gdb_test "tbreak main" "Breakpoint.*at.* file .*$srcfile, line.*" "Temporary breakpoint function" - -# -# test break at function in file -# - -gdb_test "tbreak $srcfile:factorial" "Breakpoint.*at.* file .*$srcfile, line.*" \ - "Temporary breakpoint function in file" - -# -# test break at line number -# -send_gdb "tbreak 64\n" -gdb_expect { - -re "Breakpoint.*at.* file .*$srcfile, line 64.*$gdb_prompt $" { pass "Temporary breakpoint line number #1" } - -re ".*$gdb_prompt $" { pass "Temporary breakpoint line number #1" } - timeout { fail "breakpoint line number #1 (timeout)" } -} - -gdb_test "tbreak 60" "Breakpoint.*at.* file .*$srcfile, line 60.*" "Temporary breakpoint line number #2" - -# -# test break at line number in file -# -send_gdb "tbreak $srcfile:70\n" -gdb_expect { - -re "Breakpoint.*at.* file .*$srcfile, line 70.*$gdb_prompt $" { pass "Temporary breakpoint line number in file #1" } - -re ".*$gdb_prompt $" { pass "Temporary breakpoint line number in file #1" } - timeout { fail "Temporary breakpoint line number in file #1 (timeout)" } -} - -gdb_test "tbreak $srcfile:66" "Breakpoint.*at.* file .*$srcfile, line 66.*" "Temporary breakpoint line number in file #2" - -# -# check to see what breakpoints are set (temporary this time) -# -gdb_test "info break" "Num Type.*Disp Enb Address.*What.*\[\r\n\]\[0-9\]+\[\t \]+breakpoint del.*y.*in main at .*$srcfile:$main_line.*\[\r\n\]\[0-9\]+\[\t \]+breakpoint del.*y.*in factorial at .*$srcfile:76.*\[\r\n\]\[0-9\]+\[\t \]+breakpoint del.*y.*in main at .*$srcfile:64.*\[\r\n\]\[0-9\]+\[\t \]+breakpoint del.*y.*in main at .*$srcfile:70.*" "Temporary breakpoint info" - -proc test_clear_command {} { - gdb_test "break main" "Breakpoint.*at.*" "break main #1" - gdb_test "break main" "Breakpoint.*at.*" "break main #2" - - # We don't test that it deletes the correct breakpoints. We do at - # least test that it deletes more than one breakpoint. - gdb_test "clear main" {Deleted breakpoints [0-9]+ [0-9]+.*} -} - -# -# Test "next" over recursive function call. -# - -proc test_next_with_recursion {} { - global gdb_prompt - global decimal - global binfile - - if [istarget "d10v-*-*"] { - # Doesn't work right now. - gdb_suppress_tests; - } - if [target_info exists use_gdb_stub] { - # Reload the program. - delete_breakpoints - gdb_load ${binfile}; - } else { - # FIXME: should be using runto - gdb_test "kill" "" "kill program" "Kill the program being debugged.*y or n. $" "y" - - delete_breakpoints - } - - gdb_test "break factorial" "Breakpoint $decimal at .*" "break at factorial" - - # Run until we call factorial with 6 - - if [istarget "*-*-vxworks*"] then { - send_gdb "run vxmain \"6\"\n" - } else { - gdb_run_cmd - } - gdb_expect { - -re "Break.* factorial .value=6. .*$gdb_prompt $" {} - -re ".*$gdb_prompt $" { - fail "run to factorial(6)"; - gdb_suppress_tests; - } - timeout { fail "run to factorial(6) (timeout)" ; gdb_suppress_tests } - } - - # Continue until we call factorial recursively with 5. - - send_gdb "continue\n" - gdb_expect { - -re "Continuing.*Break.* factorial .value=5. .*$gdb_prompt $" {} - timeout { fail "continue to factorial(5) (timeout)" ; gdb_suppress_tests } - } - - # Do a backtrace just to confirm how many levels deep we are. - - set result [gdb_test "backtrace" \ - "#0\[ \t\]+ factorial .value=5..*" \ - "backtrace from factorial(5)"] - if $result!=0 then { gdb_suppress_tests } - - # Now a "next" should position us at the recursive call, which - # we will be performing with 4. - - send_gdb "next\n" - gdb_expect { - -re ".* factorial .value - 1.;.*$gdb_prompt $" {} - timeout { fail "next to recursive call (timeout)" ; gdb_suppress_tests } - } - - # Disable the breakpoint at the entry to factorial by deleting them all. - # The "next" should run until we return to the next line from this - # recursive call to factorial with 4. - # Buggy versions of gdb will stop instead at the innermost frame on - # the line where we are trying to "next" to. - - delete_breakpoints - - if [istarget "mips*tx39-*"] { - set timeout 60 - } else { - set timeout 20 - } - - gdb_test next "\[0-9\]*\[\t \]+return \\(value\\);.*" \ - "next over recursive call" - - # OK, we should be back in the same stack frame we started from. - # Do a backtrace just to confirm. - - set result [gdb_test "backtrace" \ - "#0\[ \t\]+ factorial .value=120.*\r\n#1\[ \t\]+ \[0-9a-fx\]+ in factorial .value=6..*" \ - "backtrace from factorial(5.1)"] - if { $result != 0 } { gdb_suppress_tests } - - if [target_info exists gdb,noresults] { gdb_suppress_tests } - if [target_info exists use_gdb_stub] { - gdb_breakpoint "exit" - gdb_test "continue" "Continuing..*Breakpoint .*exit \[(\].*=0\[)\].*" "continue until exit in recursive next test" - } else { - # Continue until we exit. Should not stop again. - # Don't bother to check the output of the program, that may be - # extremely tough for some remote systems. - gdb_test "continue"\ - "Continuing.\[\r\n0-9\]+Program exited normally\\..*"\ - "continue until exit in recursive next test" - } - gdb_stop_suppressing_tests; -} - -test_clear_command -test_next_with_recursion - -# Reset the default arguments for VxWorks -if [istarget "*-*-vxworks*"] { - set timeout 10 - verbose "Timeout is now $timeout seconds" 2 - send_gdb "set args main\n" - gdb_expect -re ".*$gdb_prompt $" {} -} diff --git a/gdb/testsuite/gdb.base/call-rt-st.c b/gdb/testsuite/gdb.base/call-rt-st.c deleted file mode 100644 index c89cb11f511..00000000000 --- a/gdb/testsuite/gdb.base/call-rt-st.c +++ /dev/null @@ -1,530 +0,0 @@ -#include <stdio.h> -#include <stdlib.h> -#include <strings.h> - -/************************************************************************** - * TESTS : - * function returning large structures, which go on the stack - * functions returning varied sized structs which go on in the registers. - ***************************************************************************/ - - -/* A large structure (> 64 bits) used to test passing large structures as - * parameters - */ - -struct array_rep_info_t { - int next_index[10]; - int values[10]; - int head; -}; - -/***************************************************************************** - * Small structures ( <= 64 bits). These are used to test passing small - * structures as parameters and test argument size promotion. - *****************************************************************************/ - - /* 64 bits - */ -struct small_rep_info_t { - int value; - int head; -}; - -/* 6 bits : really fits in 8 bits and is promoted to 32 bits - */ -struct bit_flags_t { - unsigned alpha :1; - unsigned beta :1; - unsigned gamma :1; - unsigned delta :1; - unsigned epsilon :1; - unsigned omega :1; -}; - -/* 22 bits : really fits in 40 bits and is promoted to 64 bits - */ -struct bit_flags_combo_t { - unsigned alpha :1; - unsigned beta :1; - char ch1; - unsigned gamma :1; - unsigned delta :1; - char ch2; - unsigned epsilon :1; - unsigned omega :1; -}; - -/* 64 bits - */ -struct one_double_t { - double double1; -}; - -/* 64 bits - */ -struct two_floats_t { - float float1; - float float2; -}; - - -/* 24 bits : promoted to 32 bits - */ -struct three_char_t { - char ch1; - char ch2; - char ch3; -}; - -/* 40 bits : promoted to 64 bits - */ -struct five_char_t { - char ch1; - char ch2; - char ch3; - char ch4; - char ch5; -}; - -/* 40 bits : promoted to 64 bits - */ -struct int_char_combo_t { - int int1; - char ch1; -}; - - -/***************************************************************** - * LOOP_COUNT : - * A do nothing function. Used to provide a point at which calls can be made. - *****************************************************************/ -void loop_count () { - - int index; - - for (index=0; index<4; index++); -} - -/***************************************************************** - * INIT_BIT_FLAGS : - * Initializes a bit_flags_t structure. Can call this function see - * the call command behavior when integer arguments do not fit into - * registers and must be placed on the stack. - * OUT struct bit_flags_t *bit_flags -- structure to be filled - * IN unsigned a -- 0 or 1 - * IN unsigned b -- 0 or 1 - * IN unsigned g -- 0 or 1 - * IN unsigned d -- 0 or 1 - * IN unsigned e -- 0 or 1 - * IN unsigned o -- 0 or 1 - *****************************************************************/ -void init_bit_flags (bit_flags,a,b,g,d,e,o) -struct bit_flags_t *bit_flags; -unsigned a; -unsigned b; -unsigned g; -unsigned d; -unsigned e; -unsigned o; -{ - - bit_flags->alpha = a; - bit_flags->beta = b; - bit_flags->gamma = g; - bit_flags->delta = d; - bit_flags->epsilon = e; - bit_flags->omega = o; -} - -/***************************************************************** - * INIT_BIT_FLAGS_COMBO : - * Initializes a bit_flags_combo_t structure. Can call this function - * to see the call command behavior when integer and character arguments - * do not fit into registers and must be placed on the stack. - * OUT struct bit_flags_combo_t *bit_flags_combo -- structure to fill - * IN unsigned a -- 0 or 1 - * IN unsigned b -- 0 or 1 - * IN char ch1 - * IN unsigned g -- 0 or 1 - * IN unsigned d -- 0 or 1 - * IN char ch2 - * IN unsigned e -- 0 or 1 - * IN unsigned o -- 0 or 1 - *****************************************************************/ -void init_bit_flags_combo (bit_flags_combo, a, b, ch1, g, d, ch2, e, o) -struct bit_flags_combo_t *bit_flags_combo; -unsigned a; -unsigned b; -char ch1; -unsigned g; -unsigned d; -char ch2; -unsigned e; -unsigned o; -{ - - bit_flags_combo->alpha = a; - bit_flags_combo->beta = b; - bit_flags_combo->ch1 = ch1; - bit_flags_combo->gamma = g; - bit_flags_combo->delta = d; - bit_flags_combo->ch2 = ch2; - bit_flags_combo->epsilon = e; - bit_flags_combo->omega = o; -} - - -/***************************************************************** - * INIT_ONE_DOUBLE : - * OUT struct one_double_t *one_double -- structure to fill - * IN double init_val - *****************************************************************/ -void init_one_double (one_double, init_val) -struct one_double_t *one_double; -double init_val; -{ - - one_double->double1 = init_val; -} - -/***************************************************************** - * INIT_TWO_FLOATS : - * OUT struct two_floats_t *two_floats -- structure to be filled - * IN float init_val1 - * IN float init_val2 - *****************************************************************/ -void init_two_floats (two_floats, init_val1, init_val2) -struct two_floats_t *two_floats; -float init_val1; -float init_val2; -{ - - two_floats->float1 = init_val1; - two_floats->float2 = init_val2; -} - -/***************************************************************** - * INIT_THREE_CHARS : - * OUT struct three_char_t *three_char -- structure to be filled - * IN char init_val1 - * IN char init_val2 - * IN char init_val3 - *****************************************************************/ -void init_three_chars ( three_char, init_val1, init_val2, init_val3) -struct three_char_t *three_char; -char init_val1; -char init_val2; -char init_val3; -{ - - three_char->ch1 = init_val1; - three_char->ch2 = init_val2; - three_char->ch3 = init_val3; -} - -/***************************************************************** - * INIT_FIVE_CHARS : - * OUT struct five_char_t *five_char -- structure to be filled - * IN char init_val1 - * IN char init_val2 - * IN char init_val3 - * IN char init_val4 - * IN char init_val5 - *****************************************************************/ -void init_five_chars ( five_char, init_val1, init_val2, init_val3, init_val4, init_val5) -struct five_char_t *five_char; -char init_val1; -char init_val2; -char init_val3; -char init_val4; -char init_val5; -{ - - five_char->ch1 = init_val1; - five_char->ch2 = init_val2; - five_char->ch3 = init_val3; - five_char->ch4 = init_val4; - five_char->ch5 = init_val5; -} - -/***************************************************************** - * INIT_INT_CHAR_COMBO : - * OUT struct int_char_combo_t *combo -- structure to be filled - * IN int init_val1 - * IN char init_val2 - *****************************************************************/ -void init_int_char_combo ( combo, init_val1, init_val2) -struct int_char_combo_t *combo; -int init_val1; -char init_val2; -{ - - combo->int1 = init_val1; - combo->ch1 = init_val2; -} - -/***************************************************************** - * INIT_STRUCT_REP : - * OUT struct small_rep_into_t *small_struct -- structure to be filled - * IN int seed - *****************************************************************/ -void init_struct_rep( small_struct, seed) -struct small_rep_info_t *small_struct; -int seed; - -{ - - small_struct->value = 2 + (seed*2); - small_struct->head = 0; -} - -/***************************************************************** - * PRINT_BIT_FLAGS : - * IN struct bit_flags_t bit_flags - ****************************************************************/ -struct bit_flags_t print_bit_flags ( bit_flags) -struct bit_flags_t bit_flags; -{ - - if (bit_flags.alpha) printf("alpha\n"); - if (bit_flags.beta) printf("beta\n"); - if (bit_flags.gamma) printf("gamma\n"); - if (bit_flags.delta) printf("delta\n"); - if (bit_flags.epsilon) printf("epsilon\n"); - if (bit_flags.omega) printf("omega\n"); - return bit_flags; - -} - -/***************************************************************** - * PRINT_BIT_FLAGS_COMBO : - * IN struct bit_flags_combo_t bit_flags_combo - ****************************************************************/ -struct bit_flags_combo_t print_bit_flags_combo ( bit_flags_combo ) -struct bit_flags_combo_t bit_flags_combo; -{ - - if (bit_flags_combo.alpha) printf("alpha\n"); - if (bit_flags_combo.beta) printf("beta\n"); - if (bit_flags_combo.gamma) printf("gamma\n"); - if (bit_flags_combo.delta) printf("delta\n"); - if (bit_flags_combo.epsilon) printf("epsilon\n"); - if (bit_flags_combo.omega) printf("omega\n"); - printf("ch1: %c\tch2: %c\n", bit_flags_combo.ch1, bit_flags_combo.ch2); - return bit_flags_combo; - -} - -/***************************************************************** - * PRINT_ONE_DOUBLE : - * IN struct one_double_t one_double - ****************************************************************/ -struct one_double_t print_one_double ( one_double ) -struct one_double_t one_double; -{ - - printf("Contents of one_double_t: \n\n"); - printf("%f\n", one_double.double1); - return one_double; - -} - -/***************************************************************** - * PRINT_TWO_FLOATS : - * IN struct two_floats_t two_floats - ****************************************************************/ -struct two_floats_t print_two_floats ( two_floats ) -struct two_floats_t two_floats; -{ - - printf("Contents of two_floats_t: \n\n"); - printf("%f\t%f\n", two_floats.float1, two_floats.float2); - return two_floats; - -} - -/***************************************************************** - * PRINT_THREE_CHARS : - * IN struct three_char_t three_char - ****************************************************************/ -struct three_char_t print_three_chars ( three_char ) -struct three_char_t three_char; -{ - - printf("Contents of three_char_t: \n\n"); - printf("%c\t%c\t%c\n", three_char.ch1, three_char.ch2, three_char.ch3); - return three_char; - -} - -/***************************************************************** - * PRINT_FIVE_CHARS : - * IN struct five_char_t five_char - ****************************************************************/ -struct five_char_t print_five_chars ( five_char ) -struct five_char_t five_char; -{ - - printf("Contents of five_char_t: \n\n"); - printf("%c\t%c\t%c\t%c\t%c\n", five_char.ch1, five_char.ch2, - five_char.ch3, five_char.ch4, - five_char.ch5); - return five_char; - -} - -/***************************************************************** - * PRINT_INT_CHAR_COMBO : - * IN struct int_char_combo_t int_char_combo - ****************************************************************/ -struct int_char_combo_t print_int_char_combo ( int_char_combo ) -struct int_char_combo_t int_char_combo; -{ - - printf("Contents of int_char_combo_t: \n\n"); - printf("%d\t%c\n", int_char_combo.int1, int_char_combo.ch1); - return int_char_combo; - -} - -/***************************************************************** - * PRINT_STRUCT_REP : - ****************************************************************/ -struct small_rep_info_t print_struct_rep( struct1 ) -struct small_rep_info_t struct1; - -{ - - printf("Contents of struct1: \n\n"); - printf("%10d%10d\n", struct1.value, struct1.head); - struct1.value =+5; - - return struct1; - - -} - - -struct array_rep_info_t print_one_large_struct( linked_list1 ) -struct array_rep_info_t linked_list1; -{ - - - printf("%10d%10d\n", linked_list1.values[0], - linked_list1.next_index[0]); - - return linked_list1; - -} - -/***************************************************************** - * INIT_ARRAY_REP : - * IN struct array_rep_info_t *linked_list - * IN int seed - ****************************************************************/ -void init_array_rep( linked_list, seed ) -struct array_rep_info_t *linked_list; -int seed; - -{ - - int index; - - for (index = 0; index < 10; index++) { - - linked_list->values[index] = (2*index) + (seed*2); - linked_list->next_index[index] = index + 1; - } - linked_list->head = 0; -} - - -int main () { - - /* variables for large structure testing - */ - int number = 10; - struct array_rep_info_t *list1; - - /* variables for testing a small structures and a very long argument list - */ - struct small_rep_info_t *struct1; - struct bit_flags_t *flags; - struct bit_flags_combo_t *flags_combo; - struct three_char_t *three_char; - struct five_char_t *five_char; - struct int_char_combo_t *int_char_combo; - struct one_double_t *d1; - struct two_floats_t *f3; - - - /* Allocate space for large structures - */ - list1 = (struct array_rep_info_t *)malloc(sizeof(struct array_rep_info_t)); - - /* Initialize large structures - */ - init_array_rep(list1, 2); - - /* Print large structures - */ - print_one_large_struct(*list1); - - /* Allocate space for small structures - */ - struct1 = (struct small_rep_info_t *)malloc(sizeof(struct small_rep_info_t)); - flags = (struct bit_flags_t *)malloc(sizeof(struct bit_flags_t)); - flags_combo = (struct bit_flags_combo_t *)malloc(sizeof(struct bit_flags_combo_t)); - three_char = (struct three_char_t *)malloc(sizeof(struct three_char_t)); - five_char = (struct five_char_t *)malloc(sizeof(struct five_char_t)); - int_char_combo = (struct int_char_combo_t *)malloc(sizeof(struct int_char_combo_t)); - - d1 = (struct one_double_t *)malloc(sizeof(struct one_double_t)); - f3 = (struct two_floats_t *)malloc(sizeof(struct two_floats_t)); - - /* Initialize small structures - */ - init_one_double ( d1, 1.11111); - init_two_floats ( f3, -2.345, 1.0); - init_bit_flags(flags, (unsigned)1, (unsigned)0, (unsigned)1, - (unsigned)0, (unsigned)1, (unsigned)0 ); - init_bit_flags_combo(flags_combo, (unsigned)1, (unsigned)0, 'y', - (unsigned)1, (unsigned)0, 'n', - (unsigned)1, (unsigned)0 ); - init_three_chars(three_char, 'x', 'y', 'z'); - init_five_chars(five_char, 'h', 'e', 'l', 'l', 'o'); - init_int_char_combo(int_char_combo, 13, '!'); - init_struct_rep(struct1, 10); - - - /* Print small structures - */ - print_one_double(*d1); - print_two_floats(*f3); - print_bit_flags(*flags); - print_bit_flags_combo(*flags_combo); - print_three_chars(*three_char); - print_five_chars(*five_char); - print_int_char_combo(*int_char_combo); - print_struct_rep(*struct1); - - loop_count(); - - return 0; -} - - - - - - - - - - - - - - - diff --git a/gdb/testsuite/gdb.base/callfuncs.c b/gdb/testsuite/gdb.base/callfuncs.c deleted file mode 100644 index e59db08539d..00000000000 --- a/gdb/testsuite/gdb.base/callfuncs.c +++ /dev/null @@ -1,206 +0,0 @@ -/* Support program for testing gdb's ability to call functions - in the inferior, pass appropriate arguments to those functions, - and get the returned result. */ - -#ifdef __STDC__ -#define PARAMS(paramlist) paramlist -#else -#define PARAMS(paramlist) () -#endif - -char char_val1 = 'a'; -char char_val2 = 'b'; - -short short_val1 = 10; -short short_val2 = -23; - -int int_val1 = 87; -int int_val2 = -26; - -long long_val1 = 789; -long long_val2 = -321; - -float float_val1 = 3.14159; -float float_val2 = -2.3765; - -double double_val1 = 45.654; -double double_val2 = -67.66; - -#define DELTA (0.001) - -char *string_val1 = "string 1"; -char *string_val2 = "string 2"; - -char char_array_val1[] = "carray 1"; -char char_array_val2[] = "carray 2"; - -struct struct1 { - int x; - long y; -} struct_val1 = { 76, 51 }; - -/* Some functions that can be passed as arguments to other test - functions, or called directly. */ - -int add (a, b) -int a, b; -{ - return (a + b); -} - -int doubleit (a) -int a; -{ - return (a + a); -} - -int (*func_val1) PARAMS((int,int)) = add; -int (*func_val2) PARAMS((int)) = doubleit; - -/* An enumeration and functions that test for specific values. */ - -enum enumtype { enumval1, enumval2, enumval3 }; -enum enumtype enum_val1 = enumval1; -enum enumtype enum_val2 = enumval2; -enum enumtype enum_val3 = enumval3; - -t_enum_value1 (enum_arg) -enum enumtype enum_arg; -{ - return (enum_arg == enum_val1); -} - -t_enum_value2 (enum_arg) -enum enumtype enum_arg; -{ - return (enum_arg == enum_val2); -} - -t_enum_value3 (enum_arg) -enum enumtype enum_arg; -{ - return (enum_arg == enum_val3); -} - -/* A function that takes a vector of integers (along with an explicit - count) and returns their sum. */ - -int sum_args (argc, argv) -int argc; -int argv[]; -{ - int sumval = 0; - int idx; - - for (idx = 0; idx < argc; idx++) - { - sumval += argv[idx]; - } - return (sumval); -} - -/* Test that calling functions works if there are a lot of arguments. */ -int -sum10 (i0, i1, i2, i3, i4, i5, i6, i7, i8, i9) - int i0, i1, i2, i3, i4, i5, i6, i7, i8, i9; -{ - return i0 + i1 + i2 + i3 + i4 + i5 + i6 + i7 + i8 + i9; -} - -/* Gotta have a main to be able to generate a linked, runnable - executable, and also provide a useful place to set a breakpoint. */ - -main () -{ - malloc(1); -} - -/* Functions that expect specific values to be passed and return - either 0 or 1, depending upon whether the values were - passed incorrectly or correctly, respectively. */ - -int t_char_values (char_arg1, char_arg2) -char char_arg1, char_arg2; -{ - return ((char_arg1 == char_val1) && (char_arg2 == char_val2)); -} - -int t_short_values (short_arg1, short_arg2) -short short_arg1, short_arg2; -{ - return ((short_arg1 == short_val1) && (short_arg2 == short_val2)); -} - -int t_int_values (int_arg1, int_arg2) -int int_arg1, int_arg2; -{ - return ((int_arg1 == int_val1) && (int_arg2 == int_val2)); -} - -int t_long_values (long_arg1, long_arg2) -long long_arg1, long_arg2; -{ - return ((long_arg1 == long_val1) && (long_arg2 == long_val2)); -} - -int t_float_values (float_arg1, float_arg2) -float float_arg1, float_arg2; -{ - return (((float_arg1 - float_val1) < DELTA) && - ((float_arg2 - float_val2) < DELTA)); -} - -int t_double_values (double_arg1, double_arg2) -double double_arg1, double_arg2; -{ - return (((double_arg1 - double_val1) < DELTA) && - ((double_arg2 - double_val2) < DELTA)); -} - -int t_string_values (string_arg1, string_arg2) -char *string_arg1, *string_arg2; -{ - return (!strcmp (string_arg1, string_val1) && - !strcmp (string_arg2, string_val2)); -} - -int t_char_array_values (char_array_arg1, char_array_arg2) -char char_array_arg1[], char_array_arg2[]; -{ - return (!strcmp (char_array_arg1, char_array_val1) && - !strcmp (char_array_arg2, char_array_val2)); -} - - -/* This used to simply compare the function pointer arguments with - known values for func_val1 and func_val2. Doing so is valid ANSI - code, but on some machines (RS6000, HPPA, others?) it may fail when - called directly by GDB. - - In a nutshell, it's not possible for GDB to determine when the address - of a function or the address of the function's stub/trampoline should - be passed. - - So, to avoid GDB lossage in the common case, we perform calls through the - various function pointers and compare the return values. For the HPPA - at least, this allows the common case to work. - - If one wants to try something more complicated, pass the address of - a function accepting a "double" as one of its first 4 arguments. Call - that function indirectly through the function pointer. This would fail - on the HPPA. */ - -int t_func_values (func_arg1, func_arg2) -int (*func_arg1) PARAMS ((int, int)); -int (*func_arg2) PARAMS ((int)); -{ - return ((*func_arg1) (5,5) == (*func_val1) (5,5) - && (*func_arg2) (6) == (*func_val2) (6)); -} - -int t_call_add (func_arg1, a, b) -int (*func_arg1) PARAMS ((int, int)); -int a, b; -{ - return ((*func_arg1)(a, b)); -} diff --git a/gdb/testsuite/gdb.base/callfuncs.exp b/gdb/testsuite/gdb.base/callfuncs.exp deleted file mode 100644 index ffca30b7ad9..00000000000 --- a/gdb/testsuite/gdb.base/callfuncs.exp +++ /dev/null @@ -1,258 +0,0 @@ -# Copyright (C) 92, 96, 1997 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - -# Please email any bugs, comments, and/or additions to this file to: -# bug-gdb@prep.ai.mit.edu - -# This file was written by Fred Fish. (fnf@cygnus.com) -# and modified by Bob Manson. (manson@cygnus.com) - -if $tracelevel then { - strace $tracelevel -} - -set prms_id 0 -set bug_id 0 - -set testfile "callfuncs" -set srcfile ${testfile}.c -set binfile ${objdir}/${subdir}/${testfile} - -set prototypes 1 -if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug}] != "" } { - set prototypes 0; - # built the second test case since we can't use prototypes - warning "Prototypes not supported, rebuilding with -DNO_PROTOTYPES" - if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug additional_flags=-DNO_PROTOTYPES}] != "" } { - gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail." - } -} - -# Create and source the file that provides information about the compiler -# used to compile the test case. - -if [get_compiler_info ${binfile}] { - return -1; -} - -# The a29k can't call functions, so don't even bother with this test. -if [target_info exists gdb,cannot_call_functions] { - setup_xfail "*-*-*" 2416 - fail "This target can not call functions" - continue -} - -# Set the current language to C. This counts as a test. If it -# fails, then we skip the other tests. - -proc set_lang_c {} { - global gdb_prompt - - send_gdb "set language c\n" - gdb_expect { - -re ".*$gdb_prompt $" {} - timeout { fail "set language c (timeout)" ; return 0; } - } - - send_gdb "show language\n" - gdb_expect { - -re ".* source language is \"c\".*$gdb_prompt $" { - pass "set language to \"c\"" - return 1 - } - -re ".*$gdb_prompt $" { - fail "setting language to \"c\"" - return 0 - } - timeout { - fail "can't show language (timeout)" - return 0 - } - } -} - -# FIXME: Before calling this proc, we should probably verify that -# we can call inferior functions and get a valid integral value -# returned. -# Note that it is OK to check for 0 or 1 as the returned values, because C -# specifies that the numeric value of a relational or logical expression -# (computed in the inferior) is 1 for true and 0 for false. - -proc do_function_calls {} { - global prototypes - global gcc_compiled - # We need to up this because this can be really slow on some boards. - set timeout 60; - - gdb_test "p t_char_values(0,0)" " = 0" - gdb_test "p t_char_values('a','b')" " = 1" - gdb_test "p t_char_values(char_val1,char_val2)" " = 1" - gdb_test "p t_char_values('a',char_val2)" " = 1" - gdb_test "p t_char_values(char_val1,'b')" " = 1" - - gdb_test "p t_short_values(0,0)" " = 0" - gdb_test "p t_short_values(10,-23)" " = 1" - gdb_test "p t_short_values(short_val1,short_val2)" " = 1" - gdb_test "p t_short_values(10,short_val2)" " = 1" - gdb_test "p t_short_values(short_val1,-23)" " = 1" - - gdb_test "p t_int_values(0,0)" " = 0" - gdb_test "p t_int_values(87,-26)" " = 1" - gdb_test "p t_int_values(int_val1,int_val2)" " = 1" - gdb_test "p t_int_values(87,int_val2)" " = 1" - gdb_test "p t_int_values(int_val1,-26)" " = 1" - - gdb_test "p t_long_values(0,0)" " = 0" - gdb_test "p t_long_values(789,-321)" " = 1" - gdb_test "p t_long_values(long_val1,long_val2)" " = 1" - gdb_test "p t_long_values(789,long_val2)" " = 1" - gdb_test "p t_long_values(long_val1,-321)" " = 1" - - if ![target_info exists gdb,skip_float_tests] { - gdb_test "p t_float_values(0.0,0.0)" " = 0" - - # These next four tests fail on the mn10300. - # The first value is passed in regs, the other in memory. - # Gcc emits different stabs for the two parameters; the first is - # claimed to be a float, the second a double. - # dbxout.c in gcc claims this is the desired behavior. - setup_xfail "mn10300-*-*" - gdb_test "p t_float_values(3.14159,-2.3765)" " = 1" - setup_xfail "mn10300-*-*" - gdb_test "p t_float_values(float_val1,float_val2)" " = 1" - setup_xfail "mn10300-*-*" - gdb_test "p t_float_values(3.14159,float_val2)" " = 1" - setup_xfail "mn10300-*-*" - gdb_test "p t_float_values(float_val1,-2.3765)" " = 1" - - # Test passing of arguments which might not be widened. - gdb_test "p t_float_values2(0.0,0.0)" " = 0" - - # Although PR 5318 mentions SunOS specifically, this seems - # to be a generic problem on quite a few platforms. - if $prototypes then { - setup_xfail "hppa*-*-*" "sparc-*-*" "mips*-*-*" 5318 - if {!$gcc_compiled} then { - setup_xfail "alpha-dec-osf2*" "i*86-*-sysv4*" 5318 - } - } - gdb_test "p t_float_values2(3.14159,float_val2)" " = 1" - gdb_test "p t_small_values(1,2,3,4,5,6,7,8,9,10)" " = 55" - - gdb_test "p t_double_values(0.0,0.0)" " = 0" - gdb_test "p t_double_values(45.654,-67.66)" " = 1" - gdb_test "p t_double_values(double_val1,double_val2)" " = 1" - gdb_test "p t_double_values(45.654,double_val2)" " = 1" - gdb_test "p t_double_values(double_val1,-67.66)" " = 1" - } - - gdb_test "p t_string_values(string_val2,string_val1)" " = 0" - gdb_test "p t_string_values(string_val1,string_val2)" " = 1" - gdb_test "p t_string_values(\"string 1\",\"string 2\")" " = 1" - gdb_test "p t_string_values(\"string 1\",string_val2)" " = 1" - gdb_test "p t_string_values(string_val1,\"string 2\")" " = 1" - - gdb_test "p t_char_array_values(char_array_val2,char_array_val1)" " = 0" - gdb_test "p t_char_array_values(char_array_val1,char_array_val2)" " = 1" - gdb_test "p t_char_array_values(\"carray 1\",\"carray 2\")" " = 1" - gdb_test "p t_char_array_values(\"carray 1\",char_array_val2)" " = 1" - gdb_test "p t_char_array_values(char_array_val1,\"carray 2\")" " = 1" - - gdb_test "p doubleit(4)" " = 8" - gdb_test "p add(4,5)" " = 9" - gdb_test "p t_func_values(func_val2,func_val1)" " = 0" - gdb_test "p t_func_values(func_val1,func_val2)" " = 1" - - # On the rs6000, we need to pass the address of the trampoline routine, - # not the address of add itself. I don't know how to go from add to - # the address of the trampoline. Similar problems exist on the HPPA, - # and in fact can present an unsolvable problem as the stubs may not - # even exist in the user's program. We've slightly recoded t_func_values - # to avoid such problems in the common case. This may or may not help - # the RS6000. - setup_xfail "rs6000*-*-*" - setup_xfail "powerpc*-*-*" - gdb_test "p t_func_values(add,func_val2)" " = 1" - - setup_xfail "rs6000*-*-*" - setup_xfail "powerpc*-*-*" - gdb_test "p t_func_values(func_val1,doubleit)" " = 1" - - gdb_test "p t_call_add(func_val1,3,4)" " = 7" - - setup_xfail "rs6000*-*-*" - setup_xfail "powerpc*-*-*" - gdb_test "p t_call_add(add,3,4)" " = 7" - - gdb_test "p t_enum_value1(enumval1)" " = 1" - gdb_test "p t_enum_value1(enum_val1)" " = 1" - gdb_test "p t_enum_value1(enum_val2)" " = 0" - - gdb_test "p t_enum_value2(enumval2)" " = 1" - gdb_test "p t_enum_value2(enum_val2)" " = 1" - gdb_test "p t_enum_value2(enum_val1)" " = 0" - - gdb_test "p sum_args(1,{2})" " = 2" - gdb_test "p sum_args(2,{2,3})" " = 5" - gdb_test "p sum_args(3,{2,3,4})" " = 9" - gdb_test "p sum_args(4,{2,3,4,5})" " = 14" - # These tests are broken, so we'll skip them. - - if ![istarget "tic80-*-*"] { - gdb_test "p sum10 (1, 2, 3, 4, 5, 6, 7, 8, 9, 10)" " = 55" - - gdb_test "p t_structs_c(struct_val1)" "= 120 'x'" \ - "call inferior func with struct - returns char" - gdb_test "p t_structs_s(struct_val1)" "= 87" \ - "call inferior func with struct - returns short" - gdb_test "p t_structs_i(struct_val1)" "= 76" \ - "call inferior func with struct - returns int" - gdb_test "p t_structs_l(struct_val1)" "= 51" \ - "call inferior func with struct - returns long" - setup_xfail "i*86-*-*" - gdb_test "p t_structs_f(struct_val1)" "= 2.12.*" \ - "call inferior func with struct - returns float" - setup_xfail "i*86-*-*" - gdb_test "p t_structs_d(struct_val1)" "= 9.87.*" \ - "call inferior func with struct - returns double" - gdb_test "p t_structs_a(struct_val1)" "= (.unsigned char .. )?\"foo\"" \ - "call inferior func with struct - returns char *" - } -} - -# Start with a fresh gdb. - -gdb_exit -gdb_start -gdb_reinitialize_dir $srcdir/$subdir -gdb_load ${binfile} - -gdb_test "set print sevenbit-strings" "" -gdb_test "set print address off" "" -gdb_test "set width 0" "" - -if { ![set_lang_c] } { - gdb_suppress_tests; -} else { - if { ![runto_main] } { - gdb_suppress_tests; - } -} - -gdb_test "next" ".*" -do_function_calls - -return 0 diff --git a/gdb/testsuite/gdb.base/callfuncs2.c b/gdb/testsuite/gdb.base/callfuncs2.c deleted file mode 100644 index ac14d457ae3..00000000000 --- a/gdb/testsuite/gdb.base/callfuncs2.c +++ /dev/null @@ -1,267 +0,0 @@ -/* Support program for testing gdb's ability to call functions - in an inferior which doesn't itself call malloc, pass appropriate - arguments to those functions, and get the returned result. */ - -#ifdef NO_PROTOTYPES -#define PARAMS(paramlist) () -#else -#define PARAMS(paramlist) paramlist -#endif - -char char_val1 = 'a'; -char char_val2 = 'b'; - -short short_val1 = 10; -short short_val2 = -23; - -int int_val1 = 87; -int int_val2 = -26; - -long long_val1 = 789; -long long_val2 = -321; - -float float_val1 = 3.14159; -float float_val2 = -2.3765; - -double double_val1 = 45.654; -double double_val2 = -67.66; - -#define DELTA (0.001) - -char *string_val1 = "string 1"; -char *string_val2 = "string 2"; - -char char_array_val1[] = "carray 1"; -char char_array_val2[] = "carray 2"; - -struct struct1 { - char c; - short s; - int i; - long l; - float f; - double d; - char a[4]; -} struct_val1 = { 'x', 87, 76, 51, 2.1234, 9.876, "foo" }; - -/* Some functions that can be passed as arguments to other test - functions, or called directly. */ - -int add (a, b) -int a, b; -{ - return (a + b); -} - -int doubleit (a) -int a; -{ - return (a + a); -} - -int (*func_val1) PARAMS((int,int)) = add; -int (*func_val2) PARAMS((int)) = doubleit; - -/* An enumeration and functions that test for specific values. */ - -enum enumtype { enumval1, enumval2, enumval3 }; -enum enumtype enum_val1 = enumval1; -enum enumtype enum_val2 = enumval2; -enum enumtype enum_val3 = enumval3; - -t_enum_value1 (enum_arg) -enum enumtype enum_arg; -{ - return (enum_arg == enum_val1); -} - -t_enum_value2 (enum_arg) -enum enumtype enum_arg; -{ - return (enum_arg == enum_val2); -} - -t_enum_value3 (enum_arg) -enum enumtype enum_arg; -{ - return (enum_arg == enum_val3); -} - -/* A function that takes a vector of integers (along with an explicit - count) and returns their sum. */ - -int sum_args (argc, argv) -int argc; -int argv[]; -{ - int sumval = 0; - int idx; - - for (idx = 0; idx < argc; idx++) - { - sumval += argv[idx]; - } - return (sumval); -} - -/* Test that we can call functions that take structs and return - members from that struct */ - -char t_structs_c (tstruct) struct struct1 tstruct; { return (tstruct.c); } -short t_structs_s (tstruct) struct struct1 tstruct; { return (tstruct.s); } -int t_structs_i (tstruct) struct struct1 tstruct; { return (tstruct.i); } -long t_structs_l (tstruct) struct struct1 tstruct; { return (tstruct.l); } -float t_structs_f (tstruct) struct struct1 tstruct; { return (tstruct.f); } -double t_structs_d (tstruct) struct struct1 tstruct; { return (tstruct.d); } -char *t_structs_a (tstruct) struct struct1 tstruct; { return (tstruct.a); } - -/* Test that calling functions works if there are a lot of arguments. */ -int -sum10 (i0, i1, i2, i3, i4, i5, i6, i7, i8, i9) - int i0, i1, i2, i3, i4, i5, i6, i7, i8, i9; -{ - return i0 + i1 + i2 + i3 + i4 + i5 + i6 + i7 + i8 + i9; -} - -/* Gotta have a main to be able to generate a linked, runnable - executable, and also provide a useful place to set a breakpoint. */ - -main () -{ -#ifdef usestubs - set_debug_traps(); - breakpoint(); -#endif - t_structs_c(struct_val1); -} - -/* Functions that expect specific values to be passed and return - either 0 or 1, depending upon whether the values were - passed incorrectly or correctly, respectively. */ - -int t_char_values (char_arg1, char_arg2) -char char_arg1, char_arg2; -{ - return ((char_arg1 == char_val1) && (char_arg2 == char_val2)); -} - -int -#ifdef NO_PROTOTYPES -t_small_values (arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10) - char arg1; - short arg2; - int arg3; - char arg4; - short arg5; - char arg6; - short arg7; - int arg8; - short arg9; - short arg10; -#else -t_small_values (char arg1, short arg2, int arg3, char arg4, short arg5, - char arg6, short arg7, int arg8, short arg9, short arg10) -#endif -{ - return arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10; -} - -int t_short_values (short_arg1, short_arg2) -short short_arg1, short_arg2; -{ - return ((short_arg1 == short_val1) && (short_arg2 == short_val2)); -} - -int t_int_values (int_arg1, int_arg2) -int int_arg1, int_arg2; -{ - return ((int_arg1 == int_val1) && (int_arg2 == int_val2)); -} - -int t_long_values (long_arg1, long_arg2) -long long_arg1, long_arg2; -{ - return ((long_arg1 == long_val1) && (long_arg2 == long_val2)); -} - -int t_float_values (float_arg1, float_arg2) -float float_arg1, float_arg2; -{ - return ((float_arg1 - float_val1) < DELTA - && (float_arg1 - float_val1) > -DELTA - && (float_arg2 - float_val2) < DELTA - && (float_arg2 - float_val2) > -DELTA); -} - -int -#ifdef NO_PROTOTYPES -/* In this case we are just duplicating t_float_values, but that is the - easiest way to deal with either ANSI or non-ANSI. */ -t_float_values2 (float_arg1, float_arg2) - float float_arg1, float_arg2; -#else -t_float_values2 (float float_arg1, float float_arg2) -#endif -{ - return ((float_arg1 - float_val1) < DELTA - && (float_arg1 - float_val1) > -DELTA - && (float_arg2 - float_val2) < DELTA - && (float_arg2 - float_val2) > -DELTA); -} - -int t_double_values (double_arg1, double_arg2) -double double_arg1, double_arg2; -{ - return ((double_arg1 - double_val1) < DELTA - && (double_arg1 - double_val1) > -DELTA - && (double_arg2 - double_val2) < DELTA - && (double_arg2 - double_val2) > -DELTA); -} - -int t_string_values (string_arg1, string_arg2) -char *string_arg1, *string_arg2; -{ - return (!strcmp (string_arg1, string_val1) && - !strcmp (string_arg2, string_val2)); -} - -int t_char_array_values (char_array_arg1, char_array_arg2) -char char_array_arg1[], char_array_arg2[]; -{ - return (!strcmp (char_array_arg1, char_array_val1) && - !strcmp (char_array_arg2, char_array_val2)); -} - - -/* This used to simply compare the function pointer arguments with - known values for func_val1 and func_val2. Doing so is valid ANSI - code, but on some machines (RS6000, HPPA, others?) it may fail when - called directly by GDB. - - In a nutshell, it's not possible for GDB to determine when the address - of a function or the address of the function's stub/trampoline should - be passed. - - So, to avoid GDB lossage in the common case, we perform calls through the - various function pointers and compare the return values. For the HPPA - at least, this allows the common case to work. - - If one wants to try something more complicated, pass the address of - a function accepting a "double" as one of its first 4 arguments. Call - that function indirectly through the function pointer. This would fail - on the HPPA. */ - -int t_func_values (func_arg1, func_arg2) -int (*func_arg1) PARAMS ((int, int)); -int (*func_arg2) PARAMS ((int)); -{ - return ((*func_arg1) (5,5) == (*func_val1) (5,5) - && (*func_arg2) (6) == (*func_val2) (6)); -} - -int t_call_add (func_arg1, a, b) -int (*func_arg1) PARAMS ((int, int)); -int a, b; -{ - return ((*func_arg1)(a, b)); -} diff --git a/gdb/testsuite/gdb.base/callfuncs2.exp b/gdb/testsuite/gdb.base/callfuncs2.exp deleted file mode 100644 index 8b17b6346bb..00000000000 --- a/gdb/testsuite/gdb.base/callfuncs2.exp +++ /dev/null @@ -1,276 +0,0 @@ -# Copyright (C) 1997, 1998 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ - -# Please email any bugs, comments, and/or additions to this file to: -# bug-gdb@prep.ai.mit.edu - -# This file was written by Fred Fish. (fnf@cygnus.com) - -# SAME tests as in callfuncs.exp but here the inferior program does not call malloc. - - - -if $tracelevel then { - strace $tracelevel -} - -set prms_id 0 -set bug_id 0 - -set testfile "callfuncs2" -set srcfile ${testfile}.c -set binfile ${objdir}/${subdir}/${testfile} - -set prototypes 1 -if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug}] != "" } { - set prototypes 0; - # built the second test case since we can't use prototypes - warning "Prototypes not supported, rebuilding with -DNO_PROTOTYPES" - if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug additional_flags=-DNO_PROTOTYPES}] != "" } { - gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail." - } -} - -# Create and source the file that provides information about the compiler -# used to compile the test case. - -if [get_compiler_info ${binfile}] { - return -1; -} - - - -# The a29k can't call functions, so don't even bother with this test. -if [target_info exists gdb,cannot_call_functions] { - setup_xfail "*-*-*" 2416 - fail "This target can not call functions" - continue -} - -# Set the current language to C. This counts as a test. If it -# fails, then we skip the other tests. - -proc set_lang_c {} { - global gdb_prompt - - send_gdb "set language c\n" - gdb_expect { - -re ".*$gdb_prompt $" {} - timeout { fail "set language c (timeout)" ; return 0 } - } - - send_gdb "show language\n" - gdb_expect { - -re ".* source language is \"c\".*$gdb_prompt $" { - pass "set language to \"c\"" - return 1 - } - -re ".*$gdb_prompt $" { - fail "setting language to \"c\"" - return 0 - } - timeout { - fail "can't show language (timeout)" - return 0 - } - } -} - -# FIXME: Before calling this proc, we should probably verify that -# we can call inferior functions and get a valid integral value -# returned. -# Note that it is OK to check for 0 or 1 as the returned values, because C -# specifies that the numeric value of a relational or logical expression -# (computed in the inferior) is 1 for true and 0 for false. - -proc do_function_calls {} { - global prototypes - global gcc_compiled - # We need to up this because this can be really slow on some boards. - set timeout 60; - - gdb_test "p t_char_values(0,0)" " = 0" - gdb_test "p t_char_values('a','b')" " = 1" - gdb_test "p t_char_values(char_val1,char_val2)" " = 1" - gdb_test "p t_char_values('a',char_val2)" " = 1" - gdb_test "p t_char_values(char_val1,'b')" " = 1" - - gdb_test "p t_short_values(0,0)" " = 0" - gdb_test "p t_short_values(10,-23)" " = 1" - gdb_test "p t_short_values(short_val1,short_val2)" " = 1" - gdb_test "p t_short_values(10,short_val2)" " = 1" - gdb_test "p t_short_values(short_val1,-23)" " = 1" - - gdb_test "p t_int_values(0,0)" " = 0" - gdb_test "p t_int_values(87,-26)" " = 1" - gdb_test "p t_int_values(int_val1,int_val2)" " = 1" - gdb_test "p t_int_values(87,int_val2)" " = 1" - gdb_test "p t_int_values(int_val1,-26)" " = 1" - - gdb_test "p t_long_values(0,0)" " = 0" - gdb_test "p t_long_values(789,-321)" " = 1" - gdb_test "p t_long_values(long_val1,long_val2)" " = 1" - gdb_test "p t_long_values(789,long_val2)" " = 1" - gdb_test "p t_long_values(long_val1,-321)" " = 1" - - if ![target_info exists gdb,skip_float_tests] { - gdb_test "p t_float_values(0.0,0.0)" " = 0" - - # These next four tests fail on the mn10300. - # The first value is passed in regs, the other in memory. - # Gcc emits different stabs for the two parameters; the first is - # claimed to be a float, the second a double. - # dbxout.c in gcc claims this is the desired behavior. - setup_xfail "mn10300-*-*" - gdb_test "p t_float_values(3.14159,-2.3765)" " = 1" - setup_xfail "mn10300-*-*" - gdb_test "p t_float_values(float_val1,float_val2)" " = 1" - setup_xfail "mn10300-*-*" - gdb_test "p t_float_values(3.14159,float_val2)" " = 1" - setup_xfail "mn10300-*-*" - gdb_test "p t_float_values(float_val1,-2.3765)" " = 1" - - # Test passing of arguments which might not be widened. - gdb_test "p t_float_values2(0.0,0.0)" " = 0" - - # Although PR 5318 mentions SunOS specifically, this seems - # to be a generic problem on quite a few platforms. - if $prototypes then { - setup_xfail "hppa*-*-*" "sparc-*-*" "mips*-*-*" 5318 - if {!$gcc_compiled} then { - setup_xfail "alpha-dec-osf2*" "i*86-*-sysv4*" 5318 - } - } - gdb_test "p t_float_values2(3.14159,float_val2)" " = 1" - gdb_test "p t_small_values(1,2,3,4,5,6,7,8,9,10)" " = 55" - - gdb_test "p t_double_values(0.0,0.0)" " = 0" - gdb_test "p t_double_values(45.654,-67.66)" " = 1" - gdb_test "p t_double_values(double_val1,double_val2)" " = 1" - gdb_test "p t_double_values(45.654,double_val2)" " = 1" - gdb_test "p t_double_values(double_val1,-67.66)" " = 1" - - } - - gdb_test "p t_string_values(string_val2,string_val1)" " = 0" - gdb_test "p t_string_values(string_val1,string_val2)" " = 1" - gdb_test "p t_string_values(\"string 1\",\"string 2\")" " = 1" - gdb_test "p t_string_values(\"string 1\",string_val2)" " = 1" - gdb_test "p t_string_values(string_val1,\"string 2\")" " = 1" - - gdb_test "p t_char_array_values(char_array_val2,char_array_val1)" " = 0" - gdb_test "p t_char_array_values(char_array_val1,char_array_val2)" " = 1" - gdb_test "p t_char_array_values(\"carray 1\",\"carray 2\")" " = 1" - gdb_test "p t_char_array_values(\"carray 1\",char_array_val2)" " = 1" - gdb_test "p t_char_array_values(char_array_val1,\"carray 2\")" " = 1" - - gdb_test "p doubleit(4)" " = 8" - gdb_test "p add(4,5)" " = 9" - gdb_test "p t_func_values(func_val2,func_val1)" " = 0" - gdb_test "p t_func_values(func_val1,func_val2)" " = 1" - - # On the rs6000, we need to pass the address of the trampoline routine, - # not the address of add itself. I don't know how to go from add to - # the address of the trampoline. Similar problems exist on the HPPA, - # and in fact can present an unsolvable problem as the stubs may not - # even exist in the user's program. We've slightly recoded t_func_values - # to avoid such problems in the common case. This may or may not help - # the RS6000. - setup_xfail "rs6000*-*-*" - setup_xfail "powerpc*-*-*" - - if {!$gcc_compiled && [istarget hppa*-*-hpux*]} then { - gdb_test "p t_func_values(add,func_val2)" "You cannot.*ignored.*" - } else { - gdb_test "p t_func_values(add,func_val2)" " = 1" - } - - setup_xfail "rs6000*-*-*" - setup_xfail "powerpc*-*-*" - - if {!$gcc_compiled && [istarget hppa*-*-hpux*]} then { - gdb_test "p t_func_values(func_val1,doubleit)" "You cannot.*ignored.*" - } else { - gdb_test "p t_func_values(func_val1,doubleit)" " = 1" - } - - gdb_test "p t_call_add(func_val1,3,4)" " = 7" - - setup_xfail "rs6000*-*-*" - setup_xfail "powerpc*-*-*" - - if {!$gcc_compiled && [istarget hppa*-*-hpux*]} then { - gdb_test "p t_call_add(add,3,4)" "You cannot.*ignored.*" - } else { - gdb_test "p t_call_add(add,3,4)" " = 7" - } - - gdb_test "p t_enum_value1(enumval1)" " = 1" - gdb_test "p t_enum_value1(enum_val1)" " = 1" - gdb_test "p t_enum_value1(enum_val2)" " = 0" - - gdb_test "p t_enum_value2(enumval2)" " = 1" - gdb_test "p t_enum_value2(enum_val2)" " = 1" - gdb_test "p t_enum_value2(enum_val1)" " = 0" - - gdb_test "p sum_args(1,{2})" " = 2" - gdb_test "p sum_args(2,{2,3})" " = 5" - gdb_test "p sum_args(3,{2,3,4})" " = 9" - gdb_test "p sum_args(4,{2,3,4,5})" " = 14" - gdb_test "p sum10 (1, 2, 3, 4, 5, 6, 7, 8, 9, 10)" " = 55" - - gdb_test "p t_structs_c(struct_val1)" "= 120 'x'" \ - "call inferior func with struct - returns char" - gdb_test "p t_structs_s(struct_val1)" "= 87" \ - "call inferior func with struct - returns short" - gdb_test "p t_structs_i(struct_val1)" "= 76" \ - "call inferior func with struct - returns int" - gdb_test "p t_structs_l(struct_val1)" "= 51" \ - "call inferior func with struct - returns long" - setup_xfail "i*86-*-*" - gdb_test "p t_structs_f(struct_val1)" "= 2.12.*" \ - "call inferior func with struct - returns float" - setup_xfail "i*86-*-*" - gdb_test "p t_structs_d(struct_val1)" "= 9.87.*" \ - "call inferior func with struct - returns double" - gdb_test "p t_structs_a(struct_val1)" "= (.unsigned char .. )?\"foo\"" \ - "call inferior func with struct - returns char *" - -} - -# Start with a fresh gdb. - -gdb_exit -gdb_start -gdb_reinitialize_dir $srcdir/$subdir -gdb_load ${binfile} - -gdb_test "set print sevenbit-strings" "" -gdb_test "set print address off" "" -gdb_test "set width 0" "" - -if { ![set_lang_c] } { - gdb_suppress_tests; -} else { - if { ![runto_main] } { - gdb_suppress_tests; - } -} - -gdb_test "next" ".*" -do_function_calls - -return 0 diff --git a/gdb/testsuite/gdb.base/commands.exp b/gdb/testsuite/gdb.base/commands.exp deleted file mode 100644 index 5094f5fa303..00000000000 --- a/gdb/testsuite/gdb.base/commands.exp +++ /dev/null @@ -1,216 +0,0 @@ -# Copyright (C) 1988, 1990, 1991, 1992 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ - -# Please email any bugs, comments, and/or additions to this file to: -# bug-gdb@prep.ai.mit.edu - -if $tracelevel then { - strace $tracelevel -} - -# -# test special commands (if, while, etc) -# -set prms_id 0 -set bug_id 0 - -set testfile "run" -set srcfile ${testfile}.c -set binfile ${objdir}/${subdir}/${testfile} -if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug}] != "" } { - perror "Couldn't compile ${srcfile}" - return -1 -} - -gdb_exit -gdb_start -delete_breakpoints -gdb_reinitialize_dir $srcdir/$subdir -gdb_load ${binfile} - -proc gdbvar_simple_if_test {} { - global gdb_prompt - - gdb_test "set \$foo = 0" "" "set foo in gdbvar_simple_if_test" - # All this test should do is print 0xdeadbeef once. - gdb_test "if \$foo == 1\np/x 0xfeedface\nelse\np/x 0xdeadbeef\nend" "\\\$\[0-9\]* = 0xdeadbeef" "gdbvar_simple_if_test #1" - # All this test should do is print 0xfeedface once. - gdb_test "if \$foo == 0\np/x 0xfeedface\nelse\np/x 0xdeadbeef\nend" "\\\$\[0-9\]* = 0xfeedface" "gdbvar_simple_if_test #2" -} - -proc gdbvar_simple_while_test {} { - global gdb_prompt - - gdb_test "set \$foo = 5" "" "set foo in gdbvar_simple_while_test" - # This test should print 0xfeedface five times. - gdb_test "while \$foo > 0\np/x 0xfeedface\nset \$foo -= 1\nend" "\\\$\[0-9\]* = 0xfeedface\[^\n\]*\n\\\$\[0-9\]* = 0xfeedface\[^\n\]*\n\\\$\[0-9\]* = 0xfeedface\[^\n\]*\n\\\$\[0-9\]* = 0xfeedface\[^\n\]*\n\\\$\[0-9\]* = 0xfeedface" "gdbvar_simple_while_test #1" -} - -proc gdbvar_complex_if_while_test {} { - global gdb_prompt - - gdb_test "set \$foo = 4" "" "set foo in gdbvar complex_if_while_test" - # This test should alternate between 0xdeadbeef and 0xfeedface two times. - gdb_test "while \$foo > 0\nset \$foo -= 1\nif \(\$foo % 2\) == 1\np/x 0xdeadbeef\nelse\np/x 0xfeedface\nend\nend" "\\\$\[0-9\]* = 0xdeadbeef\[^\n\]*\n\\\$\[0-9\]* = 0xfeedface\[^\n\]*\n\\\$\[0-9\]* = 0xdeadbeef\[^\n\]*\n\\\$\[0-9\]* = 0xfeedface" "gdbvar_complex_if_while_test #1" -} - -proc progvar_simple_if_test {} { - global gdb_prompt - - if [target_info exists gdb,noargs] { - verbose "Skipping progvar_simple_if_test because of noargs." - return - } - - gdb_test "set args 5" "" "set args in progvar_simple_if_test" - if { ![runto factorial] } then { return } - # All this test should do is print 0xdeadbeef once. - gdb_test "if value == 1\np/x 0xfeedface\nelse\np/x 0xdeadbeef\nend" "\\\$\[0-9\]* = 0xdeadbeef" "progvar_simple_if_test #1" - # All this test should do is print 0xfeedface once. - gdb_test "if value == 5\np/x 0xfeedface\nelse\np/x 0xdeadbeef\nend" "\\\$\[0-9\]* = 0xfeedface" "progvar_simple_if_test #2" -} - -proc progvar_simple_while_test {} { - global gdb_prompt - - if [target_info exists gdb,noargs] { - verbose "Skipping progvar_simple_while_test because of noargs." - return - } - - gdb_test "set args 5" "" "set args in progvar_simple_while_test" - if { ![runto factorial] } then { return } - # This test should print 0xfeedface five times. - gdb_test "while value > 0\np/x 0xfeedface\nset value -= 1\nend" "\\\$\[0-9\]* = 0xfeedface\[^\n\]*\n\\\$\[0-9\]* = 0xfeedface\[^\n\]*\n\\\$\[0-9\]* = 0xfeedface\[^\n\]*\n\\\$\[0-9\]* = 0xfeedface\[^\n\]*\n\\\$\[0-9\]* = 0xfeedface" "progvar_simple_while_test #1" -} - -proc progvar_complex_if_while_test {} { - global gdb_prompt - - if [target_info exists gdb,noargs] { - verbose "Skipping progvar_simple_if_while_test because of noargs." - return - } - - gdb_test "set args 4" "" "set args in progvar_complex_if_while_test" - if { ![runto factorial] } then { return } - # This test should alternate between 0xdeadbeef and 0xfeedface two times. - gdb_test "while value > 0\nset value -= 1\nif \(value % 2\) == 1\np/x 0xdeadbeef\nelse\np/x 0xfeedface\nend\nend" "\\\$\[0-9\]* = 0xdeadbeef\[^\n\]*\n\\\$\[0-9\]* = 0xfeedface\[^\n\]*\n\\\$\[0-9\]* = 0xdeadbeef\[^\n\]*\n\\\$\[0-9\]* = 0xfeedface" "progvar_complex_if_while_test #1" -} - -proc if_while_breakpoint_command_test {} { - if [target_info exists gdb,noargs] { - verbose "Skipping if_while_breakpoint_command_test because of noargs." - return - } - - gdb_test "set args 5" "" "set args in if_while_breakpoint_command_test" - if { ![runto factorial] } then { return } - delete_breakpoints - gdb_test "break factorial" "Breakpoint.*at.*" - - send_gdb "commands\n" - gdb_expect { - -re "End with" { - pass "commands in if_while_breakpoint_command_test" - } - default { - fail "(timeout or eof) commands in if_while_breakpoint_command_test" - } - } - # This test should alternate between 0xdeadbeef and 0xfeedface two times. - gdb_test "while value > 0\nset value -= 1\nif \(value % 2\) == 1\np/x 0xdeadbeef\nelse\np/x 0xfeedface\nend\nend\nend" "" "commands part 2 in if_while_breakpoint_command_test" - gdb_test "continue" "\\\$\[0-9\]* = 0xdeadbeef\[^\n\]*\n\\\$\[0-9\]* = 0xfeedface\[^\n\]*\n\\\$\[0-9\]* = 0xdeadbeef\[^\n\]*\n\\\$\[0-9\]* = 0xfeedface" "if_while_breakpoint_command_test #1" - gdb_test "info break" "while.*set.*if.*p/x.*else.*p/x.*end.*" "info break in if_while_breakpoint_command_test" -} - -# Test that we can run the inferior from breakpoint commands. -proc infrun_breakpoint_command_test {} { - if [target_info exists gdb,noargs] { - verbose "Skipping infrun_breakpoint_command_test because of noargs." - return - } - - gdb_test "set args 6" "" "set args in progvar_simple_while_test" - if { ![runto factorial] } then { return } - delete_breakpoints - gdb_test "break factorial if value == 5" "Breakpoint.*at.*" - gdb_test "commands\nstep\nstep\nstep\nstep\nbt\nend" \ - "End with.*" "commands in infrun_breakpoint_command_test" - gdb_test "continue" "Breakpoint \[0-9\]*, factorial \\(value=5\\).*at.* -\[0-9\]*\[ \]*if \\(value > 1\\) \{.* -\[0-9\]*\[ \]*value \\*= factorial \\(value - 1\\);.* -factorial \\(value=4\\) at.*\[0-9\]*\[ \]*if \\(value > 1\\) \{.* -\[0-9\]*\[ \]*value \\*= factorial \\(value - 1\\);.* -factorial \\(value=3\\) at .* -\[0-9\]*\[ \]*if \\(value > 1\\) \{.* -#0 factorial \\(value=3\\).* -#1 \[0-9a-fx\]* in factorial \\(value=4\\).* -#2 \[0-9a-fx\]* in factorial \\(value=5\\).* -#3 \[0-9a-fx\]* in factorial \\(value=6\\).* -#4 \[0-9a-fx\]* in main \\(.*\\).*" \ - "continue in infrun_breakpoint_command_test" -} - -proc breakpoint_command_test {} { - if [target_info exists gdb,noargs] { - verbose "Skipping breakpoint_command_test because of noargs." - return - } - - gdb_test "set args 6" "" "set args in progvar_simple_while_test" - if { ![runto factorial] } then { return } - delete_breakpoints - gdb_test "break factorial" "Breakpoint.*at.*" - gdb_test "commands\nprintf \"Now the value is %d\\n\", value\nend" \ - "End with.*" "commands in breakpoint_command_test" - gdb_test "continue" "Breakpoint \[0-9\]*, factorial.*Now the value is 5" \ - "continue in breakpoint_command_test" - gdb_test "print value" " = 5" "print value in breakpoint_command_test" -} - -# Test a simple user defined command (with arguments) -proc user_defined_command_test {} { - global gdb_prompt - - gdb_test "set \$foo = 4" "" "set foo in user_defined_command_test" - - send_gdb "define mycommand\n" - gdb_expect { - -re "End with" { - pass "define mycommand in user_defined_command_test" - } - default { - fail "(timeout or eof) define mycommand in user_defined_command_test" - } - } - # This test should alternate between 0xdeadbeef and 0xfeedface two times. - gdb_test "while \$arg0 > 0\nset \$arg0 -= 1\nif \(\$arg0 % 2\) == 1\np/x 0xdeadbeef\nelse\np/x 0xfeedface\nend\nend\nend" "" "enter commands in user_defined_command_test" - - gdb_test "mycommand \$foo" "\\\$\[0-9\]* = 0xdeadbeef\[^\n\]*\n\\\$\[0-9\]* = 0xfeedface\[^\n\]*\n\\\$\[0-9\]* = 0xdeadbeef\[^\n\]*\n\\\$\[0-9\]* = 0xfeedface" "execute user defined command in user_defined_command_test" - gdb_test "show user mycommand" "while.*set.*if.*p/x.*else.*p/x.*end.*" "display user command in user_defined_command_test" -} - -gdbvar_simple_if_test -gdbvar_simple_while_test -gdbvar_complex_if_while_test -progvar_simple_if_test -progvar_simple_while_test -progvar_complex_if_while_test -if_while_breakpoint_command_test -infrun_breakpoint_command_test -breakpoint_command_test -user_defined_command_test diff --git a/gdb/testsuite/gdb.base/compiler.c b/gdb/testsuite/gdb.base/compiler.c deleted file mode 100644 index 8eb0d47dd19..00000000000 --- a/gdb/testsuite/gdb.base/compiler.c +++ /dev/null @@ -1,31 +0,0 @@ -/* Often the behavior of any particular test depends upon what compiler was - used to compile the test. As each test is compiled, this file is - preprocessed by the same compiler used to compile that specific test - (different tests might be compiled by different compilers, particularly - if compiled at different times), and used to generate a *.ci (compiler - info) file for that test. - - I.E., when callfuncs is compiled, a callfuncs.ci file will be generated, - which can then be sourced by callfuncs.exp to give callfuncs.exp access - to information about the compilation environment. - - TODO: It might be a good idea to add expect code that tests each - definition made with 'set" to see if one already exists, and if so - warn about conflicts if it is being set to something else. */ - -/* This needs to be kept in sync with whatis.c and gdb.exp(get_compiler_info). - If this ends up being hairy, we could use a common header file. */ - -#if defined (__STDC__) || defined (_AIX) -set signed_keyword_not_used 0 -#else -set signed_keyword_not_used 1 -#endif - -#if defined (__GNUC__) -set gcc_compiled __GNUC__ -#else -set gcc_compiled 0 -#endif - -return 0 diff --git a/gdb/testsuite/gdb.base/condbreak.c b/gdb/testsuite/gdb.base/condbreak.c deleted file mode 100644 index 491d6e5dd5d..00000000000 --- a/gdb/testsuite/gdb.base/condbreak.c +++ /dev/null @@ -1,81 +0,0 @@ -#ifdef vxworks - -# include <stdio.h> - -/* VxWorks does not supply atoi. */ -static int -atoi (z) - char *z; -{ - int i = 0; - - while (*z >= '0' && *z <= '9') - i = i * 10 + (*z++ - '0'); - return i; -} - -/* I don't know of any way to pass an array to VxWorks. This function - can be called directly from gdb. */ - -vxmain (arg) -char *arg; -{ - char *argv[2]; - - argv[0] = ""; - argv[1] = arg; - main (2, argv, (char **) 0); -} - -#else /* ! vxworks */ -# include <stdio.h> -#endif /* ! vxworks */ - -/* - * The following functions do nothing useful. They are included simply - * as places to try setting breakpoints at. They are explicitly - * "one-line functions" to verify that this case works (some versions - * of gcc have or have had problems with this). - */ - -int marker1 () { return (0); } -int marker2 (a) int a; { return (1); } -void marker3 (a, b) char *a, *b; {} -void marker4 (d) long d; {} - -/* - * This simple classical example of recursion is useful for - * testing stack backtraces and such. - */ - -int -main (argc, argv, envp) -int argc; -char *argv[], **envp; -{ -#ifdef usestubs - set_debug_traps(); - breakpoint(); -#endif - if (argc == 123456) { - fprintf (stderr, "usage: factorial <number>\n"); - return 1; - } - printf ("%d\n", factorial (atoi ("6"))); - - marker1 (); - marker2 (43); - marker3 ("stack", "trace"); - marker4 (177601976L); - return 0; -} - -int factorial (value) -int value; -{ - if (value > 1) { - value *= factorial (value - 1); - } - return (value); -} - diff --git a/gdb/testsuite/gdb.base/configure b/gdb/testsuite/gdb.base/configure deleted file mode 100644 index 29e69bfe1a5..00000000000 --- a/gdb/testsuite/gdb.base/configure +++ /dev/null @@ -1,899 +0,0 @@ -#! /bin/sh - -# Guess values for system-dependent variables and create Makefiles. -# Generated automatically using autoconf version 2.12.1 -# Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc. -# -# This configure script is free software; the Free Software Foundation -# gives unlimited permission to copy, distribute and modify it. - -# Defaults: -ac_help= -ac_default_prefix=/usr/local -# Any additions from configure.in: - -# Initialize some variables set by options. -# The variables have the same names as the options, with -# dashes changed to underlines. -build=NONE -cache_file=./config.cache -exec_prefix=NONE -host=NONE -no_create= -nonopt=NONE -no_recursion= -prefix=NONE -program_prefix=NONE -program_suffix=NONE -program_transform_name=s,x,x, -silent= -site= -srcdir= -target=NONE -verbose= -x_includes=NONE -x_libraries=NONE -bindir='${exec_prefix}/bin' -sbindir='${exec_prefix}/sbin' -libexecdir='${exec_prefix}/libexec' -datadir='${prefix}/share' -sysconfdir='${prefix}/etc' -sharedstatedir='${prefix}/com' -localstatedir='${prefix}/var' -libdir='${exec_prefix}/lib' -includedir='${prefix}/include' -oldincludedir='/usr/include' -infodir='${prefix}/info' -mandir='${prefix}/man' - -# Initialize some other variables. -subdirs= -MFLAGS= MAKEFLAGS= -SHELL=${CONFIG_SHELL-/bin/sh} -# Maximum number of lines to put in a shell here document. -ac_max_here_lines=12 - -ac_prev= -for ac_option -do - - # If the previous option needs an argument, assign it. - if test -n "$ac_prev"; then - eval "$ac_prev=\$ac_option" - ac_prev= - continue - fi - - case "$ac_option" in - -*=*) ac_optarg=`echo "$ac_option" | sed 's/[-_a-zA-Z0-9]*=//'` ;; - *) ac_optarg= ;; - esac - - # Accept the important Cygnus configure options, so we can diagnose typos. - - case "$ac_option" in - - -bindir | --bindir | --bindi | --bind | --bin | --bi) - ac_prev=bindir ;; - -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) - bindir="$ac_optarg" ;; - - -build | --build | --buil | --bui | --bu) - ac_prev=build ;; - -build=* | --build=* | --buil=* | --bui=* | --bu=*) - build="$ac_optarg" ;; - - -cache-file | --cache-file | --cache-fil | --cache-fi \ - | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) - ac_prev=cache_file ;; - -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ - | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) - cache_file="$ac_optarg" ;; - - -datadir | --datadir | --datadi | --datad | --data | --dat | --da) - ac_prev=datadir ;; - -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \ - | --da=*) - datadir="$ac_optarg" ;; - - -disable-* | --disable-*) - ac_feature=`echo $ac_option|sed -e 's/-*disable-//'` - # Reject names that are not valid shell variable names. - if test -n "`echo $ac_feature| sed 's/[-a-zA-Z0-9_]//g'`"; then - { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; } - fi - ac_feature=`echo $ac_feature| sed 's/-/_/g'` - eval "enable_${ac_feature}=no" ;; - - -enable-* | --enable-*) - ac_feature=`echo $ac_option|sed -e 's/-*enable-//' -e 's/=.*//'` - # Reject names that are not valid shell variable names. - if test -n "`echo $ac_feature| sed 's/[-_a-zA-Z0-9]//g'`"; then - { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; } - fi - ac_feature=`echo $ac_feature| sed 's/-/_/g'` - case "$ac_option" in - *=*) ;; - *) ac_optarg=yes ;; - esac - eval "enable_${ac_feature}='$ac_optarg'" ;; - - -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ - | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ - | --exec | --exe | --ex) - ac_prev=exec_prefix ;; - -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ - | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ - | --exec=* | --exe=* | --ex=*) - exec_prefix="$ac_optarg" ;; - - -gas | --gas | --ga | --g) - # Obsolete; use --with-gas. - with_gas=yes ;; - - -help | --help | --hel | --he) - # Omit some internal or obsolete options to make the list less imposing. - # This message is too long to be a string in the A/UX 3.1 sh. - cat << EOF -Usage: configure [options] [host] -Options: [defaults in brackets after descriptions] -Configuration: - --cache-file=FILE cache test results in FILE - --help print this message - --no-create do not create output files - --quiet, --silent do not print \`checking...' messages - --version print the version of autoconf that created configure -Directory and file names: - --prefix=PREFIX install architecture-independent files in PREFIX - [$ac_default_prefix] - --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX - [same as prefix] - --bindir=DIR user executables in DIR [EPREFIX/bin] - --sbindir=DIR system admin executables in DIR [EPREFIX/sbin] - --libexecdir=DIR program executables in DIR [EPREFIX/libexec] - --datadir=DIR read-only architecture-independent data in DIR - [PREFIX/share] - --sysconfdir=DIR read-only single-machine data in DIR [PREFIX/etc] - --sharedstatedir=DIR modifiable architecture-independent data in DIR - [PREFIX/com] - --localstatedir=DIR modifiable single-machine data in DIR [PREFIX/var] - --libdir=DIR object code libraries in DIR [EPREFIX/lib] - --includedir=DIR C header files in DIR [PREFIX/include] - --oldincludedir=DIR C header files for non-gcc in DIR [/usr/include] - --infodir=DIR info documentation in DIR [PREFIX/info] - --mandir=DIR man documentation in DIR [PREFIX/man] - --srcdir=DIR find the sources in DIR [configure dir or ..] - --program-prefix=PREFIX prepend PREFIX to installed program names - --program-suffix=SUFFIX append SUFFIX to installed program names - --program-transform-name=PROGRAM - run sed PROGRAM on installed program names -EOF - cat << EOF -Host type: - --build=BUILD configure for building on BUILD [BUILD=HOST] - --host=HOST configure for HOST [guessed] - --target=TARGET configure for TARGET [TARGET=HOST] -Features and packages: - --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) - --enable-FEATURE[=ARG] include FEATURE [ARG=yes] - --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] - --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) - --x-includes=DIR X include files are in DIR - --x-libraries=DIR X library files are in DIR -EOF - if test -n "$ac_help"; then - echo "--enable and --with options recognized:$ac_help" - fi - exit 0 ;; - - -host | --host | --hos | --ho) - ac_prev=host ;; - -host=* | --host=* | --hos=* | --ho=*) - host="$ac_optarg" ;; - - -includedir | --includedir | --includedi | --included | --include \ - | --includ | --inclu | --incl | --inc) - ac_prev=includedir ;; - -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ - | --includ=* | --inclu=* | --incl=* | --inc=*) - includedir="$ac_optarg" ;; - - -infodir | --infodir | --infodi | --infod | --info | --inf) - ac_prev=infodir ;; - -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) - infodir="$ac_optarg" ;; - - -libdir | --libdir | --libdi | --libd) - ac_prev=libdir ;; - -libdir=* | --libdir=* | --libdi=* | --libd=*) - libdir="$ac_optarg" ;; - - -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ - | --libexe | --libex | --libe) - ac_prev=libexecdir ;; - -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ - | --libexe=* | --libex=* | --libe=*) - libexecdir="$ac_optarg" ;; - - -localstatedir | --localstatedir | --localstatedi | --localstated \ - | --localstate | --localstat | --localsta | --localst \ - | --locals | --local | --loca | --loc | --lo) - ac_prev=localstatedir ;; - -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ - | --localstate=* | --localstat=* | --localsta=* | --localst=* \ - | --locals=* | --local=* | --loca=* | --loc=* | --lo=*) - localstatedir="$ac_optarg" ;; - - -mandir | --mandir | --mandi | --mand | --man | --ma | --m) - ac_prev=mandir ;; - -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) - mandir="$ac_optarg" ;; - - -nfp | --nfp | --nf) - # Obsolete; use --without-fp. - with_fp=no ;; - - -no-create | --no-create | --no-creat | --no-crea | --no-cre \ - | --no-cr | --no-c) - no_create=yes ;; - - -no-recursion | --no-recursion | --no-recursio | --no-recursi \ - | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) - no_recursion=yes ;; - - -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ - | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ - | --oldin | --oldi | --old | --ol | --o) - ac_prev=oldincludedir ;; - -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ - | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ - | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) - oldincludedir="$ac_optarg" ;; - - -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) - ac_prev=prefix ;; - -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) - prefix="$ac_optarg" ;; - - -program-prefix | --program-prefix | --program-prefi | --program-pref \ - | --program-pre | --program-pr | --program-p) - ac_prev=program_prefix ;; - -program-prefix=* | --program-prefix=* | --program-prefi=* \ - | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) - program_prefix="$ac_optarg" ;; - - -program-suffix | --program-suffix | --program-suffi | --program-suff \ - | --program-suf | --program-su | --program-s) - ac_prev=program_suffix ;; - -program-suffix=* | --program-suffix=* | --program-suffi=* \ - | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) - program_suffix="$ac_optarg" ;; - - -program-transform-name | --program-transform-name \ - | --program-transform-nam | --program-transform-na \ - | --program-transform-n | --program-transform- \ - | --program-transform | --program-transfor \ - | --program-transfo | --program-transf \ - | --program-trans | --program-tran \ - | --progr-tra | --program-tr | --program-t) - ac_prev=program_transform_name ;; - -program-transform-name=* | --program-transform-name=* \ - | --program-transform-nam=* | --program-transform-na=* \ - | --program-transform-n=* | --program-transform-=* \ - | --program-transform=* | --program-transfor=* \ - | --program-transfo=* | --program-transf=* \ - | --program-trans=* | --program-tran=* \ - | --progr-tra=* | --program-tr=* | --program-t=*) - program_transform_name="$ac_optarg" ;; - - -q | -quiet | --quiet | --quie | --qui | --qu | --q \ - | -silent | --silent | --silen | --sile | --sil) - silent=yes ;; - - -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) - ac_prev=sbindir ;; - -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ - | --sbi=* | --sb=*) - sbindir="$ac_optarg" ;; - - -sharedstatedir | --sharedstatedir | --sharedstatedi \ - | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ - | --sharedst | --shareds | --shared | --share | --shar \ - | --sha | --sh) - ac_prev=sharedstatedir ;; - -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ - | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ - | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ - | --sha=* | --sh=*) - sharedstatedir="$ac_optarg" ;; - - -site | --site | --sit) - ac_prev=site ;; - -site=* | --site=* | --sit=*) - site="$ac_optarg" ;; - - -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) - ac_prev=srcdir ;; - -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) - srcdir="$ac_optarg" ;; - - -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ - | --syscon | --sysco | --sysc | --sys | --sy) - ac_prev=sysconfdir ;; - -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ - | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) - sysconfdir="$ac_optarg" ;; - - -target | --target | --targe | --targ | --tar | --ta | --t) - ac_prev=target ;; - -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) - target="$ac_optarg" ;; - - -v | -verbose | --verbose | --verbos | --verbo | --verb) - verbose=yes ;; - - -version | --version | --versio | --versi | --vers) - echo "configure generated by autoconf version 2.12.1" - exit 0 ;; - - -with-* | --with-*) - ac_package=`echo $ac_option|sed -e 's/-*with-//' -e 's/=.*//'` - # Reject names that are not valid shell variable names. - if test -n "`echo $ac_package| sed 's/[-_a-zA-Z0-9]//g'`"; then - { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; } - fi - ac_package=`echo $ac_package| sed 's/-/_/g'` - case "$ac_option" in - *=*) ;; - *) ac_optarg=yes ;; - esac - eval "with_${ac_package}='$ac_optarg'" ;; - - -without-* | --without-*) - ac_package=`echo $ac_option|sed -e 's/-*without-//'` - # Reject names that are not valid shell variable names. - if test -n "`echo $ac_package| sed 's/[-a-zA-Z0-9_]//g'`"; then - { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; } - fi - ac_package=`echo $ac_package| sed 's/-/_/g'` - eval "with_${ac_package}=no" ;; - - --x) - # Obsolete; use --with-x. - with_x=yes ;; - - -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ - | --x-incl | --x-inc | --x-in | --x-i) - ac_prev=x_includes ;; - -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ - | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) - x_includes="$ac_optarg" ;; - - -x-libraries | --x-libraries | --x-librarie | --x-librari \ - | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) - ac_prev=x_libraries ;; - -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ - | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) - x_libraries="$ac_optarg" ;; - - -*) { echo "configure: error: $ac_option: invalid option; use --help to show usage" 1>&2; exit 1; } - ;; - - *) - if test -n "`echo $ac_option| sed 's/[-a-z0-9.]//g'`"; then - echo "configure: warning: $ac_option: invalid host type" 1>&2 - fi - if test "x$nonopt" != xNONE; then - { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; } - fi - nonopt="$ac_option" - ;; - - esac -done - -if test -n "$ac_prev"; then - { echo "configure: error: missing argument to --`echo $ac_prev | sed 's/_/-/g'`" 1>&2; exit 1; } -fi - -trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15 - -# File descriptor usage: -# 0 standard input -# 1 file creation -# 2 errors and warnings -# 3 some systems may open it to /dev/tty -# 4 used on the Kubota Titan -# 6 checking for... messages and results -# 5 compiler messages saved in config.log -if test "$silent" = yes; then - exec 6>/dev/null -else - exec 6>&1 -fi -exec 5>./config.log - -echo "\ -This file contains any messages produced by compilers while -running configure, to aid debugging if configure makes a mistake. -" 1>&5 - -# Strip out --no-create and --no-recursion so they do not pile up. -# Also quote any args containing shell metacharacters. -ac_configure_args= -for ac_arg -do - case "$ac_arg" in - -no-create | --no-create | --no-creat | --no-crea | --no-cre \ - | --no-cr | --no-c) ;; - -no-recursion | --no-recursion | --no-recursio | --no-recursi \ - | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) ;; - *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?]*) - ac_configure_args="$ac_configure_args '$ac_arg'" ;; - *) ac_configure_args="$ac_configure_args $ac_arg" ;; - esac -done - -# NLS nuisances. -# Only set these to C if already set. These must not be set unconditionally -# because not all systems understand e.g. LANG=C (notably SCO). -# Fixing LC_MESSAGES prevents Solaris sh from translating var values in `set'! -# Non-C LC_CTYPE values break the ctype check. -if test "${LANG+set}" = set; then LANG=C; export LANG; fi -if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi -if test "${LC_MESSAGES+set}" = set; then LC_MESSAGES=C; export LC_MESSAGES; fi -if test "${LC_CTYPE+set}" = set; then LC_CTYPE=C; export LC_CTYPE; fi - -# confdefs.h avoids OS command line length limits that DEFS can exceed. -rm -rf conftest* confdefs.h -# AIX cpp loses on an empty file, so make sure it contains at least a newline. -echo > confdefs.h - -# A filename unique to this package, relative to the directory that -# configure is in, which we can look for to find out if srcdir is correct. -ac_unique_file=a1-selftest.exp - -# Find the source files, if location was not specified. -if test -z "$srcdir"; then - ac_srcdir_defaulted=yes - # Try the directory containing this script, then its parent. - ac_prog=$0 - ac_confdir=`echo $ac_prog|sed 's%/[^/][^/]*$%%'` - test "x$ac_confdir" = "x$ac_prog" && ac_confdir=. - srcdir=$ac_confdir - if test ! -r $srcdir/$ac_unique_file; then - srcdir=.. - fi -else - ac_srcdir_defaulted=no -fi -if test ! -r $srcdir/$ac_unique_file; then - if test "$ac_srcdir_defaulted" = yes; then - { echo "configure: error: can not find sources in $ac_confdir or .." 1>&2; exit 1; } - else - { echo "configure: error: can not find sources in $srcdir" 1>&2; exit 1; } - fi -fi -srcdir=`echo "${srcdir}" | sed 's%\([^/]\)/*$%\1%'` - -# Prefer explicitly selected file to automatically selected ones. -if test -z "$CONFIG_SITE"; then - if test "x$prefix" != xNONE; then - CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site" - else - CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site" - fi -fi -for ac_site_file in $CONFIG_SITE; do - if test -r "$ac_site_file"; then - echo "loading site script $ac_site_file" - . "$ac_site_file" - fi -done - -if test -r "$cache_file"; then - echo "loading cache $cache_file" - . $cache_file -else - echo "creating cache $cache_file" - > $cache_file -fi - -ac_ext=c -# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. -ac_cpp='$CPP $CPPFLAGS' -ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5' -ac_link='${CC-cc} -o conftest $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5' -cross_compiling=$ac_cv_prog_cc_cross - -if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then - # Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu. - if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then - ac_n= ac_c=' -' ac_t=' ' - else - ac_n=-n ac_c= ac_t= - fi -else - ac_n= ac_c='\c' ac_t= -fi - - - -CC=${CC-cc} - -ac_aux_dir= -for ac_dir in `cd $srcdir;pwd`/../../.. $srcdir/`cd $srcdir;pwd`/../../..; do - if test -f $ac_dir/install-sh; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/install-sh -c" - break - elif test -f $ac_dir/install.sh; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/install.sh -c" - break - fi -done -if test -z "$ac_aux_dir"; then - { echo "configure: error: can not find install-sh or install.sh in `cd $srcdir;pwd`/../../.. $srcdir/`cd $srcdir;pwd`/../../.." 1>&2; exit 1; } -fi -ac_config_guess=$ac_aux_dir/config.guess -ac_config_sub=$ac_aux_dir/config.sub -ac_configure=$ac_aux_dir/configure # This should be Cygnus configure. - - -# Do some error checking and defaulting for the host and target type. -# The inputs are: -# configure --host=HOST --target=TARGET --build=BUILD NONOPT -# -# The rules are: -# 1. You are not allowed to specify --host, --target, and nonopt at the -# same time. -# 2. Host defaults to nonopt. -# 3. If nonopt is not specified, then host defaults to the current host, -# as determined by config.guess. -# 4. Target and build default to nonopt. -# 5. If nonopt is not specified, then target and build default to host. - -# The aliases save the names the user supplied, while $host etc. -# will get canonicalized. -case $host---$target---$nonopt in -NONE---*---* | *---NONE---* | *---*---NONE) ;; -*) { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; } ;; -esac - - -# Make sure we can run config.sub. -if ${CONFIG_SHELL-/bin/sh} $ac_config_sub sun4 >/dev/null 2>&1; then : -else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; } -fi - -echo $ac_n "checking host system type""... $ac_c" 1>&6 -echo "configure:573: checking host system type" >&5 - -host_alias=$host -case "$host_alias" in -NONE) - case $nonopt in - NONE) - if host_alias=`${CONFIG_SHELL-/bin/sh} $ac_config_guess`; then : - else { echo "configure: error: can not guess host type; you must specify one" 1>&2; exit 1; } - fi ;; - *) host_alias=$nonopt ;; - esac ;; -esac - -host=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $host_alias` -host_cpu=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` -host_vendor=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` -host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` -echo "$ac_t""$host" 1>&6 - -echo $ac_n "checking target system type""... $ac_c" 1>&6 -echo "configure:594: checking target system type" >&5 - -target_alias=$target -case "$target_alias" in -NONE) - case $nonopt in - NONE) target_alias=$host_alias ;; - *) target_alias=$nonopt ;; - esac ;; -esac - -target=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $target_alias` -target_cpu=`echo $target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` -target_vendor=`echo $target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` -target_os=`echo $target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` -echo "$ac_t""$target" 1>&6 - -echo $ac_n "checking build system type""... $ac_c" 1>&6 -echo "configure:612: checking build system type" >&5 - -build_alias=$build -case "$build_alias" in -NONE) - case $nonopt in - NONE) build_alias=$host_alias ;; - *) build_alias=$nonopt ;; - esac ;; -esac - -build=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $build_alias` -build_cpu=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` -build_vendor=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` -build_os=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` -echo "$ac_t""$build" 1>&6 - -test "$host_alias" != "$target_alias" && - test "$program_prefix$program_suffix$program_transform_name" = \ - NONENONEs,x,x, && - program_prefix=${target_alias}- - - -trap '' 1 2 15 -cat > confcache <<\EOF -# This file is a shell script that caches the results of configure -# tests run on this system so they can be shared between configure -# scripts and configure runs. It is not useful on other systems. -# If it contains results you don't want to keep, you may remove or edit it. -# -# By default, configure uses ./config.cache as the cache file, -# creating it if it does not exist already. You can give configure -# the --cache-file=FILE option to use a different cache file; that is -# what configure does when it calls configure scripts in -# subdirectories, so they share the cache. -# Giving --cache-file=/dev/null disables caching, for debugging configure. -# config.status only pays attention to the cache file if you give it the -# --recheck option to rerun configure. -# -EOF -# The following way of writing the cache mishandles newlines in values, -# but we know of no workaround that is simple, portable, and efficient. -# So, don't put newlines in cache variables' values. -# Ultrix sh set writes to stderr and can't be redirected directly, -# and sets the high bit in the cache file unless we assign to the vars. -(set) 2>&1 | - case `(ac_space=' '; set) 2>&1 | grep ac_space` in - *ac_space=\ *) - # `set' does not quote correctly, so add quotes (double-quote substitution - # turns \\\\ into \\, and sed turns \\ into \). - sed -n \ - -e "s/'/'\\\\''/g" \ - -e "s/^\\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\\)=\\(.*\\)/\\1=\${\\1='\\2'}/p" - ;; - *) - # `set' quotes correctly as required by POSIX, so do not add quotes. - sed -n -e 's/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=${\1=\2}/p' - ;; - esac >> confcache -if cmp -s $cache_file confcache; then - : -else - if test -w $cache_file; then - echo "updating cache $cache_file" - cat confcache > $cache_file - else - echo "not updating unwritable cache $cache_file" - fi -fi -rm -f confcache - -trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15 - -test "x$prefix" = xNONE && prefix=$ac_default_prefix -# Let make expand exec_prefix. -test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' - -# Any assignment to VPATH causes Sun make to only execute -# the first set of double-colon rules, so remove it if not needed. -# If there is a colon in the path, we need to keep it. -if test "x$srcdir" = x.; then - ac_vpsub='/^[ ]*VPATH[ ]*=[^:]*$/d' -fi - -trap 'rm -f $CONFIG_STATUS conftest*; exit 1' 1 2 15 - -# Transform confdefs.h into DEFS. -# Protect against shell expansion while executing Makefile rules. -# Protect against Makefile macro expansion. -cat > conftest.defs <<\EOF -s%#define \([A-Za-z_][A-Za-z0-9_]*\) *\(.*\)%-D\1=\2%g -s%[ `~#$^&*(){}\\|;'"<>?]%\\&%g -s%\[%\\&%g -s%\]%\\&%g -s%\$%$$%g -EOF -DEFS=`sed -f conftest.defs confdefs.h | tr '\012' ' '` -rm -f conftest.defs - - -# Without the "./", some shells look in PATH for config.status. -: ${CONFIG_STATUS=./config.status} - -echo creating $CONFIG_STATUS -rm -f $CONFIG_STATUS -cat > $CONFIG_STATUS <<EOF -#! /bin/sh -# Generated automatically by configure. -# Run this file to recreate the current configuration. -# This directory was configured as follows, -# on host `(hostname || uname -n) 2>/dev/null | sed 1q`: -# -# $0 $ac_configure_args -# -# Compiler output produced by configure, useful for debugging -# configure, is in ./config.log if it exists. - -ac_cs_usage="Usage: $CONFIG_STATUS [--recheck] [--version] [--help]" -for ac_option -do - case "\$ac_option" in - -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) - echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion" - exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;; - -version | --version | --versio | --versi | --vers | --ver | --ve | --v) - echo "$CONFIG_STATUS generated by autoconf version 2.12.1" - exit 0 ;; - -help | --help | --hel | --he | --h) - echo "\$ac_cs_usage"; exit 0 ;; - *) echo "\$ac_cs_usage"; exit 1 ;; - esac -done - -ac_given_srcdir=$srcdir - -trap 'rm -fr `echo "Makefile" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15 -EOF -cat >> $CONFIG_STATUS <<EOF - -# Protect against being on the right side of a sed subst in config.status. -sed 's/%@/@@/; s/@%/@@/; s/%g\$/@g/; /@g\$/s/[\\\\&%]/\\\\&/g; - s/@@/%@/; s/@@/@%/; s/@g\$/%g/' > conftest.subs <<\\CEOF -$ac_vpsub -$extrasub -s%@SHELL@%$SHELL%g -s%@CFLAGS@%$CFLAGS%g -s%@CPPFLAGS@%$CPPFLAGS%g -s%@CXXFLAGS@%$CXXFLAGS%g -s%@DEFS@%$DEFS%g -s%@LDFLAGS@%$LDFLAGS%g -s%@LIBS@%$LIBS%g -s%@exec_prefix@%$exec_prefix%g -s%@prefix@%$prefix%g -s%@program_transform_name@%$program_transform_name%g -s%@bindir@%$bindir%g -s%@sbindir@%$sbindir%g -s%@libexecdir@%$libexecdir%g -s%@datadir@%$datadir%g -s%@sysconfdir@%$sysconfdir%g -s%@sharedstatedir@%$sharedstatedir%g -s%@localstatedir@%$localstatedir%g -s%@libdir@%$libdir%g -s%@includedir@%$includedir%g -s%@oldincludedir@%$oldincludedir%g -s%@infodir@%$infodir%g -s%@mandir@%$mandir%g -s%@CC@%$CC%g -s%@host@%$host%g -s%@host_alias@%$host_alias%g -s%@host_cpu@%$host_cpu%g -s%@host_vendor@%$host_vendor%g -s%@host_os@%$host_os%g -s%@target@%$target%g -s%@target_alias@%$target_alias%g -s%@target_cpu@%$target_cpu%g -s%@target_vendor@%$target_vendor%g -s%@target_os@%$target_os%g -s%@build@%$build%g -s%@build_alias@%$build_alias%g -s%@build_cpu@%$build_cpu%g -s%@build_vendor@%$build_vendor%g -s%@build_os@%$build_os%g - -CEOF -EOF - -cat >> $CONFIG_STATUS <<\EOF - -# Split the substitutions into bite-sized pieces for seds with -# small command number limits, like on Digital OSF/1 and HP-UX. -ac_max_sed_cmds=90 # Maximum number of lines to put in a sed script. -ac_file=1 # Number of current file. -ac_beg=1 # First line for current file. -ac_end=$ac_max_sed_cmds # Line after last line for current file. -ac_more_lines=: -ac_sed_cmds="" -while $ac_more_lines; do - if test $ac_beg -gt 1; then - sed "1,${ac_beg}d; ${ac_end}q" conftest.subs > conftest.s$ac_file - else - sed "${ac_end}q" conftest.subs > conftest.s$ac_file - fi - if test ! -s conftest.s$ac_file; then - ac_more_lines=false - rm -f conftest.s$ac_file - else - if test -z "$ac_sed_cmds"; then - ac_sed_cmds="sed -f conftest.s$ac_file" - else - ac_sed_cmds="$ac_sed_cmds | sed -f conftest.s$ac_file" - fi - ac_file=`expr $ac_file + 1` - ac_beg=$ac_end - ac_end=`expr $ac_end + $ac_max_sed_cmds` - fi -done -if test -z "$ac_sed_cmds"; then - ac_sed_cmds=cat -fi -EOF - -cat >> $CONFIG_STATUS <<EOF - -CONFIG_FILES=\${CONFIG_FILES-"Makefile"} -EOF -cat >> $CONFIG_STATUS <<\EOF -for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then - # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in". - case "$ac_file" in - *:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'` - ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;; - *) ac_file_in="${ac_file}.in" ;; - esac - - # Adjust a relative srcdir, top_srcdir, and INSTALL for subdirectories. - - # Remove last slash and all that follows it. Not all systems have dirname. - ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'` - if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then - # The file is in a subdirectory. - test ! -d "$ac_dir" && mkdir "$ac_dir" - ac_dir_suffix="/`echo $ac_dir|sed 's%^\./%%'`" - # A "../" for each directory in $ac_dir_suffix. - ac_dots=`echo $ac_dir_suffix|sed 's%/[^/]*%../%g'` - else - ac_dir_suffix= ac_dots= - fi - - case "$ac_given_srcdir" in - .) srcdir=. - if test -z "$ac_dots"; then top_srcdir=. - else top_srcdir=`echo $ac_dots|sed 's%/$%%'`; fi ;; - /*) srcdir="$ac_given_srcdir$ac_dir_suffix"; top_srcdir="$ac_given_srcdir" ;; - *) # Relative path. - srcdir="$ac_dots$ac_given_srcdir$ac_dir_suffix" - top_srcdir="$ac_dots$ac_given_srcdir" ;; - esac - - - echo creating "$ac_file" - rm -f "$ac_file" - configure_input="Generated automatically from `echo $ac_file_in|sed 's%.*/%%'` by configure." - case "$ac_file" in - *Makefile*) ac_comsub="1i\\ -# $configure_input" ;; - *) ac_comsub= ;; - esac - - ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"` - sed -e "$ac_comsub -s%@configure_input@%$configure_input%g -s%@srcdir@%$srcdir%g -s%@top_srcdir@%$top_srcdir%g -" $ac_file_inputs | (eval "$ac_sed_cmds") > $ac_file -fi; done -rm -f conftest.s* - -EOF -cat >> $CONFIG_STATUS <<EOF - -EOF -cat >> $CONFIG_STATUS <<\EOF - -exit 0 -EOF -chmod +x $CONFIG_STATUS -rm -fr confdefs* $ac_clean_files -test "$no_create" = yes || ${CONFIG_SHELL-/bin/sh} $CONFIG_STATUS || exit 1 - diff --git a/gdb/testsuite/gdb.base/configure.in b/gdb/testsuite/gdb.base/configure.in deleted file mode 100644 index e5bcb19539b..00000000000 --- a/gdb/testsuite/gdb.base/configure.in +++ /dev/null @@ -1,15 +0,0 @@ -dnl Process this file file with autoconf to produce a configure script. -dnl This file is a shell script fragment that supplies the information -dnl necessary to tailor a template configure script into the configure -dnl script appropriate for this directory. For more information, check -dnl any existing configure script. - -AC_PREREQ(2.5) -AC_INIT(a1-selftest.exp) - -CC=${CC-cc} -AC_SUBST(CC) -AC_CONFIG_AUX_DIR(`cd $srcdir;pwd`/../../..) -AC_CANONICAL_SYSTEM - -AC_OUTPUT(Makefile) diff --git a/gdb/testsuite/gdb.base/constvars.c b/gdb/testsuite/gdb.base/constvars.c deleted file mode 100644 index 4fe9dadef20..00000000000 --- a/gdb/testsuite/gdb.base/constvars.c +++ /dev/null @@ -1,178 +0,0 @@ -void marker1 (void) -{ - -} - -// misc. function params - -int qux1 (const char cc, const char & ccr, const char * ccp, char * const cpc) -{ - return 33; -} - -int qux2 (volatile unsigned char vuc, const volatile int cvi, - volatile short & vsr, volatile long * vlp, float * volatile fpv, - const volatile signed char * const volatile cvscpcv) -{ - return 400; -} - - -int main(void) -{ - char lave = 'B'; - unsigned char lavish = 10; - short lax = 20; - unsigned short lecherous = 30; - long lechery = 40; - unsigned long lectern = 50; - float leeway = 60; - double legacy = 70; - signed char lemonade = 35; - - const char laconic = 'A'; - const unsigned char laggard = 1; - const short lagoon = 2; - const unsigned short laity = 3; - const long lambent = 4; - const unsigned long laminated = 5; - const float lampoon = 6; - const double languid = 7; - - // pointers to constant variables - const char *legend = &lave; - const unsigned char *legerdemain = &lavish; - const short *leniency = &lax; - const unsigned short *leonine = &lecherous; - const long *lesion = &lechery; - const unsigned long *lethal = &lectern; - const float *lethargic = &leeway; - const double *levity = &legacy; - - // constant pointers to constant variables - const char *const lewd = &laconic; - const unsigned char *const lexicographer = &laggard; - const short *const lexicon = &lagoon; - const unsigned short *const liaison = &laity; - const long *const libation = &lambent; - const unsigned long *const libelous = &laminated; - const float *const libertine = &lampoon; - const double *const libidinous = &languid; - - // this is the same as const char * legend .... - char const *languish = &laconic; - unsigned char const *languor = &laggard; - short const *lank = &lagoon; - unsigned short const *lapidary = &laity; - long const *larceny = &lambent; - unsigned long const *largess = &laminated; - float const *lascivious = &lampoon; - double const *lassitude = &languid; - - // constant pointers to variable - char *const lamprey = &lave; - unsigned char *const lariat = &lavish; - short *const laudanum = &lax; - unsigned short *const lecithin = &lecherous; - long *const leviathan = &lechery; - unsigned long *const libretto = &lectern; - float *const lissome = &leeway; - double *const locust = &legacy; - - // volatile variables - - volatile char vox = 'X'; - volatile unsigned char victuals = 13; - volatile short vixen = 200; - volatile unsigned short vitriol = 300; - volatile long vellum = 1000; - volatile unsigned long valve = 2000; - volatile float vacuity = 3.0; - volatile double vertigo = 10.3; - - // pointers to volatile variables - - volatile char * vampire = &vox; - volatile unsigned char * viper = &victuals; - volatile short * vigour = &vixen; - volatile unsigned short * vapour = &vitriol; - volatile long * ventricle = &vellum; - volatile unsigned long * vigintillion = &valve; - volatile float * vocation = &vacuity; - volatile double * veracity = &vertigo; - - // volatile pointers to volatile variables - - volatile char * volatile vapidity = &vox; - volatile unsigned char * volatile velocity = &victuals; - volatile short * volatile veneer = &vixen; - volatile unsigned short * volatile video = &vitriol; - volatile long * volatile vacuum = &vellum; - volatile unsigned long * volatile veniality = &valve; - volatile float * volatile vitality = &vacuity; - volatile double * volatile voracity = &vertigo; - - // const volatile vars - - const volatile char victor = 'Y'; - const volatile unsigned char vicar = 11; - - // pointers to const volatiles - - const volatile char * victory = &victor; - const volatile unsigned char * vicarage = &vicar; - - // const pointers to volatile vars - - volatile char * const vein = &vox; - volatile unsigned char * const vogue = &victuals; - - // const pointers to const volatile vars - - const volatile char * const cavern = &victor; - const volatile unsigned char * const coverlet = &vicar; - - // volatile pointers to const vars - - const char * volatile caveat = &laconic; - const unsigned char * volatile covenant = &laggard; - - // volatile pointers to const volatile vars - - const volatile char * volatile vizier = &victor; - const volatile unsigned char * volatile vanadium = &vicar; - - // const volatile pointers - - char * const volatile vane = &lave; - unsigned char * const volatile veldt = &lavish; - - // const volatile pointers to const vars - - const char * const volatile cove = &laconic; - const unsigned char * const volatile cavity = &laggard; - - // const volatile pointers to volatile vars - - volatile char * const volatile vagus = &vox; - volatile unsigned char * const volatile vagrancy = &victuals; - - // const volatile pointers to const volatile - - const volatile char * const volatile vagary = &victor; - const volatile unsigned char * const volatile vendor = &vicar; - - // misc. references - - const char & radiation = laconic; - volatile signed char & remuneration = lemonade; - - #ifdef usestubs - set_debug_traps(); - breakpoint(); - #endif - marker1(); - - - return 0; -} diff --git a/gdb/testsuite/gdb.base/constvars.exp b/gdb/testsuite/gdb.base/constvars.exp deleted file mode 100644 index e5874879cf3..00000000000 --- a/gdb/testsuite/gdb.base/constvars.exp +++ /dev/null @@ -1,963 +0,0 @@ -# Copyright (C) 1997, 1998 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ - -# Please email any bugs, comments, and/or additions to this file to: -# bug-gdb@prep.ai.mit.edu - -# written by Elena Zannoni (elz@apollo.hp.com) -# -# This file is part of the gdb testsuite -# -# tests for const variables -# const pointers to vars -# pointers to const variables -# const pointers to const vars -# with mixed types - -if $tracelevel then { - strace $tracelevel - } - -# -# test running programs -# -set prms_id 0 -set bug_id 0 - -set testfile "constvars" -set srcfile ${testfile}.c -set binfile ${objdir}/${subdir}/${testfile} - -if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug c++}] != "" } { - gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail." -} - - -gdb_exit -gdb_start -gdb_reinitialize_dir $srcdir/$subdir -gdb_load ${binfile} - - -# -# set it up at a breakpoint so we can play with the variable values -# -if ![runto_main] then { - perror "couldn't run to breakpoint" - continue -} - -send_gdb "break marker1\n" ; gdb_expect -re ".*$gdb_prompt $" - - send_gdb "cont\n" - gdb_expect { - -re "Break.* marker1 \\(\\) at .*:$decimal.*$gdb_prompt $" { - send_gdb "up\n" - gdb_expect { - -re ".*$gdb_prompt $" {} - timeout { fail "up from marker1" } - } - } - -re "Break.* marker1__.* \\(\\) at .*:$decimal.*$gdb_prompt $" { - fail "continue to marker1 (demangling)" - send_gdb "up\n" - gdb_expect { - -re ".*$gdb_prompt $" {} - timeout { fail "up from marker1" } - } - } - -re "$gdb_prompt $" { fail "continue to marker1" } - timeout { fail "(timeout) continue to marker1" } - } - -# test function parameters -send_gdb "ptype qux1\n" -gdb_expect { - -re "type = int \\(const char, const char &, const char \\*, char \\* const\\).*$gdb_prompt $" { - pass "ptype qux1" - } - -re ".*$gdb_prompt $" { fail "ptype qux1" } - timeout { fail "(timeout) ptype qux1" } - } - -# test vars and pointers - -send_gdb "print lave\n" -gdb_expect { - -re ".\[0-9\]* = 66 \'B\'.*$gdb_prompt $" { - pass "print value of lave" - } - -re ".*$gdb_prompt $" { fail "print value of lave" } - timeout { fail "(timeout) print value of lave" } - } - - -send_gdb "ptype lave\n" -gdb_expect { - -re "type = char.*$gdb_prompt $" { pass "ptype lave" } - -re ".*$gdb_prompt $" { fail "ptype lave" } - timeout { fail "(timeout) ptype lave" } -} - - -send_gdb "print lavish\n" -gdb_expect { - -re ".\[0-9\]* = 10 \'\\\\n\'.*$gdb_prompt $" { - pass "print value of lavish" - } - -re ".*$gdb_prompt $" { fail "print value of lavish" } - timeout { fail "(timeout) print value of lavish" } - } - - -send_gdb "ptype lavish\n" -gdb_expect { - -re "type = unsigned char.*$gdb_prompt $" { pass "ptype lavish" } - -re ".*$gdb_prompt $" { fail "ptype lavish " } - timeout { fail "(timeout) ptype lavish " } -} - - -send_gdb "print lax\n" -gdb_expect { - -re ".\[0-9\]* = 20.*$gdb_prompt $" { - pass "print value of lax" - } - -re ".*$gdb_prompt $" { fail "print value of lax" } - timeout { fail "(timeout) print value of lax" } - } - - -send_gdb "ptype lax\n" -gdb_expect { - -re "type = short.*$gdb_prompt $" { pass "ptype lax" } - -re ".*$gdb_prompt $" { fail "ptype lax" } - timeout { fail "(timeout) ptype lax" } -} - - -send_gdb "print lecherous\n" -gdb_expect { - -re ".\[0-9\]* = 30.*$gdb_prompt $" { - pass "print value of lecherous" - } - -re ".*$gdb_prompt $" { fail "print value of lecherous" } - timeout { fail "(timeout) print value of lecherous" } - } - - -send_gdb "ptype lecherous\n" -gdb_expect { - -re "type = unsigned short.*$gdb_prompt $" { pass "ptype lecherous" } - -re "type = short unsigned.*$gdb_prompt $" { pass "ptype lecherous" } - -re ".*$gdb_prompt $" { fail "ptype lecherous" } - timeout { fail "(timeout) ptype lecherous" } -} - - -send_gdb "print lechery\n" -gdb_expect { - -re ".\[0-9\]* = 40.*$gdb_prompt $" { - pass "print value of lechery" - } - -re ".*$gdb_prompt $" { fail "print value of lechery" } - timeout { fail "(timeout) print value of lechery" } - } - - -send_gdb "ptype lechery\n" -gdb_expect { - -re "type = long.*$gdb_prompt $" { pass "ptype lechery" } - -re ".*$gdb_prompt $" { fail "ptype lechery" } - timeout { fail "(timeout) ptype lechery" } -} - - -send_gdb "print lectern\n" -gdb_expect { - -re ".\[0-9\]* = 50.*$gdb_prompt $" { - pass "print value of lectern" - } - -re ".*$gdb_prompt $" { fail "print value of lectern" } - timeout { fail "(timeout) print value of lectern " } - } - - -send_gdb "ptype lectern\n" -gdb_expect { - -re "type = unsigned long.*$gdb_prompt $" { pass "ptype lectern" } - -re "type = long unsigned.*$gdb_prompt $" { pass "ptype lectern" } - -re ".*$gdb_prompt $" { fail "ptype lectern" } - timeout { fail "(timeout) ptype lectern" } -} - - -send_gdb "print leeway\n" -gdb_expect { - -re ".\[0-9\]* = 60.*$gdb_prompt $" { - pass "print value of leeway" - } - -re ".*$gdb_prompt $" { fail "print value of leeway" } - timeout { fail "(timeout) print value of leeway" } - } - - -send_gdb "ptype leeway\n" -gdb_expect { - -re "type = float.*$gdb_prompt $" { pass "ptype leeway" } - -re ".*$gdb_prompt $" { fail "ptype leeway" } - timeout { fail "(timeout) ptype leeway" } -} - - -send_gdb "print legacy\n" -gdb_expect { - -re ".\[0-9\]* = 70.*$gdb_prompt $" { - pass "print value of legacy" - } - -re ".*$gdb_prompt $" { fail "print value of legacy" } - timeout { fail "(timeout) print value of legacy" } - } - - -send_gdb "ptype legacy\n" -gdb_expect { - -re "type = double.*$gdb_prompt $" { pass "ptype legacy" } - -re ".*$gdb_prompt $" { fail "ptype legacy" } - timeout { fail "(timeout) ptype legacy" } -} - - -send_gdb "print laconic\n" -gdb_expect { - -re ".\[0-9\]* = 65 \'A\'.*$gdb_prompt $" { - pass "print value of laconic" - } - -re ".*$gdb_prompt $" { fail "print value of laconic" } - timeout { fail "(timeout) print value of laconic" } - } - - -send_gdb "ptype laconic\n" -gdb_expect { - -re "type = const char.*$gdb_prompt $" { pass "ptype laconic" } - -re ".*$gdb_prompt $" { fail "ptype laconic" } - timeout { fail "(timeout) ptype laconic" } -} - - -send_gdb "print laggard\n" -gdb_expect { - -re ".\[0-9\]* = 1 \'.001\'.*$gdb_prompt $" { - pass "print value of laggard" - } - -re ".*$gdb_prompt $" { fail "print value of laggard" } - timeout { fail "(timeout) print value of laggard" } - } - - -send_gdb "ptype laggard\n" -gdb_expect { - -re "type = const unsigned char.*$gdb_prompt $" { pass "ptype laggard" } - -re ".*$gdb_prompt $" { fail "ptype laggard" } - timeout { fail "(timeout) ptype laggard" } -} - - -send_gdb "print lagoon\n" -gdb_expect { - -re ".\[0-9\]* = 2.*$gdb_prompt $" { - pass "print value of lagoon" - } - -re ".*$gdb_prompt $" { fail "print value of lagoon" } - timeout { fail "(timeout) print value of lagoon" } - } - - -send_gdb "ptype lagoon\n" -gdb_expect { - -re "type = const short.*$gdb_prompt $" { pass "ptype lagoon" } - -re ".*$gdb_prompt $" { fail "ptype lagoon" } - timeout { fail "(timeout) ptype lagoon" } -} - - -send_gdb "print laity\n" -gdb_expect { - -re ".\[0-9\]* = 3.*$gdb_prompt $" { - pass "print value of laity" - } - -re ".*$gdb_prompt $" { fail "print value of laity" } - timeout { fail "(timeout) print value of laity" } - } - - -send_gdb "ptype laity\n" -gdb_expect { - -re "type = const unsigned short.*$gdb_prompt $" { pass "ptype laity" } - -re ".*$gdb_prompt $" { fail "ptype laity" } - timeout { fail "(timeout) ptype "laity } -} - - -send_gdb "print lambent\n" -gdb_expect { - -re ".\[0-9\]* = 4.*$gdb_prompt $" { - pass "print value of lambent" - } - -re ".*$gdb_prompt $" { fail "print value of lambent" } - timeout { fail "(timeout) print value of lambent" } - } - - -send_gdb "ptype lambent\n" -gdb_expect { - -re "type = const long.*$gdb_prompt $" { pass "ptype lambent" } - -re ".*$gdb_prompt $" { fail "ptype lambent" } - timeout { fail "(timeout) ptype lambent" } -} - - -send_gdb "print laminated\n" -gdb_expect { - -re ".\[0-9\]* = 5.*$gdb_prompt $" { - pass "print value of laminated" - } - -re ".*$gdb_prompt $" { fail "print value of laminated" } - timeout { fail "(timeout) print value of laminated" } - } - - -send_gdb "ptype laminated\n" -gdb_expect { - -re "type = const unsigned long.*$gdb_prompt $" { pass "ptype laminated" } - -re ".*$gdb_prompt $" { fail "ptype laminated" } - timeout { fail "(timeout) ptype laminated" } -} - - -send_gdb "print lampoon\n" -gdb_expect { - -re ".\[0-9\]* = 6.*$gdb_prompt $" { - pass "print value of lampoon" - } - -re ".*$gdb_prompt $" { fail "print value of lampoon" } - timeout { fail "(timeout) print value of lampoon" } - } - - -send_gdb "ptype lampoon\n" -gdb_expect { - -re "type = const float.*$gdb_prompt $" { pass "ptype lampoon" } - -re ".*$gdb_prompt $" { fail "ptype lampoon" } - timeout { fail "(timeout) ptype lampoon" } -} - - -send_gdb "print languid\n" -gdb_expect { - -re ".\[0-9\]* = 7.*$gdb_prompt $" { - pass "print value of languid" - } - -re ".*$gdb_prompt $" { fail "print value of languid" } - timeout { fail "(timeout) print value of languid" } - } - - -send_gdb "ptype languid\n" -gdb_expect { - -re "type = const double.*$gdb_prompt $" { pass "ptype languid" } - -re ".*$gdb_prompt $" { fail "ptype languid" } - timeout { fail "(timeout) ptype languid" } -} - - -send_gdb "print *legend\n" -gdb_expect { - -re ".\[0-9\]* = 66 \'B\'.*$gdb_prompt $" { - pass "print value of *legend" - } - -re ".*$gdb_prompt $" { fail "print value of *legend" } - timeout { fail "(timeout) print value of *legend" } - } - - -send_gdb "ptype legend\n" -gdb_expect { - -re "type = const char \\*.*$gdb_prompt $" { pass "ptype legend" } - -re ".*$gdb_prompt $" { fail "ptype legend" } - timeout { fail "(timeout) ptype legend" } -} - - -send_gdb "print *legerdemain\n" -gdb_expect { - -re ".\[0-9\]* = 10 \'\\\\n\'.*$gdb_prompt $" { - pass "print value of *legerdemain" - } - -re ".*$gdb_prompt $" { fail "print value of *legerdemain" } - timeout { fail "(timeout) print value of *legerdemain" } - } - - -send_gdb "ptype legerdemain\n" -gdb_expect { - -re "type = const unsigned char \\*.*$gdb_prompt $" { pass "ptype legerdemain" } - -re ".*$gdb_prompt $" { fail "ptype legerdemain" } - timeout { fail "(timeout) ptype legerdemain" } -} - - -send_gdb "print *leniency\n" -gdb_expect { - -re ".\[0-9\]* = 20.*$gdb_prompt $" { - pass "print value of *leniency" - } - -re ".*$gdb_prompt $" { fail "print value of *leniency" } - timeout { fail "(timeout) print value of *leniency" } - } - - -send_gdb "ptype leniency\n" -gdb_expect { - -re "type = const short \\*.*$gdb_prompt $" { pass "ptype leniency" } - -re ".*$gdb_prompt $" { fail "ptype leniency " } - timeout { fail "(timeout) ptype leniency" } -} - - -send_gdb "print *leonine\n" -gdb_expect { - -re ".\[0-9\]* = 30.*$gdb_prompt $" { - pass "print value of *leonine" - } - -re ".*$gdb_prompt $" { fail "print value of *leonine" } - timeout { fail "(timeout) print value of *leonine" } - } - - -send_gdb "ptype leonine\n" -gdb_expect { - -re "type = const unsigned short \\*.*$gdb_prompt $" { pass "ptype leonine" } - -re ".*$gdb_prompt $" { fail "ptype leonine" } - timeout { fail "(timeout) ptype leonine" } -} - - -send_gdb "print *lesion\n" -gdb_expect { - -re ".\[0-9\]* = 40.*$gdb_prompt $" { - pass "print value of *lesion" - } - -re ".*$gdb_prompt $" { fail "print value of *lesion" } - timeout { fail "(timeout) print value of *lesion" } - } - - -send_gdb "ptype lesion\n" -gdb_expect { - -re "type = const long \\*.*$gdb_prompt $" { pass "ptype lesion" } - -re ".*$gdb_prompt $" { fail "ptype lesion" } - timeout { fail "(timeout) ptype lesion" } -} - - -send_gdb "print *lethal\n" -gdb_expect { - -re ".\[0-9\]* = 50.*$gdb_prompt $" { - pass "print value of *lethal" - } - -re ".*$gdb_prompt $" { fail "print value of *lethal" } - timeout { fail "(timeout) print value of *lethal" } - } - - -send_gdb "ptype lethal\n" -gdb_expect { - -re "type = const unsigned long \\*.*$gdb_prompt $" { pass "ptype lethal" } - -re ".*$gdb_prompt $" { fail "ptype lethal" } - timeout { fail "(timeout) ptype lethal" } -} - - -send_gdb "print *lethargic\n" -gdb_expect { - -re ".\[0-9\]* = 60.*$gdb_prompt $" { - pass "print value of *lethargic" - } - -re ".*$gdb_prompt $" { fail "print value of *lethargic" } - timeout { fail "(timeout) print value of *lethargic" } - } - - -send_gdb "ptype lethargic\n" -gdb_expect { - -re "type = const float \\*.*$gdb_prompt $" { pass "ptype lethargic" } - -re ".*$gdb_prompt $" { fail "ptype lethargic" } - timeout { fail "(timeout) ptype lethargic" } -} - - -send_gdb "print *levity\n" -gdb_expect { - -re ".\[0-9\]* = 70.*$gdb_prompt $" { - pass "print value of *levity" - } - -re ".*$gdb_prompt $" { fail "print value of *levity" } - timeout { fail "(timeout) print value of *levity" } - } - - -send_gdb "ptype levity\n" -gdb_expect { - -re "type = const double \\*.*$gdb_prompt $" { pass "ptype levity" } - -re ".*$gdb_prompt $" { fail "ptype levity" } - timeout { fail "(timeout) ptype levity" } -} - - -send_gdb "print *lewd\n" -gdb_expect { - -re ".\[0-9\]* = 65 \'A\'.*$gdb_prompt $" { - pass "print value of *lewd" - } - -re ".*$gdb_prompt $" { fail "print value of *lewd" } - timeout { fail "(timeout) print value of *lewd" } - } - - -send_gdb "ptype lewd\n" -gdb_expect { - -re "type = const char \\* const.*$gdb_prompt $" { pass "ptype lewd" } - -re ".*$gdb_prompt $" { fail "ptype lewd" } - timeout { fail "(timeout) ptype lewd" } -} - - -send_gdb "print *lexicographer\n" -gdb_expect { - -re ".\[0-9\]* = 1 \'.001\'.*$gdb_prompt $" { - pass "print value of *lexicographer" - } - -re ".*$gdb_prompt $" { fail "print value of *lexicographer" } - timeout { fail "(timeout) print value of *lexicographer" } - } - - -send_gdb "ptype lexicographer\n" -gdb_expect { - -re "type = const unsigned char \\* const.*$gdb_prompt $" { pass "ptype lexicographer" } - -re ".*$gdb_prompt $" { fail "ptype lexicographer" } - timeout { fail "(timeout) ptype lexicographer" } -} - - -send_gdb "print *lexicon\n" -gdb_expect { - -re ".\[0-9\]* = 2.*$gdb_prompt $" { - pass "print value of *lexicon" - } - -re ".*$gdb_prompt $" { fail "print value of *lexicon" } - timeout { fail "(timeout) print value of *lexicon" } - } - - -send_gdb "ptype lexicon\n" -gdb_expect { - -re "type = const short \\* const.*$gdb_prompt $" { pass "ptype lexicon" } - -re ".*$gdb_prompt $" { fail "ptype lexicon" } - timeout { fail "(timeout) ptype lexicon" } -} - - -send_gdb "print *liaison\n" -gdb_expect { - -re ".\[0-9\]* = 3.*$gdb_prompt $" { - pass "print value of *liaison" - } - -re ".*$gdb_prompt $" { fail "print value of *liaison" } - timeout { fail "(timeout) print value of *liaison" } - } - - -send_gdb "ptype liaison\n" -gdb_expect { - -re "type = const unsigned short \\* const.*$gdb_prompt $" { pass "ptype liaison" } - -re ".*$gdb_prompt $" { fail "ptype liaison" } - timeout { fail "(timeout) ptype liaison" } -} - - -send_gdb "print *libation\n" -gdb_expect { - -re ".\[0-9\]* = 4.*$gdb_prompt $" { - pass "print value of *libation" - } - -re ".*$gdb_prompt $" { fail "print value of *libation" } - timeout { fail "(timeout) print value of *libation" } - } - - -send_gdb "ptype libation\n" -gdb_expect { - -re "type = const long \\* const.*$gdb_prompt $" { pass "ptype libation" } - -re ".*$gdb_prompt $" { fail "ptype libation" } - timeout { fail "(timeout) ptype libation" } -} - - -send_gdb "print *libelous\n" -gdb_expect { - -re ".\[0-9\]* = 5.*$gdb_prompt $" { - pass "print value of *libelous" - } - -re ".*$gdb_prompt $" { fail "print value of *libelous" } - timeout { fail "(timeout) print value of *libelous" } - } - - -send_gdb "ptype libelous\n" -gdb_expect { - -re "type = const unsigned long \\* const.*$gdb_prompt $" { pass "ptype libelous" } - -re ".*$gdb_prompt $" { fail "ptype libelous" } - timeout { fail "(timeout) ptype libelous" } -} - - -send_gdb "print *libertine\n" -gdb_expect { - -re ".\[0-9\]* = 6.*$gdb_prompt $" { - pass "print value of *libertine" - } - -re ".*$gdb_prompt $" { fail "print value of *libertine" } - timeout { fail "(timeout) print value of *libertine" } - } - - -send_gdb "ptype libertine\n" -gdb_expect { - -re "type = const float \\* const.*$gdb_prompt $" { pass "ptype libertine" } - -re ".*$gdb_prompt $" { fail "ptype libertine" } - timeout { fail "(timeout) ptype libertine" } -} - - -send_gdb "print *libidinous\n" -gdb_expect { - -re ".\[0-9\]* = 7.*$gdb_prompt $" { - pass "print value of *libidinous" - } - -re ".*$gdb_prompt $" { fail "print value of *libidinous" } - timeout { fail "(timeout) print value of *libidinous" } - } - - -send_gdb "ptype libidinous\n" -gdb_expect { - -re "type = const double \\* const.*$gdb_prompt $" { pass "ptype libidinous" } - -re ".*$gdb_prompt $" { fail "ptype libidinous" } - timeout { fail "(timeout) ptype libidinous" } -} - - -send_gdb "print *languish\n" -gdb_expect { - -re ".\[0-9\]* = 65 \'A\'.*$gdb_prompt $" { - pass "print value of *languish" - } - -re ".*$gdb_prompt $" { fail "print value of *languish" } - timeout { fail "(timeout) print value of *languish" } - } - - -send_gdb "ptype languish\n" -gdb_expect { - -re "type = const char \\*.*$gdb_prompt $" { pass "ptype languish" } - -re ".*$gdb_prompt $" { fail "ptype languish" } - timeout { fail "(timeout) ptype languish" } -} - - -send_gdb "print *languor\n" -gdb_expect { - -re ".\[0-9\]* = 1 \'.001\'.*$gdb_prompt $" { - pass "print value of *languor" - } - -re ".*$gdb_prompt $" { fail "print value of *languor" } - timeout { fail "(timeout) print value of *languor" } - } - - -send_gdb "ptype languor\n" -gdb_expect { - -re "type = const unsigned char \\*.*$gdb_prompt $" { pass "ptype languor" } - -re ".*$gdb_prompt $" { fail "ptype languor" } - timeout { fail "(timeout) ptype languor" } -} - - -send_gdb "print *lank\n" -gdb_expect { - -re ".\[0-9\]* = 2.*.*$gdb_prompt $" { - pass "print value of *lank" - } - -re ".*$gdb_prompt $" { fail "print value of *lank" } - timeout { fail "(timeout) print value of *lank" } - } - - -send_gdb "ptype lank\n" -gdb_expect { - -re "type = const short \\*.*$gdb_prompt $" { pass "ptype lank" } - -re ".*$gdb_prompt $" { fail "ptype lank" } - timeout { fail "(timeout) ptype lank" } -} - - -send_gdb "print *lapidary\n" -gdb_expect { - -re ".\[0-9\]* = 3.*$gdb_prompt $" { - pass "print value of *lapidary" - } - -re ".*$gdb_prompt $" { fail "print value of *lapidary" } - timeout { fail "(timeout) print value of *lapidary" } - } - - -send_gdb "ptype lapidary\n" -gdb_expect { - -re "type = const unsigned short \\*.*$gdb_prompt $" { pass "ptype lapidary" } - -re ".*$gdb_prompt $" { fail "ptype lapidary" } - timeout { fail "(timeout) ptype lapidary" } -} - - -send_gdb "print *larceny\n" -gdb_expect { - -re ".\[0-9\]* = 4.*$gdb_prompt $" { - pass "print value of *larceny" - } - -re ".*$gdb_prompt $" { fail "print value of *larceny" } - timeout { fail "(timeout) print value of *larceny" } - } - - -send_gdb "ptype larceny\n" -gdb_expect { - -re "type = const long \\*.*$gdb_prompt $" { pass "ptype larceny" } - -re ".*$gdb_prompt $" { fail "ptype larceny" } - timeout { fail "(timeout) ptype larceny" } -} - - -send_gdb "print *largess\n" -gdb_expect { - -re ".\[0-9\]* = 5.*$gdb_prompt $" { - pass "print value of *largess" - } - -re ".*$gdb_prompt $" { fail "print value of *largess" } - timeout { fail "(timeout) print value of *largess" } - } - - -send_gdb "ptype largess\n" -gdb_expect { - -re "type = const unsigned long \\*.*$gdb_prompt $" { pass "ptype largess" } - -re ".*$gdb_prompt $" { fail "ptype largess" } - timeout { fail "(timeout) ptype largess" } -} - - -send_gdb "print *lascivious\n" -gdb_expect { - -re ".\[0-9\]* = 6.*$gdb_prompt $" { - pass "print value of *lascivious" - } - -re ".*$gdb_prompt $" { fail "print value of *lascivious" } - timeout { fail "(timeout) print value of *lascivious" } - } - - -send_gdb "ptype lascivious\n" -gdb_expect { - -re "type = const float \\*.*$gdb_prompt $" { pass "ptype lascivious" } - -re ".*$gdb_prompt $" { fail "ptype lascivious" } - timeout { fail "(timeout) ptype lascivious" } -} - - -send_gdb "print *lassitude\n" -gdb_expect { - -re ".\[0-9\]* = 7.*$gdb_prompt $" { - pass "print value of *lassitude" - } - -re ".*$gdb_prompt $" { fail "print value of *lassitude" } - timeout { fail "(timeout) print value of *lassitude" } - } - - -send_gdb "ptype lassitude\n" -gdb_expect { - -re "type = const double \\*.*$gdb_prompt $" { pass "ptype lassitude" } - -re ".*$gdb_prompt $" { fail "ptype lassitude" } - timeout { fail "(timeout) ptype lassitude" } -} - - -send_gdb "print *lamprey\n" -gdb_expect { - -re ".\[0-9\]* = 66 \'B\'.*$gdb_prompt $" { - pass "print value of *lamprey" - } - -re ".*$gdb_prompt $" { fail "print value of *lamprey" } - timeout { fail "(timeout) print value of *lamprey" } - } - - -send_gdb "ptype lamprey\n" -gdb_expect { - -re "type = char \\* const.*$gdb_prompt $" { pass "ptype lamprey" } - -re ".*$gdb_prompt $" { fail "ptype lamprey" } - timeout { fail "(timeout) ptype lamprey" } -} - -send_gdb "print *lariat\n" -gdb_expect { - -re ".\[0-9\]* = 10 \'\\\\n\'.*$gdb_prompt $" { - pass "print value of *lariat" - } - -re ".*$gdb_prompt $" { fail "print value of *lariat" } - timeout { fail "(timeout) print value of *lariat" } - } - - -send_gdb "ptype lariat\n" -gdb_expect { - -re "type = unsigned char \\* const.*$gdb_prompt $" { pass "ptype lariat" } - -re ".*$gdb_prompt $" { fail "ptype lariat" } - timeout { fail "(timeout) ptype lariat" } -} - -send_gdb "print *laudanum\n" -gdb_expect { - -re ".\[0-9\]* = 20.*$gdb_prompt $" { - pass "print value of *laudanum" - } - -re ".*$gdb_prompt $" { fail "print value of *laudanum" } - timeout { fail "(timeout) print value of *laudanum" } - } - - -send_gdb "ptype laudanum\n" -gdb_expect { - -re "type = short \\* const.*$gdb_prompt $" { pass "ptype laudanum" } - -re ".*$gdb_prompt $" { fail "ptype laudanum" } - timeout { fail "(timeout) ptype laudanum" } -} - -send_gdb "print *lecithin\n" -gdb_expect { - -re ".\[0-9\]* = 30.*$gdb_prompt $" { - pass "print value of *lecithin" - } - -re ".*$gdb_prompt $" { fail "print value of *lecithin" } - timeout { fail "(timeout) print value of *lecithin" } - } - - -send_gdb "ptype lecithin\n" -gdb_expect { - -re "type = unsigned short \\* const.*$gdb_prompt $" { pass "ptype lecithin" } - -re ".*$gdb_prompt $" { fail "ptype lecithin" } - timeout { fail "(timeout) ptype lecithin" } -} - -send_gdb "print *leviathan\n" -gdb_expect { - -re ".\[0-9\]* = 40.*$gdb_prompt $" { - pass "print value of *leviathan" - } - -re ".*$gdb_prompt $" { fail "print value of *leviathan" } - timeout { fail "(timeout) print value of *leviathan" } - } - - -send_gdb "ptype leviathan\n" -gdb_expect { - -re "type = long \\* const.*$gdb_prompt $" { pass "ptype leviathan" } - -re ".*$gdb_prompt $" { fail "ptype leviathan" } - timeout { fail "(timeout) ptype leviathan" } -} - -send_gdb "print *libretto\n" -gdb_expect { - -re ".\[0-9\]* = 50.*$gdb_prompt $" { - pass "print value of *libretto" - } - -re ".*$gdb_prompt $" { fail "print value of *libretto" } - timeout { fail "(timeout) print value of *libretto" } - } - - -send_gdb "ptype libretto\n" -gdb_expect { - -re "type = unsigned long \\* const.*$gdb_prompt $" { pass "ptype libretto" } - -re ".*$gdb_prompt $" { fail "ptype libretto" } - timeout { fail "(timeout) ptype libretto" } -} - - -send_gdb "print *lissome\n" -gdb_expect { - -re ".\[0-9\]* = 60.*$gdb_prompt $" { - pass "print value of *lissome" - } - -re ".*$gdb_prompt $" { fail "print value of *lissome" } - timeout { fail "(timeout) print value of *lissome" } - } - - -send_gdb "ptype lissome\n" -gdb_expect { - -re "type = float \\* const.*$gdb_prompt $" { pass "ptype lissome" } - -re ".*$gdb_prompt $" { fail "ptype lissome" } - timeout { fail "(timeout) ptype lissome" } -} - -send_gdb "print *locust\n" -gdb_expect { - -re ".\[0-9\]* = 70.*$gdb_prompt $" { - pass "print value of *locust" - } - -re ".*$gdb_prompt $" { fail "print value of *locust" } - timeout { fail "(timeout) print value of *locust" } - } - - -send_gdb "ptype locust\n" -gdb_expect { - -re "type = double \\* const.*$gdb_prompt $" { pass "ptype locust" } - -re ".*$gdb_prompt $" { fail "ptype locust" } - timeout { fail "(timeout) ptype locust" } -} - -send_gdb "ptype radiation\n" -gdb_expect { - -re "type = const char &.*$gdb_prompt $" { pass "ptype radiation" } - -re ".*$gdb_prompt $" { fail "ptype radiation" } - timeout { fail "(timeout) ptype radiation" } -} - diff --git a/gdb/testsuite/gdb.base/corefile.exp b/gdb/testsuite/gdb.base/corefile.exp deleted file mode 100644 index b4a3b2c2c29..00000000000 --- a/gdb/testsuite/gdb.base/corefile.exp +++ /dev/null @@ -1,227 +0,0 @@ -# Copyright (C) 1992, 1993, 1994, 1995, 1996 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ - -# Please email any bugs, comments, and/or additions to this file to: -# bug-gdb@prep.ai.mit.edu - -# This file was written by Fred Fish. (fnf@cygnus.com) - -if $tracelevel then { - strace $tracelevel -} - -set prms_id 0 -set bug_id 0 - -# are we on a target board -if ![isnative] then { - return -} - -set testfile "coremaker" -set srcfile ${testfile}.c -set binfile ${objdir}/${subdir}/${testfile} -if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug}] != "" } { - perror "Couldn't compile ${srcfile}" - return -1 -} - -# Create and source the file that provides information about the compiler -# used to compile the test case. -if [get_compiler_info ${binfile}] { - return -1; -} - -# Create a core file named "corefile" rather than just "core", to -# avoid problems with sys admin types that like to regularly prune all -# files named "core" from the system. -# -# Arbitrarily try setting the core size limit to "unlimited" since -# this does not hurt on systems where the command does not work and -# allows us to generate a core on systems where it does. -# -# Some systems append "core" to the name of the program; others append -# the name of the program to "core". -set found 0 -catch "system \"(cd ${objdir}/${subdir}; ulimit -c unlimited; ${binfile}; true) >/dev/null 2>&1\"" -# remote_exec host "${binfile}" -foreach i "${objdir}/${subdir}/core ${objdir}/${subdir}/core.coremaker.c ${binfile}.core" { - if [remote_file build exists $i] { - remote_exec build "mv $i ${objdir}/${subdir}/corefile" - set found 1 - } -} -if { $found == 0 } { - # The braindamaged HPUX shell quits after the ulimit -c above - # without executing ${binfile}. So we try again without the - # ulimit here if we didn't find a core file above. - # Oh, I should mention that any "braindamaged" non-Unix system has - # the same problem. I like the cd bit too, it's really neat'n stuff. - catch "system \"(cd ${objdir}/${subdir}; ${binfile}; true) >/dev/null 2>&1\"" - foreach i "${objdir}/${subdir}/core ${objdir}/${subdir}/core.coremaker.c ${binfile}.core" { - if [remote_file build exists $i] { - remote_exec build "mv $i ${objdir}/${subdir}/corefile" - set found 1 - } - } - - if { $found == 0 } { - warning "can't generate a core file - core tests suppressed - check ulimit -c" - return 0 - } -} - -# -# Test that we can simply startup with a "-core=corefile" command line arg -# and recognize that the core file is a valid, usable core file. -# To do this, we must shutdown the currently running gdb and restart -# with the -core args. We can't use gdb_start because it looks for -# the first gdb prompt, and the message we are looking for occurs -# before the first prompt. Also, we can't include GDBFLAGS because -# if it is empty, this confuses gdb with an empty argument that it -# grumbles about (said grumbling currently being ignored in gdb_start). -# **FIXME** -# -# Another problem is that on some systems (solaris for example), there -# is apparently a limit on the length of a fully specified path to -# the coremaker executable, at about 80 chars. For this case, consider -# it a pass, but note that the program name is bad. - -gdb_exit -if $verbose>1 then { - send_user "Spawning $GDB -nw $GDBFLAGS -core=$objdir/$subdir/corefile\n" -} - -set oldtimeout $timeout -set timeout [expr "$timeout + 60"] -verbose "Timeout is now $timeout seconds" 2 -eval "spawn $GDB -nw $GDBFLAGS -core=$objdir/$subdir/corefile" -expect { - -re "Core was generated by .*coremaker.*\r\n\#0 .*\(\).*\r\n$prompt $" { - pass "args: -core=corefile" - } - -re "Core was generated by .*\r\n\#0 .*\(\).*\r\n$prompt $" { - pass "args: -core=corefile (with bad program name)" - } - -re ".*registers from core file: File in wrong format.* $" { - fail "args: -core=corefile (could not read registers from core file)" - } - -re ".*$prompt $" { fail "args: -core=corefile" } - timeout { fail "(timeout) starting with -core" } -} - - -# -# Test that startup with both an executable file and -core argument. -# See previous comments above, they are still applicable. -# - -close; - -if $verbose>1 then { - send_user "Spawning $GDB -nw $GDBFLAGS $binfile -core=$objdir/$subdir/corefile\n" -} - - -eval "spawn $GDB -nw $GDBFLAGS $binfile -core=$objdir/$subdir/corefile"; -expect { - -re "Core was generated by .*coremaker.*\r\n\#0 .*\(\).*\r\n$prompt $" { - pass "args: execfile -core=corefile" - } - -re "Core was generated by .*\r\n\#0 .*\(\).*\r\n$prompt $" { - pass "args: execfile -core=corefile (with bad program name)" - } - -re ".*registers from core file: File in wrong format.* $" { - fail "args: execfile -core=corefile (could not read registers from core file)" - } - -re ".*$prompt $" { fail "args: execfile -core=corefile" } - timeout { fail "(timeout) starting with -core" } -} -set timeout $oldtimeout -verbose "Timeout is now $timeout seconds" 2 - -close; - -# Now restart normally. - -gdb_start -gdb_reinitialize_dir $srcdir/$subdir -gdb_load ${binfile} - -# Test basic corefile recognition via core-file command. - -send_gdb "core-file $objdir/$subdir/corefile\n" -expect { - -re "Core was generated by .*coremaker.*\r\n\#0 .*\(\).*\r\n$prompt $" { - pass "core-file command" - } - -re "Core was generated by .*\r\n\#0 .*\(\).*\r\n$prompt $" { - pass "core-file command (with bad program name)" - } - -re ".*registers from core file: File in wrong format.* $" { - fail "core-file command (could not read registers from core file)" - } - -re ".*$prompt $" { fail "core-file command" } - timeout { fail "(timeout) core-file command" } -} - -# Test correct mapping of corefile sections by printing some variables. - -gdb_test "print coremaker_data" "\\\$$decimal = 202" -gdb_test "print coremaker_bss" "\\\$$decimal = 10" -gdb_test "print coremaker_ro" "\\\$$decimal = 201" - -setup_xfail "i*86-*-sysv4*" "i*86-pc-linux*-gnu" "m68*-*-hpux*" -if {!$gcc_compiled} then { setup_xfail "hppa*-*-hpux*" } -gdb_test "print func2::coremaker_local" "\\\$$decimal = {0, 1, 2, 3, 4}" - -# Somehow we better test the ability to read the registers out of the core -# file correctly. I don't think the other tests do this. - -# Haven't investigated this xfail -setup_xfail "m68k-*-hpux*" "i*86-*-sysv4*" "i*86-pc-linux*-gnu" -gdb_test "bt" "abort.*func2.*func1.*main.*" "backtrace in corefile.exp" - -# Test ability to read mmap'd data - -gdb_test "x/8bd buf1" ".*:.*0.*1.*2.*3.*4.*5.*6.*7" "accessing original mmap data in core file" -setup_xfail "*-*-sunos*" "*-*-ultrix*" "*-*-aix*" -send_gdb "x/8bd buf2\n" -expect { - -re ".*:.*0.*1.*2.*3.*4.*5.*6.*7.*$prompt $" { - pass "accessing mmapped data in core file" - } - -re "0x\[f\]*:.*Cannot access memory at address 0x\[f\]*.*$prompt $" { - fail "accessing mmapped data (mapping failed at runtime)" - } - -re "0x.*:.*Cannot access memory at address 0x.*$prompt $" { - fail "accessing mmapped data (mapping address not found in core file)" - } - -re ".*$prompt $" { - fail "accessing mmapped data (incorrect data found in core file)" - } - timeout { - fail "accessing mmapped data (timeout)" - } -} - -# test reinit_frame_cache - -gdb_load ${binfile} -setup_xfail "*-*-*" -gdb_test "up" "#\[0-9\]* *\[0-9xa-fH'\]* in .* \\(\\)" "up in corefile.exp" - -gdb_test "core" "No core file now." diff --git a/gdb/testsuite/gdb.base/coremaker.c b/gdb/testsuite/gdb.base/coremaker.c deleted file mode 100644 index 79418bea4ed..00000000000 --- a/gdb/testsuite/gdb.base/coremaker.c +++ /dev/null @@ -1,21 +0,0 @@ -/* Simple little program that just generates a core dump from inside some - nested function calls. */ - - -void -func2 () -{ - abort (); -} - -void -func1 () -{ - func2 (); -} - -main () -{ - func1 (); -} - diff --git a/gdb/testsuite/gdb.base/crossload.exp b/gdb/testsuite/gdb.base/crossload.exp deleted file mode 100644 index 26bb7a1b0b2..00000000000 --- a/gdb/testsuite/gdb.base/crossload.exp +++ /dev/null @@ -1,380 +0,0 @@ -# Copyright (C) 1992, 1997 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - -# Please email any bugs, comments, and/or additions to this file to: -# bug-gdb@prep.ai.mit.edu - -# This file was written by Fred Fish. (fnf@cygnus.com) -# Rob Savoye changed it to use gdb_test (rob@cygnus.com) - -if $tracelevel then { - strace $tracelevel -} - -set prms_id 0 -set bug_id 0 - -# FIXME: The configure.in for this test should look for --with-targets -# and deal accordingly. Until that has been done, skip the whole thing. -# With a minimal bfd (the default), few if any of these tests work. - -verbose "FIXME: all the crossload tests ignored" -return - -foreach i "m68k-elf m68k-aout m68k-aout2 mips-ecoff i486-elf sparc-aout i860-elf sparc-elf" { - remote_exec build "cd ${objdir}/${subdir} ; uudecode ${srcdir}/${subdir}/$i.u " -} - -# FIXME: These tests don't work for the i960, because -# bfd/config/i960-bout.mt sets SELECT_VECS. I could use setup_xfail -# for each test, but rebooting the board between each one takes a long -# time so I'm just punting the whole file. -if [istarget "i960-*-*"] then { - if $verbose>1 then { - warning "FIXME: crossload test case doesn't run on the i960." - } - continue -} - -# FIXME: These tests don't work for the a29k, because SELECT_VECS is -# used when compiling bfd. It would be nice if there were some better -# way of detecting this case. -if [istarget "a29k-*-*"] then { - if $verbose>1 then { - warning "FIXME: crossload test case doesn't run on the a29k." - } - continue -} - -# Test if gdb can automatically determine the bfd format of an -# executable and read it's symbols. - -proc bfddefault {} { - global GDB - global GDBFLAGS - global gdb_prompt - global objdir - global subdir - global binfile - global bfdformat - global file_loaded - - gdb_unload - set file_loaded 0 - send_gdb "file $objdir/$subdir/$binfile\n" - gdb_expect { - -re "A program is being debugged already. Kill it.*y or n." { - send_gdb "y\n" - exp_continue - } - -re "Reading symbols from $objdir/$subdir/$binfile\[.\]+done\..*$gdb_prompt $" { - pass "$binfile ($bfdformat) auto format" - } - -re "Reading symbols from $objdir/$subdir/$binfile\[.\]+.no debugging symbols found.\[.\]+done\..*$gdb_prompt $" { - pass "$binfile ($bfdformat) auto format (but no symbols found)" - } - -re "File format not recognized.*$gdb_prompt $" { - fail "$binfile ($bfdformat) auto format (format not recognized)" - return - } - -re "File format is ambiguous.*$gdb_prompt $" { - fail "$binfile ($bfdformat) auto format (format is ambiguous)" - return - } - -re "$gdb_prompt $" { - fail "$binfile ($bfdformat) auto format" - return - } - timeout { - fail "(timeout) $binfile ($bfdformat) auto format" - return - } - } - - if [gdb_test "info target" ".*file type $bfdformat" ""]==0 then { - set file_loaded 1 - } else { - fail "$binfile ($bfdformat) wrong format found" - } -} - -# Test if gdb can read symbols from an executable when the bfd format -# is explicitly set via the environment variable GNUTARGET. - -proc bfdexplicit {} { - global GDB - global GDBFLAGS - global gdb_prompt - global subdir - global objdir - global det_file - global binfile - global bfdformat - global file_loaded - - gdb_unload - set file_loaded 0 - - # Once GDB 4.10 (the last to lack `set gnutarget') is forgotten, - # change this to use set gnutarget. - if [gdb_test "set env GNUTARGET=$bfdformat" "" ""]!=0 then { - fail "setting GNUTARGET=$bfdformat in environment" - return - } - - send_gdb "file $objdir/$subdir/$binfile\n" - gdb_expect { - -re "A program is being debugged already. Kill it.*y or n." { - send_gdb "y\n" - exp_continue - } - -re "Reading symbols from $objdir/$subdir/$binfile\[.\]+done\..*$gdb_prompt $" { - pass "$binfile ($bfdformat) explicit format" - } - -re "Invalid target.*$gdb_prompt $" { - fail "$binfile ($bfdformat) explicit format (invalid target)" - return - } - -re "$gdb_prompt $" { - fail "$binfile ($bfdformat) explicit format" - return - } - timeout { - fail "(timeout) $binfile ($bfdformat) explicit format" - return - } - } - - set file_loaded 1 -} - -proc test_ptype_functions {} { - global gdb_prompt - global binfile - global bfdformat - global det_file - send_gdb "ptype main\n" - gdb_expect { - -re "type = int \[)(\]+\r\n$gdb_prompt $" {} - timeout { fail "(timeout) $binfile ($bfdformat) function main" ; return } - } - - # set up a list of lists of command and patterns - set command [list { "ptype v_char_func" "type =(\ unsigned\ |\ signed\ |\ )char \[)(\]+" }\ - { "ptype v_short_func" "type = (short|short int) \[)(\]+" } \ - { "ptype v_int_func" "type = int \[)(\]+" } \ - { "ptype v_long_func" "type = (long|long int|int) \[)(\]+" } \ - { "ptype v_float_func" "type = float \[)(\]+" } \ - { "ptype v_double_func" "type = double \[)(\]+" } ] - - foreach i $command { - if [gdb_test [lindex $i 0] [lindex $i 1] ""] then { - fail "$binfile ($bfdformat) \"[lindex $i 0]\" function types" - return - } - } - pass "$binfile ($bfdformat) ptype function types" -} - -# Note that plain chars can be either signed or unsigned. - -proc test_ptype_plain_types {} { - global gdb_prompt - global binfile - global bfdformat - - # set up a list of lists of command and patterns - set command [list { "ptype v_char" "type =(\ unsigned\ |\ signed\ |\ )char" }\ - { "ptype v_short" "type = short" } \ - { "ptype v_int" "type = int" } \ - { "ptype v_long" "type = long" } \ - { "ptype v_float" "type = float" } \ - { "ptype v_double" "type = double" } ] - - foreach i $command { - if [gdb_test [lindex $i 0] [lindex $i 1] ""] then { - fail "$binfile ($bfdformat) \"[lindex $i 0]\" plain C types" - return - } - } - pass "$binfile ($bfdformat) ptype plain C types" -} - -# Note that if compiled with pre-ANSI compilers, the "signed" keywords are -# defined away and the variables default to plain types. So accept either. - -proc test_ptype_signed_types {} { - global gdb_prompt - global binfile - global bfdformat - global det_file - - # set up a list of lists of command and patterns - set command [list { "ptype v_signed_char" "type =(\ signed\ |\ )char" }\ - { "ptype v_signed_short" "type =(\ signed\ |\ )short" } \ - { "ptype v_signed_int" "type =(\ signed\ |\ )int" } \ - { "ptype v_signed_long" "type =(\ signed\ |\ )long" } ] - - foreach i $command { - if [gdb_test [lindex $i 0] [lindex $i 1] ""] then { - if [expr [string match "ecoff-bigmips" $bfdformat]+[string match "ptype v_signed_char" [lindex $i 0]]]==2 then { - setup_xfail "*-*-*" - } - fail "$binfile ($bfdformat) \"[lindex $i 0]\" signed C types" - return - } - } - pass "$binfile ($bfdformat) ptype signed C types" -} - -proc test_ptype_unsigned_types {} { - global gdb_prompt - global binfile - global bfdformat - global det_file - - # set up a list of lists of command and patterns - set command [list { "ptype v_unsigned_char" "type = unsigned char" }\ - { "ptype v_unsigned_short" \ - "type = (unsigned short|short unsigned int)" } \ - { "ptype v_unsigned_int" "type = unsigned int" } \ - { "ptype v_unsigned_long" \ - "type = (unsigned long|long unsigned int)" } ] - - foreach i $command { - if [gdb_test [lindex $i 0] [lindex $i 1] ""] then { - fail "$binfile ($bfdformat) \"[lindex $i 0]\" unsigned C types" - return - } - } - pass "$binfile ($bfdformat) ptype unsigned C types" -} - -# Note that plain chars can be either signed or unsigned. - -proc test_ptype_array_types {} { - global gdb_prompt - global binfile - global bfdformat - global det_file - - # set up a list of lists of command and patterns - set command [list { "ptype v_char_array" "type =(\ unsigned\ |\ signed\ |\ )char \\\[2\\\]" }\ - { "ptype v_short_array" \ - "type = (short|short int) \\\[2\\\]" } \ - { "ptype v_int_array" "type = int \\\[2\\\]" } \ - { "ptype v_long_array" "type = (long|long int) \\\[2\\\]" } \ - { "ptype v_float_array" "type = float \\\[2\\\]" } \ - { "ptype v_double_array" "type = double \\\[2\\\]" } ] - - foreach i $command { - if [gdb_test [lindex $i 0] [lindex $i 1] ""] then { - fail "$binfile ($bfdformat) \"[lindex $i 0]\" C array types" - return - } - } - pass "$binfile ($bfdformat) ptype C array types" -} - -proc test_ptype_pointer_types {} { - global gdb_prompt - global binfile - global bfdformat - global det_file - - # set up a list of lists of command and patterns - set command [list { "ptype v_char_pointer" "type =(\ unsigned\ |\ signed\ |\ )char \*" }\ - { "ptype v_short_pointer" "type = (short|short int) \*" } \ - { "ptype v_int_pointer" "type = int \*" } \ - { "ptype v_long_pointer" "type = (long|long int) \*" } \ - { "ptype v_float_pointer" "type = float \*" } \ - { "ptype v_double_pointer" "type = double \*" } ] - - foreach i $command { - if [gdb_test [lindex $i 0] [lindex $i 1] ""] then { - fail "$binfile ($bfdformat) \"[lindex $i 0]\" C pointer types" - return - } - } - pass "$binfile ($bfdformat) ptype C pointer types" -} - -proc loadandtest { args } { - global verbose - global GDB - global GDBFLAGS - global gdb_prompt - global subdir - global objdir - global binfile - global bfdformat - global file_loaded - - set binfile [ lindex $args 0 ] - set bfdformat [ lindex $args 1 ] - set fixme [ lindex $args 2 ] - - if ![file exists $objdir/$subdir/$binfile] then { - perror "$objdir/$subdir/$binfile does not exist" - return 0 - } - gdb_exit - gdb_start - if $fixme then { setup_xfail "*-*-*" } - bfddefault - if $fixme then { setup_xfail "*-*-*" } - if [string match $bfdformat "elf-big"] then { - if [string match $binfile "i860-elf"] then { - setup_xfail "*-*-*" - } - } - bfdexplicit - if $file_loaded==1 then { - test_ptype_functions - if $fixme then { setup_xfail "*-*-*" } - test_ptype_plain_types - if $fixme then { setup_xfail "*-*-*" } - test_ptype_signed_types - if $fixme then { setup_xfail "*-*-*" } - test_ptype_unsigned_types - if $fixme then { setup_xfail "*-*-*" } - test_ptype_array_types - if $fixme then { setup_xfail "*-*-*" } - test_ptype_pointer_types - } -} - -# Run tests for each of the test executables. -# If the third argument is 1, the tests will be expected to fail. -# We should extract the information about available tests and bfd formats -# from the makefile or some other control file (FIXME). - -loadandtest m68k-elf "elf32-m68k" 0 - -# I'm getting an XPASS for explicit format on this one -loadandtest m68k-aout "a.out-newsos3" 1 - -loadandtest m68k-aout2 "a.out-sunos-big" 0 -loadandtest mips-ecoff "ecoff-bigmips" 0 -loadandtest i486-elf "elf32-i386" 0 -loadandtest sparc-aout "a.out-sunos-big" 0 -loadandtest sparc-elf "elf32-sparc" 0 - -#FIXME: i860 support is unlikely to be working in the near future -# so suppress this test until it is working. -fnf -#loadandtest i860-elf "elf32-i860" 0 - -gdb_test "set gnutarget auto" "" diff --git a/gdb/testsuite/gdb.base/d10vovly.c b/gdb/testsuite/gdb.base/d10vovly.c deleted file mode 100644 index 9bbdbf8f3fd..00000000000 --- a/gdb/testsuite/gdb.base/d10vovly.c +++ /dev/null @@ -1,207 +0,0 @@ - -/* - * Ovlymgr.c -- Runtime Overlay Manager for the Mitsubishi D10V - */ - -#include "ovlymgr.h" - -/* Local functions and data: */ - -extern unsigned long _ovly_table[][4], _novlys; -enum ovly_index { VMA, SIZE, LMA, MAPPED }; -enum ovly_direction { IN, OUT }; - -static void D10VCopy (unsigned long dst, unsigned long src, long size); - -/* OverlayLoad: - * Copy the overlay into its runtime region, - * and mark the overlay as "mapped". - */ - -void -OverlayLoad (int ovlyno) -{ - int i; - - if (ovlyno < 0 || ovlyno >= _novlys) - exit (-1); /* fail, bad ovly number */ - - if (_ovly_table[ovlyno][MAPPED]) - return; /* this overlay already mapped -- nothing to do! */ - - for (i = 0; i < _novlys; i++) - if (i == ovlyno) - _ovly_table[i][MAPPED] = 1; /* this one now mapped */ - else if (_ovly_table[i][VMA] == _ovly_table[ovlyno][VMA]) - _ovly_table[i][MAPPED] = 0; /* this one now un-mapped */ - - /* copy overlay using D10V DMAP register */ - D10VCopy (_ovly_table[ovlyno][VMA], _ovly_table[ovlyno][LMA], - _ovly_table[ovlyno][SIZE]); -} - -/* OverlayUnload: - * Copy the overlay back into its "load" region. - * Does NOT mark overlay as "unmapped", therefore may be called - * more than once for the same mapped overlay. - */ - -void -OverlayUnload (int ovlyno) -{ - if (ovlyno < 0 || ovlyno >= _novlys) - exit (-1); /* fail, bad ovly number */ - - if (!_ovly_table[ovlyno][MAPPED]) - exit (-1); /* error, can't copy out a segment that's not "in" */ - - D10VCopy (_ovly_table[ovlyno][LMA], _ovly_table[ovlyno][VMA], - _ovly_table[ovlyno][SIZE]); -} - -/* D10VCopy: - * Copy a region of memory from src to dest. - * Like memcpy, but can copy anywhere in Universal, Data or Instruction memory. - */ - -#define IMAP0 (*(int *)(0xff00)) -#define IMAP1 (*(int *)(0xff02)) -#define DMAP (*(int *)(0xff04)) - -static void -D10VTranslate (unsigned long logical, - short *dmap, - unsigned long **addr) -{ - unsigned long physical; - unsigned long seg; - unsigned long off; - int err = 0; - /* to access data, we use the following mapping - 0x00xxxxxx: Logical data address segment (DMAP translated memory) - 0x01xxxxxx: Logical instruction address segment (IMAP translated memory) - 0x10xxxxxx: Physical data memory segment (On-chip data memory) - 0x11xxxxxx: Physical instruction memory segment (On-chip insn memory) - 0x12xxxxxx: Phisical unified memory segment (Unified memory) - */ - - /* Addresses must be correctly aligned */ - if (logical & (sizeof (**addr) - 1)) - exit (-1); - - /* If the address is in one of the two logical address spaces, it is - first translated into a physical address */ - seg = (logical >> 24); - off = (logical & 0xffffffL); - switch (seg) - { - case 0x00: /* in logical data address segment */ - if (off <= 0x7fffL) - physical = (0x10L << 24) + off; - else - /* Logical address out side of on-chip segment, not - supported */ - exit (-1); - break; - case 0x01: /* in logical instruction address segment */ - { - short map; - if (off <= 0x1ffffL) - map = IMAP0; - else if (off <= 0x3ffffL) - map = IMAP1; - else - /* Logical address outside of IMAP[01] segment, not - supported */ - exit (-1); - if (map & 0x1000L) - { - /* Instruction memory */ - physical = (0x11L << 24) | off; - } - else - { - /* Unified memory */ - physical = ((map & 0x7fL) << 17) + (off & 0x1ffffL); - if (physical > 0xffffffL) - /* Address outside of unified address segment */ - exit (-1); - physical |= (0x12L << 24); - } - break; - } - case 0x10: - case 0x11: - case 0x12: - physical = logical; - break; - default: - exit (-1); /* error */ - } - - seg = (physical >> 24); - off = (physical & 0xffffffL); - switch (seg) - { - case 0x10: /* dst is a 15 bit offset into the on-chip memory */ - *dmap = 0; - *addr = (long *) (0x0000 + ((int)off & 0x7fff)); - break; - case 0x11: /* dst is an 18-bit offset into the on-chip - instruction memory */ - *dmap = 0x1000L | ((off & 0x3ffffL) >> 14); - *addr = (long *) (0x8000 + ((int)off & 0x3fff)); - break; - case 0x12: /* dst is a 24-bit offset into unified memory */ - *dmap = off >> 14; - *addr = (long *) (0x8000 + ((int)off & 0x3fff)); - break; - default: - exit (-1); /* error */ - } - -#if 0 - printf ("D10VTranslate: logical = %08lx, dmap = %04x, addr = %04x\n", - logical, *dmap, *addr); -#endif -} - -static void -D10VCopy (unsigned long dst, unsigned long src, long size) -{ - unsigned long *s, *d, tmp; - short dmap_src, dmap_dst; - short dmap_save; - -#if 0 - printf ("D10VCopy: dst = %08lx, src = %08lx, size = %ld\n", - dst, src, size); -#endif - - /* all section sizes should by multiples of 4 bytes */ - dmap_save = DMAP; - - D10VTranslate (src, &dmap_src, &s); - D10VTranslate (dst, &dmap_dst, &d); - - while (size > 0) - { - /* NB: Transfer 4 byte (long) quantites, problems occure - when only two bytes are transfered */ - DMAP = dmap_src; - tmp = *s; - DMAP = dmap_dst; - *d = tmp; - d++; - s++; - size -= sizeof (tmp); - src += sizeof (tmp); - dst += sizeof (tmp); - if ((src & 0x3fff) == 0) - D10VTranslate (src, &dmap_src, &s); - if ((dst & 0x3fff) == 0) - D10VTranslate (dst, &dmap_dst, &d); - } - DMAP = dmap_save; -} - diff --git a/gdb/testsuite/gdb.base/default.exp b/gdb/testsuite/gdb.base/default.exp deleted file mode 100644 index bc03c1ca781..00000000000 --- a/gdb/testsuite/gdb.base/default.exp +++ /dev/null @@ -1,793 +0,0 @@ -# Copyright (C) 1988, 1990, 1991, 1992, 1994, 1997, 1998 -# Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - -# Please email any bugs, comments, and/or additions to this file to: -# bug-gdb@prep.ai.mit.edu - -# Start with a fresh gdb - -gdb_exit -gdb_start - -set timeout 60 - -# -# test default actions of gdb commands -# - -#load_lib gdb.exp - -gdb_test "add-symbol-file" "add-symbol-file takes a file name and an address" "add-symbol-file" - -setup_xfail "mips-idt-*" -send_gdb "attach\n" -gdb_expect { - -re "Argument required .(process-id|program) to attach.*$gdb_prompt $"\ - { pass "attach" } - -re "You can't do that when your target is `None'.*$gdb_prompt $"\ - { pass "attach" } - -re "Don't know how to attach. Try \"help target\"..*$gdb_prompt $"\ - { pass "attach" } - -re "Kill it. .y or n." { - send_gdb "y\n" - exp_continue - } - -re "$gdb_prompt $" { fail "attach" } - timeout { fail "(timeout) attach" } -} - -# FIXME: attach kills the udi connection -if { [istarget "a29k-*-udi"] } { - gdb_exit - gdb_start -} - -if ![target_info exists use_gdb_stub] { - gdb_test "break" "No default breakpoint address now." "break" - foreach i "b br bre brea" { - gdb_test $i "No default breakpoint address now." "break \"$i\" abbreviation" - } - - - setup_xfail "mips-idt-*" "a29k-*-udi" - gdb_test "backtrace" "No stack." - foreach i "bt ba bac" { - setup_xfail "mips-idt-*" "a29k-*-udi" - gdb_test $i "No stack." "backtrace \"$i\" abbreviation" - } -} else { - warning "Skipping backtrace and break tests because of GDB stub." -} - -# This works on the MIPS IDT board, but confuses future tests. -if ![istarget "mips-idt-*"] then { - setup_xfail "a29k-*-udi" - gdb_test "continue" "The program is not being run." "continue" - setup_xfail "a29k-*-udi" - gdb_test "c" "The program is not being run." "continue \"c\" abbreviation" -} - -# FIXME: continue kills the udi connection -if [istarget "a29k-*-udi"] then { - gdb_exit - gdb_start -} - -#test call -gdb_test "call" "The history is empty..*" "call" - - -#test catch -gdb_test "catch" "Catch requires an event name..*" "catch" - -#test cd -gdb_test "cd" "Argument required .new working directory.*" "cd" - -#test clear -gdb_test "clear" "No source file specified..*" "clear" - -#test commands -gdb_test "commands" "No breakpoint number 0..*" "commands" - -#test condition -gdb_test "condition" "Argument required .breakpoint number.*" "condition" - -#test core-file -gdb_test "core-file" "No core file now.|GDB can't read core files on this machine." "core-file" -#test delete "d" abbreviation -gdb_test "d" "" "delete \"d\" abbreviation" -#test delete -gdb_test "delete" "" "delete" -#test define -gdb_test "define" "Argument required \[(\]name of command to define\[)\]." "define" -#test delete breakpoints -gdb_test "delete breakpoints" "" "delete breakpoints" -#test delete display -# FIXME -- need to dump full output to detailed log -send_gdb "delete display\n" -gdb_expect { - -re "Delete all auto-display expressions.*y or n. $" { - send_gdb "y\n" - gdb_expect { - -re "$gdb_prompt $" { pass "delete display prompt" } - timeout { fail "(timeout) delete display prompt" } - } - } - timeout { fail "(timeout) delete display prompt" } - -} - -#test detach -gdb_test "detach" "" "detach" - -# FIXME: continue kills the udi connection -if [istarget "a29k-*-udi"] then { - gdb_exit - gdb_start -} -if [istarget "h8300-*-hms"] then { - gdb_exit - gdb_start -} - -#test directory -# FIXME -- need to dump full output to detailed log - -send_gdb "directory\n" -gdb_expect { - -re "Reinitialize source path to empty.*y or n. $" { - send_gdb "y\n" - gdb_expect { - -re "Source directories searched: .cdir:.cwd.*$gdb_prompt $"\ - { pass "directory prompt" } - timeout { fail "(timeout) directory prompt" } - } - } -} - -#test disable "dis" abbreviation -gdb_test "dis" "" "disable \"dis\" abbreviation" -#test disable "disa" abbreviation -gdb_test "disa" "" "disable \"disa\" abbreviation" -#test disable -gdb_test "disable" "" "disable" -#test disable breakpoints -gdb_test "disable breakpoints" "" "disable breakpoints" -#test disable display -gdb_test "disable display" "" "disable display" -#test disassemble -gdb_test "disassemble" "No frame selected." "disassemble" -#test display -gdb_test "display" "" "display" -#test do -gdb_test "do" "No stack." "do" -#test document -gdb_test "document" "Argument required .name of command to define.*" "document" -#test down -gdb_test "down" "No stack.*" "down" -#test down-silently -gdb_test "down-silently" "No stack." "down-silently" -#test echo -gdb_test "echo" "" "echo" -#test enable breakpoints delete -gdb_test "enable breakpoints delete" "Argument required .one or more breakpoint numbers.*" "enable breakpoints delete" -#test enable breakpoints once -gdb_test "enable breakpoints once" "Argument required .one or more breakpoint numbers.*" "enable breakpoints once" -#test enable breakpoints -gdb_test "enable breakpoints" "" "enable breakpoints" -#test enable delete -gdb_test "enable delete" "Argument required .one or more breakpoint numbers.*" "enable delete" -#test enable display -gdb_test "enable display" "" "enable display" -#test enable once -gdb_test "enable once" "Argument required .one or more breakpoint numbers.*" "enable once" -#test enable -gdb_test "enable" "" "enable" -#test exec-file -send_gdb "exec-file\n" -gdb_expect { - -re "No executable file now..*$gdb_prompt $" { - pass "exec-file" - } - -re "exec-file.*A program is being debugged already. Kill it. .y or n.*$" { - send_gdb "n\n" - if $verbose>1 then { - send_user "\tDidn't kill program being debugged\n" - } - gdb_expect -re "$gdb_prompt $" { } - pass "exec-file" - } - -re "$gdb_prompt $" { fail "exec-file" } - timeout { fail "(timeout) exec-file" } -} - -#test frame "f" abbreviation -setup_xfail "a29k-*-udi" -gdb_test "f" "No stack." "frame \"f\" abbreviation" -#test frame -setup_xfail "a29k-*-udi" -gdb_test "frame" "No stack." "frame" -#test fg -setup_xfail "a29k-*-udi" -gdb_test "fg" "The program is not being run." "fg" -# FIXME: fg kills the udi connection -#test file -send_gdb "file\n" -gdb_expect { - -re "No executable file now..*$gdb_prompt $"\ - { pass "file" } - -re ".*A program is being debugged already. Kill it. .y or n.*$" { - send_gdb "n\n" - if $verbose>1 then { - send_user "\t\tDidn't kill program being debugged\n" - } - gdb_expect -re "$gdb_prompt $" { } - pass "file" - } - -re ".*$gdb_prompt $" { fail "file" } - timeout { fail "(timeout) file" } -} - -#test finish -setup_xfail "a29k-*-udi" -gdb_test "finish" "The program is not running." "finish" -#test forward-search -# The message here comes from the regexp library, not gdb, and so can -# vary on different systems. -gdb_test "forward-search" "No previous regular expression.*|There is no previous regular expression.*" "forward-search" -#test help "h" abbreviation -gdb_test "h" "List of classes of commands:.*\[\r\n\]+aliases -- Aliases of other commands.*\[\r\n\]+breakpoints -- Making program stop at certain points.*\[\r\n\]+data -- Examining data.*\[\r\n\]+files -- Specifying and examining files.*\[\r\n\]+obscure -- Obscure features.*\[\r\n\]+running -- Running the program.*\[\r\n\]+stack -- Examining the stack.*\[\r\n\]+status -- Status inquiries.*\[\r\n\]+support -- Support facilities.*\[\r\n\]+user-defined -- User-defined commands.*\[\r\n\]+Type \"help\" followed by a class name for a list of commands in that class..*\[\r\n\]+Type \"help\" followed by command name for full documentation..*\[\r\n\]+Command name abbreviations are allowed if unambiguous." "help \"h\" abbreviation" -#test help -gdb_test "help" "List of classes of commands:.*\[\r\n\]+aliases -- Aliases of other commands.*\[\r\n\]+breakpoints -- Making program stop at certain points.*\[\r\n\]+data -- Examining data.*\[\r\n\]+files -- Specifying and examining files.*\[\r\n\]+obscure -- Obscure features.*\[\r\n\]+running -- Running the program.*\[\r\n\]+stack -- Examining the stack.*\[\r\n\]+status -- Status inquiries.*\[\r\n\]+support -- Support facilities.*\[\r\n\]+user-defined -- User-defined commands.*\[\r\n\]+Type \"help\" followed by a class name for a list of commands in that class..*\[\r\n\]+Type \"help\" followed by command name for full documentation..*\[\r\n\]+Command name abbreviations are allowed if unambiguous." "help" -#test handle -gdb_test "handle" "Argument required .signal to handle.*" "handle" -#test info "i" abbreviation -gdb_test "i" "\"info\" must be followed by the name of an info command..*\[\r\n\]+List of info subcommands:.*\[\r\n\]+Type \"help info\" followed by info subcommand name for full documentation..*\[\r\n\]+Command name abbreviations are allowed if unambiguous." "info \"i\" abbreviation" -#test info -gdb_test "info" "\"info\" must be followed by the name of an info command..*\[\r\n\]+List of info subcommands:.*\[\r\n\]+Type \"help info\" followed by info subcommand name for full documentation..*\[\r\n\]+Command name abbreviations are allowed if unambiguous." "info" -#test ignore -gdb_test "ignore" "Argument required .a breakpoint number.*" "ignore" -#test info address -gdb_test "info address" "Argument required." "info address" -#test info all-registers -setup_xfail "a29k-*-udi" -gdb_test "info all-registers" "The program has no registers now." "info all-registers" -#test info args -gdb_test "info args" "No frame selected." "info args" -#test info bogus-gdb-command -gdb_test "info bogus-gdb-command" "Undefined info command: \"bogus-gdb-command\". Try \"help info\".*" "info bogus-gdb-command" -#test info breakpoints -gdb_test "info breakpoints" "No breakpoints or watchpoints." "info breakpoints" -#test info catch -gdb_test "info catch" "You can't do that without a process to debug." "info catch" -#test info copying -# FIXME -- doesn't work worth a shit -#send_gdb "info copying" -# -re "GNU GENERAL PUBLIC LICENSE.*#of preserving the free status of all derivatives of our free software and.*#of promoting the sharing and reuse of software generally."# -gdb_test "info copying" -# } -# -# -#test info display -gdb_test "info display" "There are no auto-display expressions now." "info display" -#test info frame "f" abbreviation -gdb_test "info f" "No stack.*|No selected frame.*" "info frame \"f\" abbreviation" -#test info frame -gdb_test "info frame" "No stack.|No selected frame." "info frame" -#test info files -gdb_test "info files" "" "info files" -#test info float -if [istarget "arm-*-*"] then { - gdb_test "info float" "Software FPU type.*mask:.*flags:.*" "info float" -} elseif [istarget "thumb-*-*"] then { - gdb_test "info float" "Software FPU type.*mask:.*flags:.*" "info float" -} else { - gdb_test "info float" "No floating point info available for this processor." "info float" -} -#test info functions -gdb_test "info functions" "All defined functions:" "info functions" -#test info locals -gdb_test "info locals" "No frame selected." "info locals" -#test info program -setup_xfail "a29k-*-udi" -gdb_test "info program" "The program being debugged is not being run." "info program" -#test info registers -setup_xfail "a29k-*-udi" -gdb_test "info registers" "The program has no registers now." "info registers" -#test info stack "s" abbreviation -setup_xfail "a29k-*-udi" -gdb_test "info s" "No stack." "info stack \"s\" abbreviation" -#test info stack -setup_xfail "a29k-*-udi" -gdb_test "info stack" "No stack." "info stack" -#test info set -# FIXME -- needs to match the entire output -gdb_test "info set" "confirm: Whether to confirm potentially dangerous operations is o\[a-z\]*..*\[\r\n\]+history filename: The filename in which to record the command history is .*\[\r\n\]+listsize: Number of source lines gdb will list by default is 10.*" "info set" -gdb_test "info symbol" "Argument required .address.." -#test info source -gdb_test "info source" "No current source file..*" "info source" -#test info sources -gdb_test "info sources" "No symbol table is loaded. Use the \"file\" command.*" "info sources" -#test info target -gdb_test "info target" "" "info target" -#test info terminal -gdb_test "info terminal" "No saved terminal information." "info terminal" -#test info types -gdb_test "info types" "All defined types:" "info types" -#test info variables -gdb_test "info variables" "All defined variables:" "info variables" -#test info warranty -gdb_test "info warranty" "NO WARRANTY.*\[\r\n\]+ *11. *BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY.*\[\r\n\]+FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN.*\[\r\n\]+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES.*\[\r\n\]+PROVIDE THE PROGRAM \"AS IS\" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED.*\[\r\n\]+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF.*\[\r\n\]+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS.*\[\r\n\]+TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE.*\[\r\n\]+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,.*\[\r\n\]+REPAIR OR CORRECTION..*\[\r\n\]+ *12. *IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING.*\[\r\n\]+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR.*\[\r\n\]+REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,.*\[\r\n\]+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING.*\[\r\n\]+OUT OF THE USE OR INABILITY TO USE THE PROGRAM .INCLUDING BUT NOT LIMITED.*\[\r\n\]+TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY.*\[\r\n\]+YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER.*\[\r\n\]+PROGRAMS., EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE.*\[\r\n\]+POSSIBILITY OF SUCH DAMAGES.*" "info warranty" -#test info watchpoints -gdb_test "info watchpoints" "No breakpoints or watchpoints." "info watchpoints" -#test inspect -gdb_test "inspect" "The history is empty." "inspect" -#test jump -setup_xfail "a29k-*-udi" -gdb_test "jump" "The program is not being run." "jump" -#test kill -gdb_test "kill" "The program is not being run." "kill" -#test list "l" abbreviation -gdb_test "l" "No symbol table is loaded. Use the \"file\" command.*" "list \"l\" abbreviation" -#test list -gdb_test "list" "No symbol table is loaded. Use the \"file\" command.*" "list" -#test load -# The ``takes a file name'' case is for vxgdb. -# The ``Use the "file" command'' case is for newer GDB versions which try -# to deduce the filename from the exec file. -gdb_test "load" "You can't do that when your target is `None'.*|The load command takes a file name.*|Must specify at least a file name with the load command.*|.*Use the .file. or .exec-file. command.*" "load" -#test next "n" abbreviation -setup_xfail "a29k-*-udi" -gdb_test "n" "The program is not being run." "next \"n\" abbreviation" -#test next -setup_xfail "a29k-*-udi" -gdb_test "next" "The program is not being run." "next" -#test nexti "ni" abbreviation -setup_xfail "a29k-*-udi" -gdb_test "ni" "The program is not being run." "nexti \"ni\" abbreviation" -#test nexti -setup_xfail "a29k-*-udi" -gdb_test "nexti" "The program is not being run." "nexti" -#test output -gdb_test "output" "Argument required .expression to compute.*" "output" - -#test overlay -gdb_test "overlay" "\"overlay\" must be followed by the name of .*" -#test a non-existant overlay subcommand -gdb_test "overlay on" "Undefined overlay command.* Try \"help overlay\"." -gdb_test "overlay manual" "" "overlay manual #1" -gdb_test "overlay auto" "" -gdb_test "overlay off" "" -gdb_test "overlay list" "No sections are mapped." -gdb_test "overlay map" "Overlay debugging not enabled.*" "overlay map #1" -gdb_test "overlay unmap" "Overlay debugging not enabled.*" "overlay unmap #2" -gdb_test "overlay manual" "" "overlay manual #2" -gdb_test "overlay map" "Argument required: name of an overlay section." "overlay map #2" -gdb_test "overlay unmap" "Argument required: name of an overlay section." "overlay unmap #2" - -#test print "p" abbreviation -gdb_test "p" "The history is empty." "print \"p\" abbreviation" -#test print -gdb_test "print" "The history is empty." "print" -#test printf -gdb_test "printf" "Argument required .format-control string and values to print.*" "printf" -#test ptype -gdb_test "ptype" "The history is empty." "ptype" -#test pwd -gdb_test "pwd" "Working directory .*" "pwd" - -#test run "r" abbreviation -if [istarget "*-*-vxworks*"] then { - gdb_test "set args" "" "" - - gdb_test "r" "Starting program: .* -You must specify a function name to run, and arguments if any"\ - "run \"r\" abbreviation" - gdb_test "set args main" "" "" - -} else { - send_gdb "r\n" - gdb_expect { - -re "Starting program: .* -You can't do that when your target is `None'.*$gdb_prompt $"\ - { pass "run \"r\" abbreviation" } - -re "Starting program: .* -No executable file specified.* -Use the \"file\" or \"exec-file\" command.*$gdb_prompt $"\ - { pass "run \"r\" abbreviation" } - -re "Starting program: .* -No image loaded into target.*$gdb_prompt $"\ - { pass "run \"r\" abbreviation" } - -re "Starting program: .* -No program loaded.*$gdb_prompt $"\ - { pass "run \"r\" abbreviation" } - -re "Don't know how to run. Try \"help target\"..*$gdb_prompt $"\ - { pass "run \"r\" abbreviation" } - -re ".*$gdb_prompt $" { fail "run \"r\" abbreviation" } - timeout { fail "(timeout) run \"r\" abbreviation" } - } -} - -#test run -if [istarget "*-*-vxworks*"] then { - gdb_test "set args" "" "" - - gdb_test "run" "Starting program: .* -You must specify a function name to run, and arguments if any" - gdb_test "set args main" "" "" - -} else { - send_gdb "run\n" - gdb_expect { - -re "Starting program:.*You can't do that when your target is `None'.*$gdb_prompt $" { pass "run" } - -re "Starting program: .* -No executable file specified.* -Use the \"file\" or \"exec-file\" command.*$gdb_prompt $"\ - { pass "run" } - -re "Starting program: .* -No image loaded into target.*$gdb_prompt $"\ - { pass "run" } - -re "Starting program: .* -No program loaded.*$gdb_prompt $"\ - { pass "run \"r\" abbreviation" } - -re "Don't know how to run. Try \"help target\"..*$gdb_prompt $"\ - { pass "run" } - -re ".*$gdb_prompt $" { fail "run" } - timeout { fail "(timeout) run" } - } -} - -#test rbreak -gdb_test "rbreak" "" "rbreak" - -#test return -# The middle case accommodates the a29k, where doing the "ni" above causes -# an initial stack to be created. -gdb_test "return" "No selected frame..*" "return" "Make .* return now.*y or n. $" "y" - - -#test reverse-search -gdb_test "reverse-search" "No previous regular expression.*|There is no previous regular expression.*" "reverse-search" -#test step "s" abbreviation -setup_xfail "a29k-*-udi" -gdb_test "s" "The program is not being run." "step \"s\" abbreviation #1" -#test step -setup_xfail "a29k-*-udi" -gdb_test "step" "The program is not being run." "step #1" -#test search -gdb_test "search" "No previous regular expression.*|There is no previous regular expression.*" "search" -#test section -gdb_test "section" "Must specify section name and its virtual address.*" "section" -#test set annotate -gdb_test "set annotate" "Argument required .integer to set it to.*" "set annotate" -#test set args -gdb_test "set args" "" "set args" -#test set check "c" abbreviation -gdb_test "set c" "\"set check\" must be followed by the name of a check subcommand..*\[\r\n\]+List of set check subcommands:.*\[\r\n\]+set check range -- Set range checking.*\[\r\n\]+set check type -- Set type checking.*\[\r\n\]+Type \"help set check\" followed by set check subcommand name for full documentation..*\[\r\n\]+Command name abbreviations are allowed if unambiguous." "set check \"c\" abbreviation" -#test set check "ch" abbreviation -gdb_test "set ch" "\"set check\" must be followed by the name of a check subcommand..*\[\r\n\]+List of set check subcommands:.*\[\r\n\]+set check range -- Set range checking.*\[\r\n\]+set check type -- Set type checking.*\[\r\n\]+Type \"help set check\" followed by set check subcommand name for full documentation..*\[\r\n\]+Command name abbreviations are allowed if unambiguous." "set check \"ch\" abbreviation" -#test set check -gdb_test "set check" "\"set check\" must be followed by the name of a check subcommand..*\[\r\n\]+List of set check subcommands:.*\[\r\n\]+set check range -- Set range checking.*\[\r\n\]+set check type -- Set type checking.*\[\r\n\]+Type \"help set check\" followed by set check subcommand name for full documentation..*\[\r\n\]+Command name abbreviations are allowed if unambiguous." "set check" -#test set check range -gdb_test "set check range" "" "set check range" -#test set check type -gdb_test "set check type" "" "set check type" -#test set complaints -gdb_test "set complaints" "Argument required .integer to set it to.*" "set complaints" -#test set confirm -gdb_test "set confirm" "" "set confirm" -# Don't test set editing. What if we're talking to a gdb that -# won't do editing correctly while we're talking to it? -# gdb_test "set editing" "" "set editing" - -#test set environment -gdb_test "set environment" "Argument required .environment variable and value.*" "set environment" -#test set height -gdb_test "set height" "Argument required .integer to set it to.*" "set height" -#test set history expansion -gdb_test "set history expansion" "" "set history expansion" -#test set history filename -gdb_test "set history filename" "Argument required .filename to set it to.*" "set history filename" -#test set history save -gdb_test "set history save" "" "set history save" -#test set history size -gdb_test "set history size" "Argument required .integer to set it to.*" "set history size" -#test set history -gdb_test "set history" "\"set history\" must be followed by the name of a history subcommand..*\[\r\n\]+List of set history subcommands:.*\[\r\n\]+set history expansion -- Set history expansion on command input.*\[\r\n\]+set history filename -- Set the filename in which to record the command history.*\[\r\n\]+set history save -- Set saving of the history record on exit.*\[\r\n\]+set history size -- Set the size of the command history.*\[\r\n\]+Type \"help set history\" followed by set history subcommand name for full documentation..*\[\r\n\]+Command name abbreviations are allowed if unambiguous." "set history" -#test set language -gdb_test "set language" "The currently understood settings are:.*\[\r\n\]+local or auto *Automatic setting based on source file.*\[\r\n\]+c *Use the C language.*\[\r\n\]+c\[+\]+ *Use the C\[+\]+ language.*\[\r\n\]+modula-2 *Use the Modula-2 language.*" "set language" -#test set listsize -gdb_test "set listsize" "Argument required .integer to set it to.*" "set listsize" -#test set print "p" abbreviation -gdb_test "set p" "\"set print\" must be followed by the name of a print subcommand..*\[\r\n\]+List of set print subcommands:.*\[\r\n\]+Type \"help set print\" followed by set print subcommand name for full documentation..*\[\r\n\]+Command name abbreviations are allowed if unambiguous." "set print \"p\" abbreviation" -#test set print "pr" abbreviation -gdb_test "set pr" "\"set print\" must be followed by the name of a print subcommand..*\[\r\n\]+List of set print subcommands:.*\[\r\n\]+Type \"help set print\" followed by set print subcommand name for full documentation..*\[\r\n\]+Command name abbreviations are allowed if unambiguous." "set print \"pr\" abbreviation" -#test set print -gdb_test "set print" "\"set print\" must be followed by the name of a print subcommand..*\[\r\n\]+List of set print subcommands:.*\[\r\n\]+Type \"help set print\" followed by set print subcommand name for full documentation..*\[\r\n\]+Command name abbreviations are allowed if unambiguous." "set print" -#test set print address -gdb_test "set print address" "" "set print address" -#test set print array -gdb_test "set print array" "" "set print array" -#test set print asm-demangle -gdb_test "set print asm-demangle" "" "set print asm-demangle" -#test set print demangle -gdb_test "set print demangle" "" "set print demangle" -#test set print elements -gdb_test "set print elements" "Argument required .integer to set it to.*" "set print elements" -#test set print object -gdb_test "set print object" "" "set print object" -#test set print pretty -gdb_test "set print pretty" "" "set print pretty" -#test set print sevenbit-strings -gdb_test "set print sevenbit-strings" "" "set print sevenbit-strings" -#test set print union -gdb_test "set print union" "" "set print union" -#test set print vtbl -gdb_test "set print vtbl" "" "set print vtbl" -# FIXME -- need a test for "set prompt" -#test set radix -gdb_test "set radix" "Input and output radices now set to decimal 10, hex a, octal 12.*" "set radix" -#test set symbol-reloading -gdb_test "set symbol-reloading" "" "set symbol-reloading" -#test set variable -gdb_test "set variable" "Argument required .expression to compute.*" "set variable" -#test set verbose -gdb_test "set verbose" "" "set verbose" -#test set width -gdb_test "set width" "Argument required .integer to set it to.*" "set width" -#test set write -# This is only supported on targets which use exec.o. -gdb_test "set write" "" "set write" -#test set -gdb_test "set" "Argument required .expression to compute.*" "set" -#test shell echo Hi dad! -gdb_test "shell echo Hi dad!" "Hi dad!" "shell echo Hi dad!" -#test show annotate -gdb_test "show annotate" "Annotation_level is 0." "show annotate" -#test show args -gdb_test "show args" "Argument list to give program being debugged when it is started is \"\"." "show args" -#test show check "c" abbreviation -gdb_test "show c" "range: *Range checking is \"auto; currently off\"..*\[\r\n\]+type: *Type checking is \"auto; currently off\".*" "show check \"c\" abbreviation" -#test show check "ch" abbreviation -gdb_test "show ch" "range: *Range checking is \"auto; currently off\"..*\[\r\n\]+type: *Type checking is \"auto; currently off\"." "show check \"ch\" abbreviation" -#test show check -gdb_test "show check" "range: *Range checking is \"auto; currently off\"..*\[\r\n\]+type: *Type checking is \"auto; currently off\"." "show check" -#test show check range -gdb_test "show check range" "Range checking is \"auto; currently off\"." "show check range" -#test show check type -gdb_test "show check type" "Type checking is \"auto; currently off\"." "show check type" -#test show commands -gdb_test "show commands" "" "show commands" -#test show complaints -gdb_test "show complaints" "Max number of complaints about incorrect symbols is 0." "show complaints" -#test show confirm -gdb_test "show confirm" "Whether to confirm potentially dangerous operations is o\[a-z\]*." "show confirm" -#test show convenience -gdb_test "show convenience" "No debugger convenience variables now defined..*\[\r\n\]+Convenience variables have names starting with \".\";.*\[\r\n\]+use \"set\" as in \"set .foo = 5\" to define them." "show convenience" -#test show directories -gdb_test "show directories" "Source directories searched: .cdir:.cwd" "show directories" -#test show editing -gdb_test "show editing" "Editing of command lines as they are typed is o\[a-z\]*." "show editing" -#test show height -gdb_test "show height" "Number of lines gdb thinks are in a page is.*" "show height" -#test show history expansion -gdb_test "show history expansion" "History expansion on command input is o\[a-z\]*.*" "show history expansion" -#test show history filename -gdb_test "show history filename" "The filename in which to record the command history is.*.gdb_history.*" "show history filename" -#test show history save -gdb_test "show history save" "Saving of the history record on exit is on." "show history save" -#test show history size -gdb_test "show history size" "The size of the command history is.*" "show history size" -#test show history -gdb_test "show history" "expansion: *History expansion on command input is o.*\[\r\n\]+filename: *The filename in which to record the command history is.*.gdb_history.*\[\r\n\]+save: *Saving of the history record on exit is o.*\[\r\n\]+size: * The size of the command history is.*" "show history" -#test show language -gdb_test "show language" "The current source language is \"auto; currently c\"." "show language" -#test show listsize -gdb_test "show listsize" "Number of source lines gdb will list by default is 10." "show listsize" -#test show print "p" abbreviation -gdb_test "show p" ".*" "show p" -#test show print "pr" abbreviation -gdb_test "show pr" ".*" "show pr" -#test show print -gdb_test "show print" "" "show print" -#test show paths -gdb_test "show paths" "Executable and object file path:.*" "show paths" -#test show print address -gdb_test "show print address" "Printing of addresses is on." "show print address" -#test show print array -gdb_test "show print array" "Prettyprinting of arrays is on." "show print array" -#test show print asm-demangle -gdb_test "show print asm-demangle" "Demangling of C\[+\]+ names in disassembly listings is on." "show print asm-demangle" -#test show print demangle -gdb_test "show print demangle" "Demangling of encoded C\[+\]+ names when displaying symbols is on." "show print demangle" -#test show print elements -gdb_test "show print elements" "Limit on string chars or array elements to print is 200." "show print elements" -#test show print object -gdb_test "show print object" "Printing of object's derived type based on vtable info is on." "show print object" -#test show print pretty -gdb_test "show print pretty" "Prettyprinting of structures is on." "show print pretty" -#test show print sevenbit-strings -gdb_test "show print sevenbit-strings" "Printing of 8-bit characters in strings as .nnn is on." "show print sevenbit-strings" -#test show print union -gdb_test "show print union" "Printing of unions interior to structures is on." "show print union" -#test show print vtbl -gdb_test "show print vtbl" "Printing of C\[+\]+ virtual function tables is on." "show print vtbl" -#test show prompt -# In the FAIL case, can't just look for $gdb_prompt because that will match -# the output, rather than the prompt. So look for $gdb_prompt at the start -# of a line. -gdb_test "show prompt" "Gdb's prompt is \"$gdb_prompt \".*" "show prompt" -#test show radix -gdb_test "show radix" "Input and output radices set to decimal 10, hex a, octal 12." "show radix" -#test show symbol-reloading -gdb_test "show symbol-reloading" "Dynamic symbol table reloading multiple times in one run is on." "show symbol-reloading" -#test show user -gdb_test "show user" "" "show user" -#test show values -gdb_test "show values" "" "show values" -#test show verbose -gdb_test "show verbose" "Verbose printing of informational messages is o.*|Verbosity is off.*" "show verbose" -#test show version - -gdb_test "show version" "GNU gdb \[0-9\.\]*.*\[\r\n\]+Copyright \[0-9\]* Free Software Foundation, Inc.*\[\r\n\]+GDB is free software, covered by the GNU General Public License, and you are.*\[\r\n\]+welcome to change it and/or distribute copies of it under certain conditions.*\[\r\n\]+Type \"show copying\" to see the conditions.*\[\r\n\]+There is absolutely no warranty for GDB. Type \"show warranty\" for details.*\[\r\n\]+This GDB was configured as .*|GDB is free software and you are welcome to distribute copies of it.*\[\r\n\]+ under certain conditions; type \"show copying\" to see the conditions..*\[\r\n\]+There is absolutely no warranty for GDB; type \"show warranty\" for details..*\[\r\n\]+GDB.*Copyright \[0-9\]* Free Software Foundation, Inc.*" "show version" -#test show width -gdb_test "show width" "Number of characters gdb thinks are in a line is.*" "show width" -#test show write -# This is only supported on targets which use exec.o. -gdb_test "show write" "Writing into executable and core files is o.*" "show write" -#test show -gdb_test "show" "confirm: *Whether to confirm potentially dangerous operations is on..*\[\r\n\]+history filename: *The filename in which to record the command history is .*\[\r\n\]+history save: *Saving of the history record on exit is on..*\[\r\n\]+history size: *The size of the command history is.*\[\r\n\]+listsize: *Number of source lines gdb will list by default is 10.*\[\r\n\]+print elements: *Limit on string chars or array elements to print is 200..*" "show" -#test stepi "si" abbreviation -setup_xfail "a29k-*-udi" -gdb_test "si" "The program is not being run." "stepi \"si\" abbreviation" -#test stepi -setup_xfail "a29k-*-udi" -gdb_test "stepi" "The program is not being run." "stepi" -#test signal -setup_xfail "a29k-*-udi" -gdb_test "signal" "The program is not being run." "signal" -#test source -gdb_test "source" "source command requires pathname of file to source..*|No such file or directory.*" "source" -#test step "s" abbreviation -setup_xfail "a29k-*-udi" -gdb_test "s" "The program is not being run." "step \"s\" abbreviation #2" -#test step -setup_xfail "a29k-*-udi" -gdb_test "step" "The program is not being run." "step #2" -#test symbol-file -gdb_test "symbol-file" "" "symbol-file" - -#test target child -gdb_test "target child" "Use the \"run\" command to start a Unix child process.*|Undefined target command: \"child\". *Try \"help target\".*" "target child" - -#test target procfs -gdb_test "target procfs" "Use the \"run\" command to start a Unix child process.*|Undefined target command: \"procfs\". *Try \"help target\".*" "target procfs" - -#test target core -send_gdb "target core\n" -gdb_expect { - -re "No core file specified..*$gdb_prompt $" { pass "target core" } - -re ".*A program is being debugged already. Kill it. .y or n.*$" { - send_gdb "n\n" - if $verbose>1 then { - send_user "\t\tDidn't kill program being debugged\n" - } - gdb_expect -re "$gdb_prompt $" { } - pass "target core" - } - -re "Undefined target command: \"core\". Try \"help target\"..*$gdb_prompt $" { pass "target core" } - -re ".*$gdb_prompt $" { fail "target core" } - timeout { fail "(timeout) target core" } -} - -#test target exec -send_gdb "target exec\n" -gdb_expect { - -re "No executable file now..*$gdb_prompt $"\ - { pass "target exec" } - -re ".*A program is being debugged already. Kill it. .y or n.*$" { - send_gdb "n\n" - if $verbose>1 then { - send_user "\t\tDidn't kill program being debugged\n" - } - gdb_expect -re "$gdb_prompt $" { } - pass "target exec" - } - -re ".*$gdb_prompt $" { fail "target exec" } - timeout { fail "(timeout) target exec" } - } - -#test target remote -if ![istarget "*-*-udi*"] then { - send_gdb "target remote\n" - gdb_expect { - -re "To open a remote debug connection, you need to specify what serial.* -device is attached to the remote system .e.g. /dev/ttya.*$gdb_prompt $"\ - { pass "target remote" } - -re ".*A program is being debugged already. Kill it. .y or n.*$" { - send_gdb "n\n" - if $verbose>1 then { - send_user "\t\tDidn't kill program being debugged\n" - } - gdb_expect -re "$gdb_prompt $" { } - pass "target remote" - } - -re ".*$gdb_prompt $" { fail "target remote" } - timeout { fail "(timeout) target remote" } - } -} - -#test target -gdb_test "target" "Argument required .target name.*" "target" -#test tbreak -gdb_test "tbreak" "No default breakpoint address now." "tbreak" -#test tty -gdb_test "tty" "Argument required .terminal name for running target process.*" "tty" -#test until "u" abbreviation -setup_xfail "a29k-*-udi" -gdb_test "u" "The program is not running." "until \"u\" abbreviation" -#test until -setup_xfail "a29k-*-udi" -gdb_test "until" "The program is not running." "until" -#test undisplay -# FIXME -- need to dump full output to detailed log -send_gdb "undisplay\n" -gdb_expect { - -re "Delete all auto-display expressions.*y or n. $" { - send_gdb "y\n" - gdb_expect { - -re "$gdb_prompt $" { pass "undisplay prompt" } - timeout { fail "(timeout) (timeout) undisplay prompt" } - } - } - timeout { fail "(timeout) (timeout) undisplay prompt" } -} - -#test unset environment -send_gdb "unset environment\n" -gdb_expect { - -re "Delete all environment variables?.*y or n. $" { - send_gdb "y\n" - gdb_expect { - -re "$gdb_prompt $" { pass "unset environmentprompt" } - timeout { - fail "(timeout) (timeout) unset environment prompt" - } - } - } - timeout { - fail "(timeout) (timeout) unset environment prompt" - } -} - -#test unset -gdb_test "unset" "\"unset\" must be followed by the name of an unset subcommand..*\[\r\n\]+List of unset subcommands:.*\[\r\n\]+unset environment -- Cancel environment variable VAR for the program.*\[\r\n\]+Type \"help unset\" followed by unset subcommand name for full documentation..*\[\r\n\]+Command name abbreviations are allowed if unambiguous." "unset" -#test up -#test up-silently -gdb_test "up-silently" "No stack." "up-silently" -#test watch -gdb_test "watch" "Argument required .expression to compute.*" "watch" -#test whatis -gdb_test "whatis" "The history is empty." "whatis" -#test where -setup_xfail "a29k-*-udi" -gdb_test "where" "No stack." "where" -#test x -#The case in which it prints a number is for vxgdb. -gdb_test "x" "0x0:.*0x\[0-9\]*|0x0:.*Cannot access memory at address 0x0." "x" - -gdb_exit diff --git a/gdb/testsuite/gdb.base/dollar.exp b/gdb/testsuite/gdb.base/dollar.exp deleted file mode 100644 index 50fac6abf04..00000000000 --- a/gdb/testsuite/gdb.base/dollar.exp +++ /dev/null @@ -1,128 +0,0 @@ -# Copyright (C) 1997, 1998 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - -# Please email any bugs, comments, and/or additions to this file to: -# bug-gdb@prep.ai.mit.edu - -# GDB tests for names beginning with '$' - -# This is aimed at HP-UX systems where a lot of system -# routines and names begin with '$' or '$$'. GDB 4.16 was -# unable to deal with these names as they clashed with -# convenience variables. Wildebeest should accept such -# names in preference to convenience variables. - -# This file was written by Satish Pai <pai@apollo.hp.com> -# 1997-09-24 - -if ![ istarget "*-*-hpux*" ] then { - return -} - -if $tracelevel then { - strace $tracelevel - } - -# -# test running programs -# -set prms_id 0 -set bug_id 0 - -set testfile "exprs" -set srcfile ${testfile}.c -set binfile ${objdir}/${subdir}/${testfile} - -if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug}] != "" } { - gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail." -} - -#source ${binfile}.ci - -gdb_exit -gdb_start -gdb_reinitialize_dir $srcdir/$subdir -gdb_load ${binfile} - -# -# set it up at a breakpoint so we can play with the variable values -# - -if ![runto_main] then { - perror "couldn't run to breakpoint" - continue -} - -# Test for millicode routines -send_gdb "print \$\$dyncall\n" -gdb_expect { - -re "\\$\[0-9\]* = \\{<text variable, no debug info>\\} $hex <>.*$gdb_prompt $" { pass "print \$\$dyncall" } - -re "\\$\[0-9\]* = void" { fail "print \$\$dyncall -- interpreted as convenience var" } - -re "$gdb_prompt $" { fail "print \$\$dyncall" } - timeout { fail "(timeout) print \$\$dyncall" } -} -send_gdb "print \$\$dyncall_external\n" -gdb_expect { - -re "\\$\[0-9\]* = \\{<text variable, no debug info>\\} $hex <>.*$gdb_prompt $" { pass "print \$\$dyncall_external" } - -re "\\$\[0-9\]* = void" { fail "print \$\$dyncall_external -- interpreted as convenience var" } - -re "$gdb_prompt $" { fail "print \$\$dyncall_external" } - timeout { fail "(timeout) print \$\$dyncall_external" } -} - -# Set a breakpoint on a millicode routine -send_gdb "break \$\$dyncall\n" -gdb_expect { - -re "Breakpoint \[0-9\]* at $hex.*$gdb_prompt $" { pass "break \$\$dyncall" } - -re "Function.*not defined.*$gdb_prompt $" {fail "break \$\$dyncall -- no \$\$dyncall?" } - -re "Convenience variables used in line specs must have integer values\\..*$gdb_prompt $" { - fail "break \$\$dyncall -- treated as convenince variable" - } - -re "$gdb_prompt $" { fail "print break \$\$dyncall" } - timeout { fail "(timeout) print break \$\$dyncall" } -} - -# Disassemble $$dyncall -send_gdb "disassemble \$\$dyncall\n" -gdb_expect { - -re "Dump of assembler code for function.*$gdb_prompt $" { pass "disas \$\$dyncall" } - -re "$gdb_prompt $" { fail "disas \$\$dyncall" } - timeout { fail "(timeout) disas \$\$dyncall" } -} - -# Try to set $$dyncall like a convenience var. -send_gdb "set \$\$dyncall = 77\n" -gdb_expect { - -re "Invalid cast.*$gdb_prompt $" { pass "set \$\$dyncall = 77" } - -re "$gdb_prompt $" { fail "set \$\$dyncall = 77" } - timeout { fail "(timeout) set \$\$dyncall = 77" } -} - -# Try out some other $ name, not millicode -send_gdb "print \$ARGV\n" -gdb_expect { - -re "\\$\[0-9\]* = \[0-9\]*.*$gdb_prompt $" { pass "print \$ARGV" } - -re "\\$\[0-9\]* = void.*$gdb_prompt $" { fail "print \$ARGV (interpreted as convenience var)" } - -re "$gdb_prompt $" { fail "print \$ARGV" } - timeout { fail "(timeout) print \$ARGV" } -} -send_gdb "ptype \$ARGV\n" -gdb_expect { - -re "type = <data variable, no debug info>.*$gdb_prompt $" { pass "ptype \$ARGV" } - -re "type = void.*$gdb_prompt $" { fail "ptype \$ARGV (interpreted as convenience var)" } - -re "$gdb_prompt $" { fail "ptype \$ARGV" } - timeout { fail "(timeout) ptype \$ARGV" } -} - diff --git a/gdb/testsuite/gdb.base/echo.exp b/gdb/testsuite/gdb.base/echo.exp deleted file mode 100644 index cfad3b0ce16..00000000000 --- a/gdb/testsuite/gdb.base/echo.exp +++ /dev/null @@ -1,58 +0,0 @@ -# Copyright (C) 1988, 1990, 1991, 1992 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ - -# Please email any bugs, comments, and/or additions to this file to: -# bug-gdb@prep.ai.mit.edu - -# This file was written by Rob Savoye. (rob@cygnus.com) - -if $tracelevel then { - strace $tracelevel - } - -# -# test the echo command -# - -# this sets the prms id number. This is the number that will appear -# on all the output logs. -# ex: set prms_id 643 -set prms_id 0 - -# this sets the bug id id. This is the number that will appear -# on all the output logs. This is optional and if it is not set -# it will appear on all output logs as a 0. -# ex: set bug_id 12 -set bug_id 0 - -# this sends a string to the stdin of the tool being tested. The string -# should be between the quotes. -send "echo Hello world!\n" - -# any shell style globbing can be used between the "" -# regular expressions can be used instead by preceding the -# first quote with the option -re -# ex: "file deleted" { fail "removed source file" } -# the string between the quotes after a fail or pass is what -# gets printed if the pattern matches. There can be multiple -# send/expect sequences in one test. -expect { - -re "Hello world.*$prompt $" { pass "Echo test" } - -re "$prompt $" { fail "Echo test" } - timeout { fail "(timeout) Echo test" } - } - -# this dumps the output to the detailed log for this tool diff --git a/gdb/testsuite/gdb.base/environ.exp b/gdb/testsuite/gdb.base/environ.exp deleted file mode 100644 index 0033917fb06..00000000000 --- a/gdb/testsuite/gdb.base/environ.exp +++ /dev/null @@ -1,329 +0,0 @@ -# Copyright (C) 1997, 1998 Free Software Foundation, Inc. - - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ - -# Please email any bugs, comments, and/or additions to this file to: -# bug-gdb@prep.ai.mit.edu - -if $tracelevel then { - strace $tracelevel - } - -global usestubs - -# -# test running programs -# -set prms_id 0 -set bug_id 0 - -# This test exists solely to exercise the "environment" commands for -# code-coverage on HP-UX. -# -if ![istarget "hppa*-*-hpux*"] then { - return -} - -set testfile "break" -set srcfile ${testfile}.c -set binfile ${objdir}/${subdir}/${testfile} - - -if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug}] != "" } { - gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail." -} - -gdb_exit -gdb_start -gdb_reinitialize_dir $srcdir/$subdir -gdb_load ${binfile} - -if ![runto_main] then { fail "environment command tests suppressed" } - -# (No, this is not really related to the environment commands. But it's -# a convenient place to verify that this command works.) -# -send_gdb "info program\n" -gdb_expect { - -re ".*Using the running image of child process \[0-9\]*.\r\nProgram stopped at 0x\[0-9a-fA-F\]*.\r\nIt stopped at breakpoint 1..*$gdb_prompt $"\ - {pass "info program"} - -re "$gdb_prompt $"\ - {fail "info program"} - timeout {fail "(timeout) info program"} -} - -# We don't really care where this step lands, so long as it gets -# the inferior pushed off the breakpoint it's currently on... -# -send_gdb "next\n" -gdb_expect { - -re ".*$gdb_prompt $"\ - {pass "step before info program"} - timeout {fail "(timeout) step before info program"} -} -send_gdb "info program\n" -gdb_expect { - -re ".*Using the running image of child process \[0-9\]*.\r\nProgram stopped at 0x\[0-9a-fA-F\]*.\r\nIt stopped after being stepped..*$gdb_prompt $"\ - {pass "info program after step"} - -re "$gdb_prompt $"\ - {fail "info program after step"} - timeout {fail "(timeout) info program after step"} -} - -if ![runto_main] then { fail "environment command tests suppressed" } - -send_gdb "delete\n" -gdb_expect { - -re ".*y or n. $"\ - {send_gdb "y\n" - gdb_expect { - -re ".*$gdb_prompt $"\ - {pass "delete breakpoint before info program"} - timeout {fail "(timeout) delete breakpoint before info program"} - } - } - -re "$gdb_prompt $"\ - {fail "delete breakpoint before info program"} - timeout {fail "(timeout) delete breakpoint before info program"} -} -send_gdb "info program\n" -gdb_expect { - -re ".*Using the running image of child process \[0-9\]*.\r\nProgram stopped at 0x\[0-9a-fA-F\]*.\r\nIt stopped at a breakpoint that has since been deleted..*$gdb_prompt $"\ - {pass "info program after deleted breakpoint"} - -re "$gdb_prompt $"\ - {fail "info program after deleted breakpoint"} - timeout {fail "(timeout) info program after deleted breakpoint"} -} - -# Verify that we can show all currently-set environment variables. -# (It's a bit hacky, but nonetheless probably safe to check for at -# least the SHELL variable.) -# -# need to increase timeout because of very long output -set oldtimeout $timeout -set timeout [expr "$timeout + 300"] - -send_gdb "show environment\n" -gdb_expect { - -re ".*SHELL=(\[a-zA-Z0-9\]*).*$gdb_prompt $"\ - {pass "show environment"} - -re "$gdb_prompt $"\ - {fail "show environment"} - timeout {fail "(timeout) show environment"} -} -set timeout $oldtimeout - -# Verify that we can unset a specific environment variable. -# -send_gdb "unset environment EDITOR\n" -gdb_expect { - -re "$gdb_prompt $"\ - {pass "issue unset environment"} - timeout {fail "(timeout) issue unset environment"} -} -send_gdb "show environment EDITOR\n" -gdb_expect { - -re "Environment variable \"EDITOR\" not defined.\r\n$gdb_prompt $"\ - {pass "unset environment"} - -re "$gdb_prompt $"\ - {fail "unset environment"} - timeout {fail "(timeout) unset environment"} -} - -# Verify that we can unset all environment variables. -# -send_gdb "unset environment\n" -gdb_expect { - -re "Delete all environment variables.*y or n. $"\ - {send_gdb "y\n" - gdb_expect { - -re "$gdb_prompt $"\ - {pass "unset entire environment"} - timeout {fail "(timeout) unset entire environment"} - } - } - -re "$gdb_prompt $"\ - {fail "unset entire environment"} - timeout {fail "(timeout) unset entire environment"} -} - -# Verify that we can set a specific environment variable. -# -send_gdb "set environment EDITOR emacs\n" -gdb_expect { - -re "$gdb_prompt $"\ - {pass "issue set environment"} - timeout {fail "(timeout) issue set environment"} -} -send_gdb "show environment EDITOR\n" -gdb_expect { - -re "EDITOR = emacs\r\n$gdb_prompt $"\ - {pass "set environment"} - -re "$gdb_prompt $"\ - {fail "set environment"} - timeout {fail "(timeout) set environment"} -} - -# Verify that GDB responds gracefully to a request to set environment, -# with no variable name. -# -send_gdb "set environment\n" -gdb_expect { - -re "Argument required .environment variable and value..*$gdb_prompt $"\ - {pass "set environment without variable disallowed"} - -re "$gdb_prompt $"\ - {fail "set environment without variable disallowed"} - timeout {fail "(timeout) set environment without variable disallowed"} -} - -# I'm not sure just what GDB has in mind in explicitly checking -# for this variant, but since GDB handles it, test it. -# -send_gdb "set environment =\n" -gdb_expect { - -re "Argument required .environment variable to set..*$gdb_prompt $"\ - {pass "set environment equals without variable disallowed"} - -re "$gdb_prompt $"\ - {fail "set environment equals without variable disallowed"} - timeout {fail "(timeout) set environment equals without variable disallowed"} -} - -# Setting an environment variable without a value sets it to a NULL -# value. -# -send_gdb "set environment EDITOR\n" -gdb_expect { - -re "Setting environment variable \"EDITOR\" to null value..*$gdb_prompt $"\ - {pass "issue set environment without variable value"} - -re "$gdb_prompt $"\ - {fail "issue set environment without variable value"} - timeout {fail "(timeout) issue set environment without variable value"} -} -send_gdb "show environment EDITOR\n" -gdb_expect { - -re "EDITOR = \r\n$gdb_prompt $"\ - {pass "set environment without variable value"} - -re "$gdb_prompt $"\ - {fail "set environment without variable value"} - timeout {fail "(timeout) set environment without variable value"} -} - -# Verify that GDB responds gracefully to an attempt to show a -# non-existent environment variable. (We hope this variable is -# undefined!) -# -send_gdb "show environment FOOBARBAZGRUNGESPAZBALL\n" -gdb_expect { - -re "Environment variable \"FOOBARBAZGRUNGESPAZBALL\" not defined..*$gdb_prompt $"\ - {pass "show non-existent environment variable disallowed"} - -re "$gdb_prompt $"\ - {fail "show non-existent environment variable disallowed"} - timeout {fail "(timeout) show non-existent environment variable disallowed"} -} - -# Verify that GDB can set an environment variable hitherto undefined. -# -send_gdb "set environment FOOBARBAZGRUNGESPAZBALL t\n" -gdb_expect { - -re "$gdb_prompt $"\ - {pass "issue set environment for previously undefined variable"} - timeout {fail "(timeout) issue set environment for previously undefined variable"} -} -send_gdb "show environment FOOBARBAZGRUNGESPAZBALL\n" -gdb_expect { - -re "FOOBARBAZGRUNGESPAZBALL = t\r\n$gdb_prompt $"\ - {pass "set environment for previously undefined variable"} - -re "$gdb_prompt $"\ - {fail "set environment for previously undefined variable"} - timeout {fail "(timeout) set environment for previously undefined variable"} -} - -# Verify that GDB can also set an environment variable using the "=" -# syntax. -# -send_gdb "set environment FOOBARBAZGRUNGESPAZBALL = t\n" -gdb_expect { - -re "$gdb_prompt $"\ - {pass "issue set environment with equals"} - timeout {fail "(timeout) issue set environment with equals"} -} -send_gdb "show environment FOOBARBAZGRUNGESPAZBALL\n" -gdb_expect { - -re "FOOBARBAZGRUNGESPAZBALL = t\r\n$gdb_prompt $"\ - {pass "set environment with equals"} - -re "$gdb_prompt $"\ - {fail "set environment with equals"} - timeout {fail "(timeout) set environment with equals"} -} - -# Verify that GDB can set an environment variable to a value that has -# an embedded (trailing, in this case) equals. -# -send_gdb "set environment FOOBARBAZGRUNGESPAZBALL t=\n" -gdb_expect { - -re "$gdb_prompt $"\ - {pass "issue set environment with trailing equals"} - timeout {fail "(timeout) issue set environment with trailing equals"} -} -send_gdb "show environment FOOBARBAZGRUNGESPAZBALL\n" -gdb_expect { - -re "FOOBARBAZGRUNGESPAZBALL = t=\r\n$gdb_prompt $"\ - {pass "set environment with trailing equals"} - -re "$gdb_prompt $"\ - {fail "set environment with trailing equals"} - timeout {fail "(timeout) set environment with trailing equals"} -} - -# Verify that GDB can set an environment variable to a value preceded -# by whitespace, and that such whitespace is ignored (not included -# in the set value). -# -send_gdb "set environment FOOBARBAZGRUNGESPAZBALL = foo\n" -gdb_expect { - -re "$gdb_prompt $"\ - {pass "issue set environment with preceding whitespace"} - timeout {fail "(timeout) issue set environment with preceding whitespace"} -} -send_gdb "show environment FOOBARBAZGRUNGESPAZBALL\n" -gdb_expect { - -re "FOOBARBAZGRUNGESPAZBALL = foo\r\n$gdb_prompt $"\ - {pass "set environment with preceding whitespace"} - -re "$gdb_prompt $"\ - {fail "set environment with preceding whitespace"} - timeout {fail "(timeout) set environment with preceding whitespace"} -} - -# Verify that GDB can manipulate the distinguished PATH variable. -# -send_gdb "path /tmp/FOOBARBAZGRUNGESPAZBALL\n" -gdb_expect { - -re ".*Executable and object file path: /tmp/FOOBARBAZGRUNGESPAZBALL.*$gdb_prompt $"\ - {pass "issue path"} - -re "$gdb_prompt $"\ - {fail "issue path"} - timeout {fail "(timeout) issue path"} -} -send_gdb "show paths\n" -gdb_expect { - -re "Executable and object file path: /tmp/FOOBARBAZGRUNGESPAZBALL.*$gdb_prompt $"\ - {pass "show paths"} - -re "$gdb_prompt $"\ - {fail "show paths"} - timeout {fail "(timeout) show paths"} -} - -gdb_exit -return 0 diff --git a/gdb/testsuite/gdb.base/exprs.c b/gdb/testsuite/gdb.base/exprs.c deleted file mode 100644 index bd33620a6b2..00000000000 --- a/gdb/testsuite/gdb.base/exprs.c +++ /dev/null @@ -1,249 +0,0 @@ -main (argc, argv, envp) - int argc; - char **argv; - char **envp; -{ - extern void dummy(); - dummy(); -} - -/* We put main() right up front so its line number doesn't keep changing. */ - -/* - * Test file with lots of different types, for testing the - * "whatis" command. - */ - -/* - * First the basic C types. - */ - -#if !defined (__STDC__) && !defined (_AIX) -#define signed /**/ -#endif - -char v_char; -signed char v_signed_char; -unsigned char v_unsigned_char; - -short v_short; -signed short v_signed_short; -unsigned short v_unsigned_short; - -int v_int; -signed int v_signed_int; -unsigned int v_unsigned_int; - -long v_long; -signed long v_signed_long; -unsigned long v_unsigned_long; - -float v_float; -double v_double; - -/* - * Now some derived types, which are arrays, functions-returning, - * pointers, structures, unions, and enumerations. - */ - -/**** arrays *******/ - -char v_char_array[2]; -signed char v_signed_char_array[2]; -unsigned char v_unsigned_char_array[2]; - -short v_short_array[2]; -signed short v_signed_short_array[2]; -unsigned short v_unsigned_short_array[2]; - -int v_int_array[2]; -signed int v_signed_int_array[2]; -unsigned int v_unsigned_int_array[2]; - -long v_long_array[2]; -signed long v_signed_long_array[2]; -unsigned long v_unsigned_long_array[2]; - -float v_float_array[2]; -double v_double_array[2]; - -/**** pointers *******/ - -char *v_char_pointer; -signed char *v_signed_char_pointer; -unsigned char *v_unsigned_char_pointer; - -short *v_short_pointer; -signed short *v_signed_short_pointer; -unsigned short *v_unsigned_short_pointer; - -int *v_int_pointer; -signed int *v_signed_int_pointer; -unsigned int *v_unsigned_int_pointer; - -long *v_long_pointer; -signed long *v_signed_long_pointer; -unsigned long *v_unsigned_long_pointer; - -float *v_float_pointer; -double *v_double_pointer; - -/**** structs *******/ - -struct t_struct { - char v_char_member; - short v_short_member; - int v_int_member; - long v_long_member; - float v_float_member; - double v_double_member; -} v_struct1; - -struct { - char v_char_member; - short v_short_member; - int v_int_member; - long v_long_member; - float v_float_member; - double v_double_member; -} v_struct2; - -/**** unions *******/ - -union t_union { - char v_char_member; - short v_short_member; - int v_int_member; - long v_long_member; - float v_float_member; - double v_double_member; -} v_union; - -union { - char v_char_member; - short v_short_member; - int v_int_member; - long v_long_member; - float v_float_member; - double v_double_member; -} v_union2; - -/*** Functions returning type ********/ - -char v_char_func () { return(0); } -signed char v_signed_char_func () { return (0); } -unsigned char v_unsigned_char_func () { return (0); } - -short v_short_func () { return (0); } -signed short v_signed_short_func () { return (0); } -unsigned short v_unsigned_short_func () { return (0); } - -int v_int_func () { return (0); } -signed int v_signed_int_func () { return (0); } -unsigned int v_unsigned_int_func () { return (0); } - -long v_long_func () { return (0); } -signed long v_signed_long_func () { return (0); } -unsigned long v_unsigned_long_func () { return (0); } - -float v_float_func () { return (0.0); } -double v_double_func () { return (0.0); } - -/**** Some misc more complicated things *******/ - -struct link { - struct link *next; -#ifdef __STDC__ - struct link *(*linkfunc) (struct link *this, int flags); -#else - struct link *(*linkfunc) (); -#endif - struct t_struct stuff[1][2][3]; -} *s_link; - -union tu_link { - struct link *next; -#ifdef __STDC__ - struct link *(*linkfunc) (struct link *this, int flags); -#else - struct link *(*linkfunc) (); -#endif - struct t_struct stuff[1][2][3]; -} u_link; - -/**** Enumerations *******/ - -enum colors {red, green, blue} color; -enum cars {chevy, ford, porsche} clunker; - - -void dummy() -{ - /* Some linkers (e.g. on AIX) remove unreferenced variables, - so make sure to reference them. */ - v_char = 0; - v_signed_char = 1; - v_unsigned_char = 2; - - v_short = 3; - v_signed_short = 4; - v_unsigned_short = 5; - - v_int = 6; - v_signed_int = 7; - v_unsigned_int = 8; - - v_long = 9; - v_signed_long = 10; - v_unsigned_long = 11; - - v_float = 100.0; - v_double = 200.0; - - - v_char_array[0] = v_char; - v_signed_char_array[0] = v_signed_char; - v_unsigned_char_array[0] = v_unsigned_char; - - v_short_array[0] = v_short; - v_signed_short_array[0] = v_signed_short; - v_unsigned_short_array[0] = v_unsigned_short; - - v_int_array[0] = v_int; - v_signed_int_array[0] = v_signed_int; - v_unsigned_int_array[0] = v_unsigned_int; - - v_long_array[0] = v_long; - v_signed_long_array[0] = v_signed_long; - v_unsigned_long_array[0] = v_unsigned_long; - - v_float_array[0] = v_float; - v_double_array[0] = v_double; - - v_char_pointer = &v_char; - v_signed_char_pointer = &v_signed_char; - v_unsigned_char_pointer = &v_unsigned_char; - - v_short_pointer = &v_short; - v_signed_short_pointer = &v_signed_short; - v_unsigned_short_pointer = &v_unsigned_short; - - v_int_pointer = &v_int; - v_signed_int_pointer = &v_signed_int; - v_unsigned_int_pointer = &v_unsigned_int; - - v_long_pointer = &v_long; - v_signed_long_pointer = &v_signed_long; - v_unsigned_long_pointer = &v_unsigned_long; - - v_float_pointer = &v_float; - v_double_pointer = &v_double; - - color = red; - clunker = porsche; - - u_link.next = s_link; - - v_struct2.v_int_member = v_struct1.v_int_member; - v_union2.v_short_member = v_union.v_short_member; -} diff --git a/gdb/testsuite/gdb.base/exprs.exp b/gdb/testsuite/gdb.base/exprs.exp deleted file mode 100644 index 859c14d574b..00000000000 --- a/gdb/testsuite/gdb.base/exprs.exp +++ /dev/null @@ -1,217 +0,0 @@ -# Copyright (C) 1988, 1990, 1991, 1992, 1994 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ - -# Please email any bugs, comments, and/or additions to this file to: -# bug-gdb@prep.ai.mit.edu - -# This file was written by Rob Savoye. (rob@cygnus.com) - -if $tracelevel { - strace $tracelevel -} - -# -# test running programs -# -set prms_id 0 -set bug_id 0 - -set testfile "exprs" -set srcfile ${testfile}.c -set binfile ${objdir}/${subdir}/${testfile} -if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug}] != "" } { - perror "Couldn't compile ${srcfile}" - return -1 -} - -if [get_compiler_info ${binfile}] { - return -1; -} - -gdb_exit -gdb_start -gdb_reinitialize_dir $srcdir/$subdir -gdb_load ${binfile} - -# -# set it up at a breakpoint so we can play with the variable values -# - -if ![runto_main] then { - perror "couldn't run to breakpoint" - continue -} - -proc test_expr { args } { - if { [llength $args] % 2 } { - warning "an even # of arguments should be passed to test_expr" - } - set last_ent [expr [llength $args] - 1]; - set testname [lindex $args $last_ent]; - if [gdb_test [lindex $args 0] "" "$testname (setup)"] { - return 1; - } - for {set x 1} {$x < $last_ent} {set x [expr $x + 2]} { - if [gdb_test [lindex $args $x] [lindex $args [expr $x + 1]] "$testname ([lindex $args $x])"] { - return 1; - } - } -} -# -# test expressions with "char" types -# -test_expr "set variable v_char=127" "print v_char == 0" "\\$\[0-9\]* = 0" "print v_char == 127" "\\$\[0-9\]* = 1" "print char ==" -test_expr "set variable v_char=127" "print v_char != 0" "\\$\[0-9\]* = 1" "print v_char != 127" "\\$\[0-9\]* = 0" "print char !=" -test_expr "set variable v_char=127" "print v_char < 0" "\\$\[0-9\]* = 0" "print v_char < 127" "\\$\[0-9\]* = 0" "print char <" -test_expr "set variable v_char=127" "print v_char > 0" "\\$\[0-9\]* = 1" "print v_char > 127" "\\$\[0-9\]* = 0" "print char >" -# -# test expressions with "signed char" types -# -test_expr "set variable v_signed_char=127" "print v_signed_char == 0" "\\$\[0-9\]* = 0" "print v_signed_char == 127" "\\$\[0-9\]* = 1" "print signed char ==" -test_expr "set variable v_signed_char=127" "print v_signed_char != 0" "\\$\[0-9\]* = 1" "print v_signed_char != 127" "\\$\[0-9\]* = 0" "print signed char !=" -test_expr "set variable v_signed_char=127" "print v_signed_char < 0" "\\$\[0-9\]* = 0" "print v_signed_char < 127" "\\$\[0-9\]* = 0" "print signed char <" -test_expr "set variable v_signed_char=127" "print v_signed_char > 0" "\\$\[0-9\]* = 1" "print v_signed_char > 127" "\\$\[0-9\]* = 0" "print signed char >" -# make char a minus -test_expr "set variable v_signed_char=-1" "print v_signed_char == 0" "\\$\[0-9\]* = 0" "print v_signed_char == -1" "\\$\[0-9\]* = 1" "print signed char == (minus)" -test_expr "set variable v_signed_char=-1" "print v_signed_char != 0" "\\$\[0-9\]* = 1" "print v_signed_char != -1" "\\$\[0-9\]* = 0" "print signed char != (minus)" -test_expr "set variable v_signed_char=-1" "print v_signed_char < 0" "\\$\[0-9\]* = 1" "print v_signed_char < 127" "\\$\[0-9\]* = 1" "print signed char < (minus)" -test_expr "set variable v_signed_char=-1" "print v_signed_char > 0" "\\$\[0-9\]* = 0" "print v_signed_char > 127" "\\$\[0-9\]* = 0" "print signed char > (minus)" -# -# test expressions with "unsigned char" types -# -test_expr "set variable v_unsigned_char=127" "print v_unsigned_char == 0" "\\$\[0-9\]* = 0" "print v_unsigned_char == 127" "\\$\[0-9\]* = 1" "print unsigned char ==" -test_expr "set variable v_unsigned_char=127" "print v_unsigned_char != 0" "\\$\[0-9\]* = 1" "print v_unsigned_char != 127" "\\$\[0-9\]* = 0" "print unsigned char !=" -test_expr "set variable v_unsigned_char=127" "print v_unsigned_char < 0" "\\$\[0-9\]* = 0" "print v_unsigned_char < 127" "\\$\[0-9\]* = 0" "print unsigned char <" -test_expr "set variable v_unsigned_char=127" "print v_unsigned_char > 0" "\\$\[0-9\]* = 1" "print v_unsigned_char > 127" "\\$\[0-9\]* = 0" "print unsigned char >" -# make char a minus -# FIXME: gdb mishandles the cast (unsigned char) on the i960, so I've -# set up an expected failure for this case. -setup_xfail "i960-*-*" 1821 -test_expr "set variable v_unsigned_char=~0" "print v_unsigned_char == 0" "\\$\[0-9\]* = 0" "print v_unsigned_char == ~0" "\\$\[0-9\]* = 0" "print v_unsigned_char == (unsigned char)~0" "\\$\[0-9\]* = 1" "print unsigned char == (~0)" -# FIXME: gdb mishandles the cast (unsigned char) on the i960, so I've -# set up an expected failure for this case. -setup_xfail "i960-*-*" 1821 -test_expr "set variable v_unsigned_char=~0" "print v_unsigned_char != 0" "\\$\[0-9\]* = 1" "print v_unsigned_char != (unsigned char)~0" "\\$\[0-9\]* = 0" "print unsigned char != (~0)" -test_expr "set variable v_unsigned_char=~0" "print v_unsigned_char < 0" "\\$\[0-9\]* = 0" "print v_unsigned_char < 127" "\\$\[0-9\]* = 0" "print unsigned char < (~0)" -test_expr "set variable v_unsigned_char=~0" "print v_unsigned_char > 0" "\\$\[0-9\]* = 1" "print v_unsigned_char > 127" "\\$\[0-9\]* = 1" "print unsigned char > (~0)" -# -# test expressions with "short" types -# -test_expr "set variable v_short=0x7FFF" "print v_short == 0" "\\$\[0-9\]* = 0" "print v_short == 0x7FFF" "\\$\[0-9\]* = 1" "print signed short ==" -test_expr "set variable v_short=0x7FFF" "print v_short != 0" "\\$\[0-9\]* = 1" "print v_short != 0x7FFF" "\\$\[0-9\]* = 0" "print signed short !=" -test_expr "set variable v_short=0x7FFF" "print v_short < 0" "\\$\[0-9\]* = 0" "print v_short < 0x7FFF" "\\$\[0-9\]* = 0" "print signed short <" -test_expr "set variable v_short=0x7FFF" "print v_short > 0" "\\$\[0-9\]* = 1" "print v_short > 0x7FFF" "\\$\[0-9\]* = 0" "print signed short >" -# make short a minus -test_expr "set variable v_short=-1" "print v_short == 0" "\\$\[0-9\]* = 0" "print v_short == -1" "\\$\[0-9\]* = 1" "print signed short == (minus)" -test_expr "set variable v_short=-1" "print v_short != 0" "\\$\[0-9\]* = 1" "print v_short != -1" "\\$\[0-9\]* = 0" "print signed short != (minus)" -test_expr "set variable v_short=-1" "print v_short < 0" "\\$\[0-9\]* = 1" "print v_short < 0x7FFF" "\\$\[0-9\]* = 1" "print signed short < (minus)" -test_expr "set variable v_short=-1" "print v_short > 0" "\\$\[0-9\]* = 0" "print v_short > 0x7FFF" "\\$\[0-9\]* = 0" "print signed short > (minus)" -# -# test expressions with "signed short" types -# -test_expr "set variable v_signed_short=0x7FFF" "print v_signed_short == 0" "\\$\[0-9\]* = 0" "print v_signed_short == 0x7FFF" "\\$\[0-9\]* = 1" "print signed signed short ==" -test_expr "set variable v_signed_short=0x7FFF" "print v_signed_short != 0" "\\$\[0-9\]* = 1" "print v_signed_short != 0x7FFF" "\\$\[0-9\]* = 0" "print signed signed short !=" -test_expr "set variable v_signed_short=0x7FFF" "print v_signed_short < 0" "\\$\[0-9\]* = 0" "print v_signed_short < 0x7FFF" "\\$\[0-9\]* = 0" "print signed signed short <" -test_expr "set variable v_signed_short=0x7FFF" "print v_signed_short > 0" "\\$\[0-9\]* = 1" "print v_signed_short > 0x7FFF" "\\$\[0-9\]* = 0" "print signed signed short >" -# make short a minus -test_expr "set variable v_signed_short=-1" "print v_signed_short == 0" "\\$\[0-9\]* = 0" "print v_signed_short == -1" "\\$\[0-9\]* = 1" "print signed signed short == (minus)" -test_expr "set variable v_signed_short=-1" "print v_signed_short != 0" "\\$\[0-9\]* = 1" "print v_signed_short != -1" "\\$\[0-9\]* = 0" "print signed signed short != (minus)" -test_expr "set variable v_signed_short=-1" "print v_signed_short < 0" "\\$\[0-9\]* = 1" "print v_signed_short < 0x7FFF" "\\$\[0-9\]* = 1" "print signed signed short < (minus)" -test_expr "set variable v_signed_short=-1" "print v_signed_short > 0" "\\$\[0-9\]* = 0" "print v_signed_short > 0x7FFF" "\\$\[0-9\]* = 0" "print signed signed short > (minus)" -# -# test expressions with "unsigned short" types -# -test_expr "set variable v_unsigned_short=0x7FFF" "print v_unsigned_short == 0" "\\$\[0-9\]* = 0" "print v_unsigned_short == 0x7FFF" "\\$\[0-9\]* = 1" "print unsigned short ==" -test_expr "set variable v_unsigned_short=0x7FFF" "print v_unsigned_short != 0" "\\$\[0-9\]* = 1" "print v_unsigned_short != 0x7FFF" "\\$\[0-9\]* = 0" "print unsigned short !=" -test_expr "set variable v_unsigned_short=0x7FFF" "print v_unsigned_short < 0" "\\$\[0-9\]* = 0" "print v_unsigned_short < 0x7FFF" "\\$\[0-9\]* = 0" "print unsigned short <" -test_expr "set variable v_unsigned_short=0x7FFF" "print v_unsigned_short > 0" "\\$\[0-9\]* = 1" "print v_unsigned_short > 0x7FFF" "\\$\[0-9\]* = 0" "print unsigned short >" -# make short a minus -test_expr "set variable v_unsigned_short=~0" "print v_unsigned_short == 0" "\\$\[0-9\]* = 0" "print v_unsigned_short == ~0" "\\$\[0-9\]* = 0" "print v_unsigned_short == (unsigned short)~0" "\\$\[0-9\]* = 1" "print unsigned short == (~0)" -test_expr "set variable v_unsigned_short=~0" "print v_unsigned_short != 0" "\\$\[0-9\]* = 1" "print v_unsigned_short != (unsigned short)~0" "\\$\[0-9\]* = 0" "print unsigned short != (~0)" -test_expr "set variable v_unsigned_short=~0" "print v_unsigned_short < 0" "\\$\[0-9\]* = 0" "print v_unsigned_short < 0x7FFF" "\\$\[0-9\]* = 0" "print unsigned short < (~0)" -test_expr "set variable v_unsigned_short=~0" "print v_unsigned_short > 0" "\\$\[0-9\]* = 1" "print v_unsigned_short > 0x7FFF" "\\$\[0-9\]* = 1" "print unsigned short > (~0)" -# -# test expressions with "int" types -# -test_expr "set variable v_int=0x7FFF" "print v_int == 0" "\\$\[0-9\]* = 0" "print v_int == 0x7FFF" "\\$\[0-9\]* = 1" "print signed int ==" -test_expr "set variable v_int=0x7FFF" "print v_int != 0" "\\$\[0-9\]* = 1" "print v_int != 0x7FFF" "\\$\[0-9\]* = 0" "print signed int !=" -test_expr "set variable v_int=0x7FFF" "print v_int < 0" "\\$\[0-9\]* = 0" "print v_int < 0x7FFF" "\\$\[0-9\]* = 0" "print signed int <" -test_expr "set variable v_int=0x7FFF" "print v_int > 0" "\\$\[0-9\]* = 1" "print v_int > 0x7FFF" "\\$\[0-9\]* = 0" "print signed int >" -# make int a minus -test_expr "set variable v_int=-1" "print v_int == 0" "\\$\[0-9\]* = 0" "print v_int == -1" "\\$\[0-9\]* = 1" "print signed int == (minus)" -test_expr "set variable v_int=-1" "print v_int != 0" "\\$\[0-9\]* = 1" "print v_int != -1" "\\$\[0-9\]* = 0" "print signed int != (minus)" -test_expr "set variable v_int=-1" "print v_int < 0" "\\$\[0-9\]* = 1" "print v_int < 0x7FFF" "\\$\[0-9\]* = 1" "print signed int < (minus)" -test_expr "set variable v_int=-1" "print v_int > 0" "\\$\[0-9\]* = 0" "print v_int > 0x7FFF" "\\$\[0-9\]* = 0" "print signed int > (minus)" -# -# test expressions with "signed int" types -# -test_expr "set variable v_signed_int=0x7FFF" "print v_signed_int == 0" "\\$\[0-9\]* = 0" "print v_signed_int == 0x7FFF" "\\$\[0-9\]* = 1" "print signed signed int ==" -test_expr "set variable v_signed_int=0x7FFF" "print v_signed_int != 0" "\\$\[0-9\]* = 1" "print v_signed_int != 0x7FFF" "\\$\[0-9\]* = 0" "print signed signed int !=" -test_expr "set variable v_signed_int=0x7FFF" "print v_signed_int < 0" "\\$\[0-9\]* = 0" "print v_signed_int < 0x7FFF" "\\$\[0-9\]* = 0" "print signed signed int <" -test_expr "set variable v_signed_int=0x7FFF" "print v_signed_int > 0" "\\$\[0-9\]* = 1" "print v_signed_int > 0x7FFF" "\\$\[0-9\]* = 0" "print signed signed int >" -# make int a minus -test_expr "set variable v_signed_int=-1" "print v_signed_int == 0" "\\$\[0-9\]* = 0" "print v_signed_int == -1" "\\$\[0-9\]* = 1" "print signed signed int == (minus)" -test_expr "set variable v_signed_int=-1" "print v_signed_int != 0" "\\$\[0-9\]* = 1" "print v_signed_int != -1" "\\$\[0-9\]* = 0" "print signed signed int != (minus)" -test_expr "set variable v_signed_int=-1" "print v_signed_int < 0" "\\$\[0-9\]* = 1" "print v_signed_int < 0x7FFF" "\\$\[0-9\]* = 1" "print signed signed int < (minus)" -test_expr "set variable v_signed_int=-1" "print v_signed_int > 0" "\\$\[0-9\]* = 0" "print v_signed_int > 0x7FFF" "\\$\[0-9\]* = 0" "print signed signed int > (minus)" -# -# test expressions with "unsigned int" types -# -test_expr "set variable v_unsigned_int=0x7FFF" "print v_unsigned_int == 0" "\\$\[0-9\]* = 0" "print v_unsigned_int == 0x7FFF" "\\$\[0-9\]* = 1" "print unsigned int ==" -test_expr "set variable v_unsigned_int=0x7FFF" "print v_unsigned_int != 0" "\\$\[0-9\]* = 1" "print v_unsigned_int != 0x7FFF" "\\$\[0-9\]* = 0" "print unsigned int !=" -test_expr "set variable v_unsigned_int=0x7FFF" "print v_unsigned_int < 0" "\\$\[0-9\]* = 0" "print v_unsigned_int < 0x7FFF" "\\$\[0-9\]* = 0" "print unsigned int <" -test_expr "set variable v_unsigned_int=0x7FFF" "print v_unsigned_int > 0" "\\$\[0-9\]* = 1" "print v_unsigned_int > 0x7FFF" "\\$\[0-9\]* = 0" "print unsigned int >" -# make int a minus -test_expr "set variable v_unsigned_int=~0" "print v_unsigned_int == 0" "\\$\[0-9\]* = 0" "print v_unsigned_int == ~0" "\\$\[0-9\]* = 1" "print v_unsigned_int == (unsigned int)~0" "\\$\[0-9\]* = 1" "print unsigned int == (~0)" -test_expr "set variable v_unsigned_int=~0" "print v_unsigned_int != 0" "\\$\[0-9\]* = 1" "print v_unsigned_int != (unsigned int)~0" "\\$\[0-9\]* = 0" "print unsigned int != (~0)" -test_expr "set variable v_unsigned_int=~0" "print v_unsigned_int < 0" "\\$\[0-9\]* = 0" "print v_unsigned_int < 0x7FFF" "\\$\[0-9\]* = 0" "print unsigned int < (~0)" -test_expr "set variable v_unsigned_int=~0" "print v_unsigned_int > 0" "\\$\[0-9\]* = 1" "print v_unsigned_int > 0x7FFF" "\\$\[0-9\]* = 1" "print unsigned int > (~0)" -# -# test expressions with "long" types -# -test_expr "set variable v_long=0x7FFF" "print v_long == 0" "\\$\[0-9\]* = 0" "print v_long == 0x7FFF" "\\$\[0-9\]* = 1" "print signed long ==" -test_expr "set variable v_long=0x7FFF" "print v_long != 0" "\\$\[0-9\]* = 1" "print v_long != 0x7FFF" "\\$\[0-9\]* = 0" "print signed long !=" -test_expr "set variable v_long=0x7FFF" "print v_long < 0" "\\$\[0-9\]* = 0" "print v_long < 0x7FFF" "\\$\[0-9\]* = 0" "print signed long <" -test_expr "set variable v_long=0x7FFF" "print v_long > 0" "\\$\[0-9\]* = 1" "print v_long > 0x7FFF" "\\$\[0-9\]* = 0" "print signed long >" -# make long a minus -test_expr "set variable v_long=-1" "print v_long == 0" "\\$\[0-9\]* = 0" "print v_long == -1" "\\$\[0-9\]* = 1" "print signed long == (minus)" -test_expr "set variable v_long=-1" "print v_long != 0" "\\$\[0-9\]* = 1" "print v_long != -1" "\\$\[0-9\]* = 0" "print signed long != (minus)" -test_expr "set variable v_long=-1" "print v_long < 0" "\\$\[0-9\]* = 1" "print v_long < 0x7FFF" "\\$\[0-9\]* = 1" "print signed long < (minus)" -test_expr "set variable v_long=-1" "print v_long > 0" "\\$\[0-9\]* = 0" "print v_long > 0x7FFF" "\\$\[0-9\]* = 0" "print signed long > (minus)" -# -# test expressions with "signed long" types -# -test_expr "set variable v_signed_long=0x7FFF" "print v_signed_long == 0" "\\$\[0-9\]* = 0" "print v_signed_long == 0x7FFF" "\\$\[0-9\]* = 1" "print signed signed long ==" -test_expr "set variable v_signed_long=0x7FFF" "print v_signed_long != 0" "\\$\[0-9\]* = 1" "print v_signed_long != 0x7FFF" "\\$\[0-9\]* = 0" "print signed signed long !=" -test_expr "set variable v_signed_long=0x7FFF" "print v_signed_long < 0" "\\$\[0-9\]* = 0" "print v_signed_long < 0x7FFF" "\\$\[0-9\]* = 0" "print signed signed long <" -test_expr "set variable v_signed_long=0x7FFF" "print v_signed_long > 0" "\\$\[0-9\]* = 1" "print v_signed_long > 0x7FFF" "\\$\[0-9\]* = 0" "print signed signed long >" -# make long a minus -test_expr "set variable v_signed_long=-1" "print v_signed_long == 0" "\\$\[0-9\]* = 0" "print v_signed_long == -1" "\\$\[0-9\]* = 1" "print signed signed long == (minus)" -test_expr "set variable v_signed_long=-1" "print v_signed_long != 0" "\\$\[0-9\]* = 1" "print v_signed_long != -1" "\\$\[0-9\]* = 0" "print signed signed long != (minus)" -test_expr "set variable v_signed_long=-1" "print v_signed_long < 0" "\\$\[0-9\]* = 1" "print v_signed_long < 0x7FFF" "\\$\[0-9\]* = 1" "print signed signed long < (minus)" -test_expr "set variable v_signed_long=-1" "print v_signed_long > 0" "\\$\[0-9\]* = 0" "print v_signed_long > 0x7FFF" "\\$\[0-9\]* = 0" "print signed signed long > (minus)" -# -# test expressions with "unsigned long" types -# -test_expr "set variable v_unsigned_long=0x7FFF" "print v_unsigned_long == 0" "\\$\[0-9\]* = 0" "print v_unsigned_long == 0x7FFF" "\\$\[0-9\]* = 1" "print unsigned long ==" -test_expr "set variable v_unsigned_long=0x7FFF" "print v_unsigned_long != 0" "\\$\[0-9\]* = 1" "print v_unsigned_long != 0x7FFF" "\\$\[0-9\]* = 0" "print unsigned long !=" -test_expr "set variable v_unsigned_long=0x7FFF" "print v_unsigned_long < 0" "\\$\[0-9\]* = 0" "print v_unsigned_long < 0x7FFF" "\\$\[0-9\]* = 0" "print unsigned long <" -test_expr "set variable v_unsigned_long=0x7FFF" "print v_unsigned_long > 0" "\\$\[0-9\]* = 1" "print v_unsigned_long > 0x7FFF" "\\$\[0-9\]* = 0" "print unsigned long >" -# make long a minus -test_expr "set variable v_unsigned_long=~0" "print v_unsigned_long == 0" "\\$\[0-9\]* = 0" "print v_unsigned_long == ~0" "\\$\[0-9\]* = 1" "print v_unsigned_long == (unsigned long)~0" "\\$\[0-9\]* = 1" "print unsigned long == (~0)" -test_expr "set variable v_unsigned_long=~0" "print v_unsigned_long != 0" "\\$\[0-9\]* = 1" "print v_unsigned_long != (unsigned long)~0" "\\$\[0-9\]* = 0" "print unsigned long != (~0)" -test_expr "set variable v_unsigned_long=~0" "print v_unsigned_long < 0" "\\$\[0-9\]* = 0" "print v_unsigned_long < 0x7FFF" "\\$\[0-9\]* = 0" "print unsigned long < (~0)" -test_expr "set variable v_unsigned_long=~0" "print v_unsigned_long > 0" "\\$\[0-9\]* = 1" "print v_unsigned_long > 0x7FFF" "\\$\[0-9\]* = 1" "print unsigned long > (~0)" diff --git a/gdb/testsuite/gdb.base/funcargs.c b/gdb/testsuite/gdb.base/funcargs.c deleted file mode 100644 index 6c0fdd09f00..00000000000 --- a/gdb/testsuite/gdb.base/funcargs.c +++ /dev/null @@ -1,545 +0,0 @@ -/* Test passing of arguments to functions. Use various sorts of arguments, - including basic types, pointers to those types, structures, lots of - args, etc, in various combinations. */ - -/* AIX requires this to be the first thing in the file. */ -#ifdef __GNUC__ -# define alloca __builtin_alloca -# define HAVE_STACK_ALLOCA 1 -#else /* not __GNUC__ */ -# ifdef _AIX - #pragma alloca -# define HAVE_STACK_ALLOCA 1 -# else /* Not AIX */ -# ifdef sparc -# include <alloca.h> -# define HAVE_STACK_ALLOCA 1 - char *alloca (); -# endif /* sparc */ -# endif /* Not AIX */ -#endif /* not __GNUC__ */ - -char c = 'a'; -char *cp = &c; - -unsigned char uc = 'b'; -unsigned char *ucp = &uc; - -short s = 1; -short *sp = &s; - -unsigned short us = 6; -unsigned short *usp = &us; - -int i = 2; -int *ip = &i; - -unsigned int ui = 7; -unsigned int *uip = &ui; - -long l = 3; -long *lp = &l; - -unsigned long ul = 8; -unsigned long *ulp = &ul; - -float f = 4.0; -float *fp = &f; - -double d = 5.0; -double *dp = &d; - -struct stag { - int s1; - int s2; -} st = { 101, 102 }; -struct stag *stp = &st; - -union utag { - int u1; - long u2; -} un; -union utag *unp = &un; - -char carray[] = {'a', 'n', ' ', 'a', 'r', 'r', 'a', 'y', '\0'}; - - -/* Test various permutations and interleaving of integral arguments */ - - -call0a (c, s, i, l) -char c; short s; int i; long l; -{ - c = 'a'; - s = 5; - i = 6; - l = 7; -} - -call0b (s, i, l, c) -short s; int i; long l; char c; -{ - s = 6; i = 7; l = 8; c = 'j'; -} - -call0c (i, l, c, s) -int i; long l; char c; short s; -{ - i = 3; l = 4; c = 'k'; s = 5; -} - -call0d (l, c, s, i) -long l; char c; short s; int i; -{ - l = 7; c = 'z'; s = 8; i = 9; -} - -call0e (c1, l, c2, i, c3, s, c4, c5) -char c1; long l; char c2; int i; char c3; short s; char c4; char c5; -{ - c1 = 'a'; l = 5; c2 = 'b'; i = 7; c3 = 'c'; s = 7; c4 = 'f'; c5 = 'g'; -} - - -/* Test various permutations and interleaving of unsigned integral arguments */ - - -call1a (uc, us, ui, ul) -unsigned char uc; unsigned short us; unsigned int ui; unsigned long ul; -{ - uc = 5; us = 6; ui = 7; ul = 8; -} - -call1b (us, ui, ul, uc) -unsigned short us; unsigned int ui; unsigned long ul; unsigned char uc; -{ - uc = 5; us = 6; ui = 7; ul = 8; -} - -call1c (ui, ul, uc, us) -unsigned int ui; unsigned long ul; unsigned char uc; unsigned short us; -{ - uc = 5; us = 6; ui = 7; ul = 8; -} - -call1d (ul, uc, us, ui) -unsigned long ul; unsigned char uc; unsigned short us; unsigned int ui; -{ - uc = 5; us = 6; ui = 7; ul = 8; -} - -call1e (uc1, ul, uc2, ui, uc3, us, uc4, uc5) -unsigned char uc1; unsigned long ul; unsigned char uc2; unsigned int ui; -unsigned char uc3; unsigned short us; unsigned char uc4; unsigned char uc5; -{ - uc1 = 5; ul = 7; uc2 = 8; ui = 9; uc3 = 10; us = 11; uc4 = 12; uc5 = 55; -} - -/* Test various permutations and interleaving of integral arguments with - floating point arguments. */ - - -call2a (c, f1, s, d1, i, f2, l, d2) -char c; float f1; short s; double d1; int i; float f2; long l; double d2; -{ - c = 'a'; f1 = 0.0; s = 5; d1 = 0.0; i = 6; f2 = 0.1; l = 7; d2 = 0.2; -} - -call2b (f1, s, d1, i, f2, l, d2, c) -float f1; short s; double d1; int i; float f2; long l; double d2; char c; -{ - c = 'a'; f1 = 0.0; s = 5; d1 = 0.0; i = 6; f2 = 0.1; l = 7; d2 = 0.2; -} - -call2c (s, d1, i, f2, l, d2, c, f1) -short s; double d1; int i; float f2; long l; double d2; char c; float f1; -{ - c = 'a'; f1 = 0.0; s = 5; d1 = 0.0; i = 6; f2 = 0.1; l = 7; d2 = 0.2; -} - -call2d (d1, i, f2, l, d2, c, f1, s) -double d1; int i; float f2; long l; double d2; char c; float f1; short s; -{ - c = 'a'; f1 = 0.0; s = 5; d1 = 0.0; i = 6; f2 = 0.1; l = 7; d2 = 0.2; -} - -call2e (i, f2, l, d2, c, f1, s, d1) -int i; float f2; long l; double d2; char c; float f1; short s; double d1; -{ - c = 'a'; f1 = 0.0; s = 5; d1 = 0.0; i = 6; f2 = 0.1; l = 7; d2 = 0.2; -} - -call2f (f2, l, d2, c, f1, s, d1, i) -float f2; long l; double d2; char c; float f1; short s; double d1; int i; -{ - c = 'a'; f1 = 0.0; s = 5; d1 = 0.0; i = 6; f2 = 0.1; l = 7; d2 = 0.2; -} - -call2g (l, d2, c, f1, s, d1, i, f2) -long l; double d2; char c; float f1; short s; double d1; int i; float f2; -{ - c = 'a'; f1 = 0.0; s = 5; d1 = 0.0; i = 6; f2 = 0.1; l = 7; d2 = 0.2; -} - -call2h (d2, c, f1, s, d1, i, f2, l) -double d2; char c; float f1; short s; double d1; int i; float f2; long l; -{ - c = 'a'; f1 = 0.0; s = 5; d1 = 0.0; i = 6; f2 = 0.1; l = 7; d2 = 0.2; -} - -call2i (c1, f1, c2, c3, d1, c4, c5, c6, f2, s, c7, d2) -char c1; float f1; char c2; char c3; double d1; char c4; char c5; char c6; -float f2; short s; char c7; double d2; -{ - c1 = 'a'; f1 = 0.0; c2 = 5; d1 = 0.0; c3 = 6; f2 = 0.1; c4 = 7; d2 = 0.2; - c5 = 's'; c6 = 'f'; c7 = 'z'; s = 77; -} - - -/* Test pointers to various integral and floating types. */ - - -call3a (cp, sp, ip, lp) -char *cp; short *sp; int *ip; long *lp; -{ - cp = 0; sp = 0; ip = 0; lp = 0; -} - -call3b (ucp, usp, uip, ulp) -unsigned char *ucp; unsigned short *usp; unsigned int *uip; -unsigned long *ulp; -{ - ucp = 0; usp = 0; uip = 0; ulp = 0; -} - -call3c (fp, dp) -float *fp; double *dp; -{ - fp = 0; dp = 0; -} - - -/* Test passing structures and unions by reference. */ - - -call4a (stp) -struct stag *stp; { -stp = 0;} - -call4b (unp) -union utag *unp; -{ - unp = 0; -} - - -/* Test passing structures and unions by value. */ - - -call5a (st) -struct stag st; {st.s1 = 5;} - -call5b (un) -union utag un; {un.u1 = 7;} - - -/* Test shuffling of args */ - - -call6a (c, s, i, l, f, d, uc, us, ui, ul) -char c; short s; int i; long l; float f; double d; -unsigned char uc; unsigned short us; unsigned int ui; unsigned long ul; -{ - c = c; - call6b (s, i, l, f, d, uc, us, ui, ul); -} - -call6b (s, i, l, f, d, uc, us, ui, ul) -short s; int i; long l; float f; double d; -unsigned char uc; unsigned short us; unsigned int ui; unsigned long ul; -{ - s = s; - call6c (i, l, f, d, uc, us, ui, ul); -} - -call6c (i, l, f, d, uc, us, ui, ul) -int i; long l; float f; double d; -unsigned char uc; unsigned short us; unsigned int ui; unsigned long ul; -{ - i = i; - call6d (l, f, d, uc, us, ui, ul); -} - -call6d (l, f, d, uc, us, ui, ul) -long l; float f; double d; -unsigned char uc; unsigned short us; unsigned int ui; unsigned long ul; -{ - l = l; - call6e (f, d, uc, us, ui, ul); -} - -call6e (f, d, uc, us, ui, ul) -float f; double d; -unsigned char uc; unsigned short us; unsigned int ui; unsigned long ul; -{ - f = f; - call6f (d, uc, us, ui, ul); -} - -call6f (d, uc, us, ui, ul) -double d; -unsigned char uc; unsigned short us; unsigned int ui; unsigned long ul; -{ - d = d; - call6g (uc, us, ui, ul); -} - -call6g (uc, us, ui, ul) -unsigned char uc; unsigned short us; unsigned int ui; unsigned long ul; -{ - uc = uc; - call6h (us, ui, ul); -} - -call6h (us, ui, ul) -unsigned short us; unsigned int ui; unsigned long ul; -{ - us = us; - call6i (ui, ul); -} - -call6i (ui, ul) -unsigned int ui; unsigned long ul; -{ - ui = ui; - call6j (ul); -} - -call6j (ul) -unsigned long ul; -{ - ul = ul; - call6k (); -} - -call6k () -{ -} - - -/* Test shuffling of args, round robin */ - - -call7a (c, i, s, l, f, uc, d, us, ul, ui) -char c; int i; short s; long l; float f; unsigned char uc; double d; unsigned short us; unsigned long ul; unsigned int ui; -{ - call7b (i, s, l, f, uc, d, us, ul, ui, c); -} - -call7b (i, s, l, f, uc, d, us, ul, ui, c) -int i; short s; long l; float f; unsigned char uc; double d; unsigned short us; unsigned long ul; unsigned int ui; char c; -{ - call7c (s, l, f, uc, d, us, ul, ui, c, i); -} - -call7c (s, l, f, uc, d, us, ul, ui, c, i) -short s; long l; float f; unsigned char uc; double d; unsigned short us; unsigned long ul; unsigned int ui; char c; int i; -{ - call7d (l, f, uc, d, us, ul, ui, c, i, s); -} - -call7d (l, f, uc, d, us, ul, ui, c, i, s) -long l; float f; unsigned char uc; double d; unsigned short us; unsigned long ul; unsigned int ui; char c; int i; short s; -{ - call7e (f, uc, d, us, ul, ui, c, i, s, l); -} - -call7e (f, uc, d, us, ul, ui, c, i, s, l) -float f; unsigned char uc; double d; unsigned short us; unsigned long ul; unsigned int ui; char c; int i; short s; long l; -{ - call7f (uc, d, us, ul, ui, c, i, s, l, f); -} - -call7f (uc, d, us, ul, ui, c, i, s, l, f) -unsigned char uc; double d; unsigned short us; unsigned long ul; unsigned int ui; char c; int i; short s; long l; float f; -{ - call7g (d, us, ul, ui, c, i, s, l, f, uc); -} - -call7g (d, us, ul, ui, c, i, s, l, f, uc) -double d; unsigned short us; unsigned long ul; unsigned int ui; char c; int i; short s; long l; float f; unsigned char uc; -{ - call7h (us, ul, ui, c, i, s, l, f, uc, d); -} - -call7h (us, ul, ui, c, i, s, l, f, uc, d) -unsigned short us; unsigned long ul; unsigned int ui; char c; int i; short s; long l; float f; unsigned char uc; double d; -{ - call7i (ul, ui, c, i, s, l, f, uc, d, us); -} - -call7i (ul, ui, c, i, s, l, f, uc, d, us) -unsigned long ul; unsigned int ui; char c; int i; short s; long l; float f; unsigned char uc; double d; unsigned short us; -{ - call7j (ui, c, i, s, l, f, uc, d, us, ul); -} - -call7j (ui, c, i, s, l, f, uc, d, us, ul) -unsigned int ui; char c; int i; short s; long l; float f; unsigned char uc; double d; unsigned short us; unsigned long ul; -{ - call7k (c, i, s, l, f, uc, d, us, ul, ui); -} - -call7k (c, i, s, l, f, uc, d, us, ul, ui) -char c; int i; short s; long l; float f; unsigned char uc; double d; unsigned short us; unsigned long ul; unsigned int ui; -{ - c = 'a'; i = 7; s = 8; l = 7; f = 0.3; uc = 44; d = 0.44; us = 77; - ul = 43; ui = 33; -} - - -/* Test printing of structures passed as arguments to recursive functions. */ - - -typedef struct s -{ - short s; - int i; - long l; -} SVAL; - -hitbottom () -{ -} - -void recurse (a, depth) -SVAL a; -int depth; -{ - a.s = a.i = a.l = --depth; - if (depth == 0) - hitbottom (); - else - recurse (a, depth); -} - -test_struct_args () -{ - SVAL s; s.s = 5; s.i = 5; s.l = 5; - - recurse (s, 5); -} - -/* On various machines (pa, 29k, and rs/6000, at least), a function which - calls alloca may do things differently with respect to frames. So give - it a try. */ - -int -localvars_after_alloca (c, s, i, l) - char c; - short s; - int i; - long l; -{ -#ifdef HAVE_STACK_ALLOCA - /* No need to use the alloca.c alloca-on-top-of-malloc; it doesn't - test what we are looking for, so if we don't have an alloca which - allocates on the stack, just don't bother to call alloca at all. */ - - char *z = alloca (s + 50); -#endif - c = 'a'; - s = 5; - i = 6; - l = 7; -} - - -/* The point behind this test is the PA will call this indirectly - through dyncall. Unlike the indirect calls to call0a, this test - will require a trampoline between dyncall and this function on the - call path, then another trampoline on between this function and main - on the return path. */ -double -call_with_trampolines (d1) -double d1; -{ - return d1; -} /* End of call_with_trampolines, this comment is needed by funcargs.exp */ - -/* Dummy functions which the testsuite can use to run to, etc. */ - -void -marker_indirect_call () {} - -void -marker_call_with_trampolines () {} - -main () -{ - int (*pointer_to_call0a) () = call0a; - double (*pointer_to_call_with_trampolines) () = call_with_trampolines; - - /* Test calling with basic integer types */ - call0a (c, s, i, l); - call0b (s, i, l, c); - call0c (i, l, c, s); - call0d (l, c, s, i); - call0e (c, l, c, i, c, s, c, c); - - /* Test calling with unsigned integer types */ - call1a (uc, us, ui, ul); - call1b (us, ui, ul, uc); - call1c (ui, ul, uc, us); - call1d (ul, uc, us, ui); - call1e (uc, ul, uc, ui, uc, us, uc, uc); - - /* Test calling with integral types mixed with floating point types */ - call2a (c, f, s, d, i, f, l, d); - call2b (f, s, d, i, f, l, d, c); - call2c (s, d, i, f, l, d, c, f); - call2d (d, i, f, l, d, c, f, s); - call2e (i, f, l, d, c, f, s, d); - call2f (f, l, d, c, f, s, d, i); - call2g (l, d, c, f, s, d, i, f); - call2h (d, c, f, s, d, i, f, l); - call2i (c, f, c, c, d, c, c, c, f, s, c, d);; - - /* Test dereferencing pointers to various integral and floating types */ - - call3a (cp, sp, ip, lp); - call3b (ucp, usp, uip, ulp); - call3c (fp, dp); - - /* Test dereferencing pointers to structs and unions */ - - call4a (stp); - un.u1 = 1; - call4b (unp); - - /* Test calling with structures and unions. */ - - call5a (st); - un.u1 = 2; - call5b (un); - - /* Test shuffling of args */ - - call6a (c, s, i, l, f, d, uc, us, ui, ul); - call7a (c, i, s, l, f, uc, d, us, ul, ui); - - /* Test passing structures recursively. */ - - test_struct_args (); - - localvars_after_alloca (c, s, i, l); - - /* This is for localvars_in_indirect_call. */ - marker_indirect_call (); - /* The comment on the following two lines is used by funcargs.exp, - don't change it. */ - (*pointer_to_call0a) (c, s, i, l); /* First step into call0a. */ - (*pointer_to_call0a) (c, s, i, l); /* Second step into call0a. */ - marker_call_with_trampolines (); - (*pointer_to_call_with_trampolines) (d); /* Test multiple trampolines. */ -} diff --git a/gdb/testsuite/gdb.base/funcargs.exp b/gdb/testsuite/gdb.base/funcargs.exp deleted file mode 100644 index fa79b678fc3..00000000000 --- a/gdb/testsuite/gdb.base/funcargs.exp +++ /dev/null @@ -1,938 +0,0 @@ -# Copyright (C) 1992, 1994, 1995, 1997 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - -# Please email any bugs, comments, and/or additions to this file to: -# bug-gdb@prep.ai.mit.edu - -# This file was written by Fred Fish. (fnf@cygnus.com) - -if $tracelevel { - strace $tracelevel -} - -set prms_id 0 -set bug_id 0 - -set testfile "funcargs" -set srcfile ${testfile}.c -set binfile ${objdir}/${subdir}/${testfile} -if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug}] != "" } { - perror "Couldn't compile ${srcfile}" - return -1 -} - -# Create and source the file that provides information about the compiler -# used to compile the test case. -if [get_compiler_info ${binfile}] { - return -1; -} - -# -# Locate actual args; integral types. -# - -proc integral_args {} { - global gdb_prompt - global det_file - global gcc_compiled - - delete_breakpoints - - gdb_breakpoint call0a - gdb_breakpoint call0b - gdb_breakpoint call0c - gdb_breakpoint call0d - gdb_breakpoint call0e - - # Run; should stop at call0a and print actual arguments. - # The a29k fails all of these tests, perhaps because the prologue - # code is broken. - setup_xfail "a29k-*-udi" - if {!$gcc_compiled} then { setup_xfail "rs6000-*-*" } - gdb_run_cmd - gdb_expect { - -re ".* call0a \\(c=97 'a', s=1, i=2, l=3\\) .*$gdb_prompt $" { - pass "run to call0a" - } - -re "$gdb_prompt $" { fail "run to call0a" ; gdb_suppress_tests } - timeout { fail "(timeout) run to call0a" ; gdb_suppress_tests } - } - - # Print each arg as a double check to see if we can print - # them here as well as with backtrace. - gdb_test "print c" ".* = 97 'a'" "print c after run to call0a" - gdb_test "print s" ".* = 1" "print s after run to call0a" - gdb_test "print i" ".* = 2" "print i after run to call0a" - gdb_test "print l " ".* = 3" "print l after run to call0a" - - # Continue; should stop at call0b and print actual arguments. - if [gdb_test "cont" ".* call0b \\(s=1, i=2, l=3, c=97 'a'\\) .*" "continue to call0b"] { - gdb_suppress_tests; - } - - # Continue; should stop at call0c and print actual arguments. - if [gdb_test "cont" ".* call0c \\(i=2, l=3, c=97 'a', s=1\\) .*" "continue to call0c"] { - gdb_suppress_tests; - } - - # Continue; should stop at call0d and print actual arguments. - if [gdb_test "cont" ".* call0d \\(l=3, c=97 'a', s=1, i=2\\) .*" "continue to call0d";] { - gdb_suppress_tests; - } - - # Continue; should stop at call0e and print actual arguments. - if [gdb_test "cont" ".* call0e \\(c1=97 'a', l=3, c2=97 'a', i=2, c3=97 'a', s=1, c4=97 'a', c5=97 'a'\\) .*" "continue to call0e" ] { - gdb_suppress_tests; - } - gdb_stop_suppressing_tests; -} - -# -# Locate actual args; unsigned integral types. -# - -proc unsigned_integral_args {} { - global gdb_prompt - global det_file - global gcc_compiled - - delete_breakpoints - - gdb_breakpoint call1a; - gdb_breakpoint call1b; - gdb_breakpoint call1c; - gdb_breakpoint call1d; - gdb_breakpoint call1e; - - # Run; should stop at call1a and print actual arguments. - # The a29k fails all of these tests, perhaps because the prologue - # code is broken. - setup_xfail "a29k-*-udi" - if {!$gcc_compiled} then { setup_xfail "rs6000-*-*" } - gdb_run_cmd - gdb_expect { - -re ".* call1a \\(uc=98 'b', us=6, ui=7, ul=8\\) .*$gdb_prompt $" { - pass "run to call1a" - } - -re "$gdb_prompt $" { fail "run to call1a" ; gdb_suppress_tests; } - timeout { fail "(timeout) run to call1a" ; gdb_suppress_tests; } - } - - # Print each arg as a double check to see if we can print - # them here as well as with backtrace. - gdb_test "print uc" ".* = 98 'b'" - gdb_test "print us" ".* = 6" - gdb_test "print ui" ".* = 7" - gdb_test "print ul" ".* = 8" - - # Continue; should stop at call1b and print actual arguments. - if [gdb_test "cont" ".* call1b \\(us=6, ui=7, ul=8, uc=98 'b'\\) .*" "continue to call1b"] { - gdb_suppress_tests; - } - - # Continue; should stop at call1c and print actual arguments. - if [gdb_test "cont" ".* call1c \\(ui=7, ul=8, uc=98 'b', us=6\\) .*" "continue to call1c"] { - gdb_suppress_tests; - } - - # Continue; should stop at call1d and print actual arguments. - if [gdb_test "cont" ".* call1d \\(ul=8, uc=98 'b', us=6, ui=7\\) .*" "continue to call1d"] { - gdb_suppress_tests; - } - - # Continue; should stop at call1e and print actual arguments. - if [gdb_test "cont" ".* call1e \\(uc1=98 'b', ul=8, uc2=98 'b', ui=7, uc3=98 'b', us=6, uc4=98 'b', uc5=98 'b'\\) .*" "continue to call1e"] { - gdb_suppress_tests; - } - gdb_stop_suppressing_tests; -} - -# -# Locate actual args; integrals mixed with floating point. -# - -proc float_and_integral_args {} { - global gdb_prompt - global det_file - global gcc_compiled - - delete_breakpoints - - gdb_breakpoint call2a - gdb_breakpoint call2b - gdb_breakpoint call2c - gdb_breakpoint call2d - gdb_breakpoint call2e - gdb_breakpoint call2f - gdb_breakpoint call2g - gdb_breakpoint call2h - - # Run; should stop at call2a and print actual arguments. - - setup_xfail "i960-*-*" 1813 - # The a29k fails all of these tests, perhaps because the prologue - # code is broken. - setup_xfail "a29k-*-udi" - if {!$gcc_compiled} then { setup_xfail "rs6000-*-*" "mips-sgi-irix5*" } - gdb_run_cmd - gdb_expect { - -re ".* call2a \\(c=97 'a', f1=4, s=1, d1=5, i=2, f2=4, l=3, d2=5\\) .*$gdb_prompt $" { pass "run to call2a" } - -re "$gdb_prompt $" { fail "run to call2a" ; gdb_suppress_tests; } - timeout { fail "(timeout) run to call2a" ; gdb_suppress_tests; } - } - - # Print each arg as a double check to see if we can print - gdb_test "print c" ".* = 97 'a'" "print c after run to call2a" - gdb_test "print f1" ".* = 4" "print f1 after run to call2a" - gdb_test "print s" ".* = 1" "print s after run to call2a" - gdb_test "print d1" ".* = 5" "print d1 after run to call2a" - gdb_test "print i" ".* = 2" "print i after run to call2a" - gdb_test "print f2" ".* = 4" "print f2 after run to call2a" - gdb_test "print l" ".* = 3" "print l after run to call2a" - gdb_test "print d2" ".* = 5" "print d2 after run to call2a" - - setup_xfail "rs6000-*-*" - if {!$gcc_compiled} then { setup_xfail "mips-sgi-irix*" } - # Continue; should stop at call2b and print actual arguments. - if [gdb_test "cont" ".* call2b \\(f1=4, s=1, d1=5, i=2, f2=4, l=3, d2=5, c=97 'a'\\) .*" "continue to call2b"] { - gdb_suppress_tests; - } - - # Continue; should stop at call2c and print actual arguments. - if [gdb_test "cont" ".* call2c \\(s=1, d1=5, i=2, f2=4, l=3, d2=5, c=97 'a', f1=4\\) .*" "continue to call2c"] { - gdb_suppress_tests; - } - - # Continue; should stop at call2d and print actual arguments. - if [gdb_test "cont" ".* call2d \\(d1=5, i=2, f2=4, l=3, d2=5, c=97 'a', f1=4, s=1\\) .*" "continue to call2d"] { - gdb_suppress_tests; - } - - # Continue; should stop at call2e and print actual arguments. - if [gdb_test "cont" ".* call2e \\(i=2, f2=4, l=3, d2=5, c=97 'a', f1=4, s=1, d1=5\\) .*" "continue to call2e"] { - gdb_suppress_tests; - } - - # Continue; should stop at call2f and print actual arguments. - if [gdb_test "cont" ".* call2f \\(f2=4, l=3, d2=5, c=97 'a', f1=4, s=1, d1=5, i=2\\) .*" "continue to call2f"] { - gdb_suppress_tests; - } - - # Continue; should stop at call2g and print actual arguments. - if [gdb_test "cont" ".* call2g \\(l=3, d2=5, c=97 'a', f1=4, s=1, d1=5, i=2, f2=4\\) .*" "continue to call2g"] { - gdb_suppress_tests; - } - - # Continue; should stop at call2h and print actual arguments. - if [gdb_test "cont" ".* call2h \\(d2=5, c=97 'a', f1=4, s=1, d1=5, i=2, f2=4, l=3\\) .*" "continue to call2h"] { - gdb_suppress_tests; - } - - # monitor only allows 8 breakpoints; w89k board allows 10, so - # break them up into two groups. - delete_breakpoints - gdb_breakpoint call2i - - # Continue; should stop at call2i and print actual arguments. - if [gdb_test "cont" ".* call2i \\(c1=97 'a', f1=4, c2=97 'a', c3=97 'a', d1=5, c4=97 'a', c5=97 'a', c6=97 'a', f2=4, s=1, c7=97 'a', d2=5\\) .*" "continue to call2i"] { - gdb_suppress_tests; - } - gdb_stop_suppressing_tests; -} - -# -# Locate actual args; dereference pointers to ints and floats. -# - -proc pointer_args {} { - global gdb_prompt - global hex - global det_file - - delete_breakpoints - - gdb_breakpoint call3a - gdb_breakpoint call3b - gdb_breakpoint call3c - - # Run; should stop at call3a and print actual arguments. - # Try dereferencing the arguments. - - # The a29k fails all of these tests, perhaps because the prologue - # code is broken. - setup_xfail "a29k-*-udi" - gdb_run_cmd - gdb_expect { - -re ".* call3a \\(cp=$hex \"a\", sp=$hex, ip=$hex, lp=$hex\\) .*$gdb_prompt $" { pass "run to call3a" } - -re "$gdb_prompt $" { fail "run to call3a" ; gdb_suppress_tests; } - timeout { fail "(timeout) run to call3a" ; gdb_suppress_tests; } - } - - gdb_test "print *cp" ".* = 97 'a'" - gdb_test "print *sp" ".* = 1" - gdb_test "print *ip" ".* = 2" - gdb_test "print *lp" ".* = 3" - - # Continue; should stop at call3b and print actual arguments. - # Try dereferencing the arguments. - if [gdb_test "cont" ".* call3b \\(ucp=$hex \"b\", usp=$hex, uip=$hex, ulp=$hex\\) .*" "continue to call3b"] { - gdb_suppress_tests; - } - - gdb_test "print *ucp" ".* = 98 'b'" - gdb_test "print *usp" ".* = 6" - gdb_test "print *uip" ".* = 7" - gdb_test "print *ulp" ".* = 8" - - # Continue; should stop at call3c and print actual arguments. - # Try dereferencing the arguments. - if [gdb_test "cont" ".* call3c \\(fp=$hex, dp=$hex\\) .*" "continue to call3c"] { - gdb_suppress_tests; - } - - gdb_test "print *fp" ".* = 4" - gdb_test "print *dp" ".* = 5" - -# pass "locate actual args, pointer types" - gdb_stop_suppressing_tests; -} - -# -# Locate actual args; structures and unions passed by reference. -# - -proc structs_by_reference {} { - global gdb_prompt - global hex - global det_file - - delete_breakpoints - - gdb_breakpoint call4a - gdb_breakpoint call4b - - # Run; should stop at call4a and print actual arguments. - # Try dereferencing the arguments. - - # The a29k fails all of these tests, perhaps because the prologue - # code is broken. - setup_xfail "a29k-*-udi" - gdb_run_cmd - gdb_expect { - -re ".* call4a \\(stp=$hex\\) .*$gdb_prompt $" { - pass "run to call4a" - } - -re "$gdb_prompt $" { fail "run to call4a" ; gdb_suppress_tests; } - timeout { fail "(timeout) run to call4a" ; gdb_suppress_tests; } - } - - gdb_test "print *stp" ".* = \{s1 = 101, s2 = 102\}" - - # Continue; should stop at call4b and print actual arguments. - # Try dereferencing the arguments. - - gdb_test "cont" ".* call4b \\(unp=$hex\\) .*" "continue to call4b" - - # sizeof int != sizeof long - if [target_info exists gdb,short_int] { - setup_xfail "*-*-*" - } - gdb_test "print *unp" ".* = \{u1 = 1, u2 = 1\}" - - pass "locate actual args, structs/unions passed by reference" - gdb_stop_suppressing_tests; -} - -# -# Locate actual args; structures and unions passed by value. -# - -proc structs_by_value {} { - global gdb_prompt - global hex - global det_file - - delete_breakpoints - - gdb_breakpoint call5a - gdb_breakpoint call5b - - # Run; should stop at call5a and print actual arguments. - # Try dereferencing the arguments. - - # The a29k fails all of these tests, perhaps because the prologue - # code is broken. - setup_xfail "a29k-*-udi" - gdb_run_cmd - gdb_expect { - -re ".* call5a \\(st=\{s1 = 101, s2 = 102\}\\) .*$gdb_prompt $" { - pass "run to call5a" - } - -re "$gdb_prompt $" { fail "run to call5a" ; gdb_suppress_tests; } - timeout { fail "(timeout) run to call5a" ; gdb_suppress_tests; } - } - - gdb_test "print st" ".* = \{s1 = 101, s2 = 102\}" - - # Continue; should stop at call5b and print actual arguments. - # Try dereferencing the arguments. - # sizeof int != sizeof long - if [target_info exists gdb,short_int] { - setup_xfail "*-*-*" - } - gdb_test "cont" ".* call5b \\(un=\{u1 = 2, u2 = 2\}\\) .*" \ - "continue to call5b" - - # sizeof int != sizeof long - if [target_info exists gdb,short_int] { - setup_xfail "*-*-*" - } - gdb_test "print un" ".* = \{u1 = 2, u2 = 2\}" - gdb_stop_suppressing_tests; -} - -# -# Locate actual args; discard, shuffle, and call -# - -proc discard_and_shuffle {} { - global gdb_prompt - global hex - global decimal - global det_file - global gcc_compiled - - delete_breakpoints - - gdb_breakpoint call6a - gdb_breakpoint call6b - gdb_breakpoint call6c - gdb_breakpoint call6d - gdb_breakpoint call6e - gdb_breakpoint call6f - gdb_breakpoint call6g - gdb_breakpoint call6h - - # Run; should stop at call6a and print actual arguments. - # Print backtrace. - - # The a29k fails all of these tests, perhaps because the prologue - # code is broken. - setup_xfail "a29k-*-udi" - gdb_run_cmd - gdb_expect { - -re ".*Breakpoint $decimal, call6a .*$gdb_prompt $" { pass "run to call6a" } - -re "$gdb_prompt $" { fail "run to call6a" ; gdb_suppress_tests; } - timeout { fail "(timeout) run to call6a" ; gdb_suppress_tests; } - } - - setup_xfail "rs6000-*-*" - - if {!$gcc_compiled} { - setup_xfail "mips-sgi-irix5*" - } - - if [gdb_test "backtrace 100" ".* call6a \\(c=97 'a', s=1, i=2, l=3, f=4, d=5, uc=98 'b', us=6, ui=7, ul=8\\) .*\[\r\n\].* main \\(.*\\) .*\[\r\n\]" "backtrace from call6a"] { - gdb_suppress_tests; - } - - # Continue; should stop at call6b and print actual arguments. - # Print backtrace. - - gdb_continue call6b - - if [gdb_test "backtrace 100" ".* call6b \\(s=1, i=2, l=3, f=4, d=5, uc=98 'b', us=6, ui=7, ul=8\\) .*\[\r\n\]*.* call6a \\(c=97 'a', s=1, i=2, l=3, f=4, d=5, uc=98 'b', us=6, ui=7, ul=8\\) .*\[\r\n\].* main \\(.*\\) .*\[\r\n\]" "backtrace from call6b"] { - gdb_suppress_tests; - } - - # Continue; should stop at call6c and print actual arguments. - # Print backtrace. - - gdb_continue call6c - - if [gdb_test "backtrace 100" ".* call6c \\(i=2, l=3, f=4, d=5, uc=98 'b', us=6, ui=7, ul=8\\) .*\[\r\n\].* call6b \\(s=1, i=2, l=3, f=4, d=5, uc=98 'b', us=6, ui=7, ul=8\\) .*\[\r\n\].* call6a \\(c=97 'a', s=1, i=2, l=3, f=4, d=5, uc=98 'b', us=6, ui=7, ul=8\\) .*\[\r\n].* main \\(.*\\) .*" "backtrace from call6c"] { - gdb_suppress_tests; - } - # Continue; should stop at call6d and print actual arguments. - # Print backtrace. - - gdb_continue call6d - - if [gdb_test "backtrace 100" ".* call6d \\(l=3, f=4, d=5, uc=98 'b', us=6, ui=7, ul=8\\) .*\[\r\n\].* call6c \\(i=2, l=3, f=4, d=5, uc=98 'b', us=6, ui=7, ul=8\\) .*\[\r\n\].* call6b \\(s=1, i=2, l=3, f=4, d=5, uc=98 'b', us=6, ui=7, ul=8\\) .*\[\r\n\].* call6a \\(c=97 'a', s=1, i=2, l=3, f=4, d=5, uc=98 'b', us=6, ui=7, ul=8\\) .*\[\r\n].* main \\(.*\\) .*" "backtrace from call6d"] { - gdb_suppress_tests; - } - - # Continue; should stop at call6e and print actual arguments. - # Print backtrace. - - gdb_continue call6e - - if [gdb_test "backtrace 100" ".* call6e \\(f=4, d=5, uc=98 'b', us=6, ui=7, ul=8\\) .*\[\r\n\].* call6d \\(l=3, f=4, d=5, uc=98 'b', us=6, ui=7, ul=8\\) .*\[\r\n\].* call6c \\(i=2, l=3, f=4, d=5, uc=98 'b', us=6, ui=7, ul=8\\) .*\[\r\n\].* call6b \\(s=1, i=2, l=3, f=4, d=5, uc=98 'b', us=6, ui=7, ul=8\\) .*\[\r\n\].* call6a \\(c=97 'a', s=1, i=2, l=3, f=4, d=5, uc=98 'b', us=6, ui=7, ul=8\\) .*\[\r\n].* main \\(.*\\) .*" "backtrace from call6e"] { - gdb_suppress_tests; - } - - # Continue; should stop at call6f and print actual arguments. - # Print backtrace. - - gdb_continue call6f - - if [gdb_test "backtrace 100" ".* call6f \\(d=5, uc=98 'b', us=6, ui=7, ul=8\\) .*\[\r\n\].* call6e \\(f=4, d=5, uc=98 'b', us=6, ui=7, ul=8\\) .*\[\r\n\].* call6d \\(l=3, f=4, d=5, uc=98 'b', us=6, ui=7, ul=8\\) .*\[\r\n\].* call6c \\(i=2, l=3, f=4, d=5, uc=98 'b', us=6, ui=7, ul=8\\) .*\[\r\n\].* call6b \\(s=1, i=2, l=3, f=4, d=5, uc=98 'b', us=6, ui=7, ul=8\\) .*\[\r\n\].* call6a \\(c=97 'a', s=1, i=2, l=3, f=4, d=5, uc=98 'b', us=6, ui=7, ul=8\\) .*\[\r\n].* main \\(.*\\) .*" "backtrace from call6f"] { - gdb_suppress_tests; - } - - # Continue; should stop at call6g and print actual arguments. - # Print backtrace. - - gdb_continue call6g - - if [gdb_test "backtrace 100" ".* call6g \\(uc=98 'b', us=6, ui=7, ul=8\\) .*\[\r\n\].* call6f \\(d=5, uc=98 'b', us=6, ui=7, ul=8\\) .*\[\r\n\].* call6e \\(f=4, d=5, uc=98 'b', us=6, ui=7, ul=8\\) .*\[\r\n\].* call6d \\(l=3, f=4, d=5, uc=98 'b', us=6, ui=7, ul=8\\) .*\[\r\n\].* call6c \\(i=2, l=3, f=4, d=5, uc=98 'b', us=6, ui=7, ul=8\\) .*\[\r\n\].* call6b \\(s=1, i=2, l=3, f=4, d=5, uc=98 'b', us=6, ui=7, ul=8\\) .*\[\r\n\].* call6a \\(c=97 'a', s=1, i=2, l=3, f=4, d=5, uc=98 'b', us=6, ui=7, ul=8\\) .*\[\r\n].* main \\(.*\\) .*" "backtrace from call6g"] { - gdb_suppress_tests; - } - - # Continue; should stop at call6h and print actual arguments. - # Print backtrace. - - gdb_continue call6h - - if [gdb_test "backtrace 100" ".* call6h \\(us=6, ui=7, ul=8\\) .*\[\r\n\].* call6g \\(uc=98 'b', us=6, ui=7, ul=8\\) .*\[\r\n\].* call6f \\(d=5, uc=98 'b', us=6, ui=7, ul=8\\) .*\[\r\n\].* call6e \\(f=4, d=5, uc=98 'b', us=6, ui=7, ul=8\\) .*\[\r\n\].* call6d \\(l=3, f=4, d=5, uc=98 'b', us=6, ui=7, ul=8\\) .*\[\r\n\].* call6c \\(i=2, l=3, f=4, d=5, uc=98 'b', us=6, ui=7, ul=8\\) .*\[\r\n\].* call6b \\(s=1, i=2, l=3, f=4, d=5, uc=98 'b', us=6, ui=7, ul=8\\) .*\[\r\n\].* call6a \\(c=97 'a', s=1, i=2, l=3, f=4, d=5, uc=98 'b', us=6, ui=7, ul=8\\) .*\[\r\n].* main \\(.*\\) .*" "backtrace from call6h"] { - gdb_suppress_tests; - } - - # monitor only allows 8 breakpoints; w89k board allows 10, so - # break them up into two groups. - delete_breakpoints - gdb_breakpoint call6i - gdb_breakpoint call6j - gdb_breakpoint call6k - - # Continue; should stop at call6i and print actual arguments. - # Print backtrace. - - gdb_continue call6i - - if [gdb_test "backtrace 100" ".* call6i \\(ui=7, ul=8\\) .*\[\r\n\].* call6h \\(us=6, ui=7, ul=8\\) .*\[\r\n\].* call6g \\(uc=98 'b', us=6, ui=7, ul=8\\) .*\[\r\n\].* call6f \\(d=5, uc=98 'b', us=6, ui=7, ul=8\\) .*\[\r\n\].* call6e \\(f=4, d=5, uc=98 'b', us=6, ui=7, ul=8\\) .*\[\r\n\].* call6d \\(l=3, f=4, d=5, uc=98 'b', us=6, ui=7, ul=8\\) .*\[\r\n\].* call6c \\(i=2, l=3, f=4, d=5, uc=98 'b', us=6, ui=7, ul=8\\) .*\[\r\n\].* call6b \\(s=1, i=2, l=3, f=4, d=5, uc=98 'b', us=6, ui=7, ul=8\\) .*\[\r\n\].* call6a \\(c=97 'a', s=1, i=2, l=3, f=4, d=5, uc=98 'b', us=6, ui=7, ul=8\\) .*\[\r\n].* main \\(.*\\) .*" "backtrace from call6i"] { - gdb_suppress_tests; - } - - # Continue; should stop at call6j and print actual arguments. - # Print backtrace. - - gdb_continue call6j - - if [gdb_test "backtrace 100" ".* call6j \\(ul=8\\) .*\[\r\n\].* call6i \\(ui=7, ul=8\\) .*\[\r\n\].* call6h \\(us=6, ui=7, ul=8\\) .*\[\r\n\].* call6g \\(uc=98 'b', us=6, ui=7, ul=8\\) .*\[\r\n\].* call6f \\(d=5, uc=98 'b', us=6, ui=7, ul=8\\) .*\[\r\n\].* call6e \\(f=4, d=5, uc=98 'b', us=6, ui=7, ul=8\\) .*\[\r\n\].* call6d \\(l=3, f=4, d=5, uc=98 'b', us=6, ui=7, ul=8\\) .*\[\r\n\].* call6c \\(i=2, l=3, f=4, d=5, uc=98 'b', us=6, ui=7, ul=8\\) .*\[\r\n\].* call6b \\(s=1, i=2, l=3, f=4, d=5, uc=98 'b', us=6, ui=7, ul=8\\) .*\[\r\n\].* call6a \\(c=97 'a', s=1, i=2, l=3, f=4, d=5, uc=98 'b', us=6, ui=7, ul=8\\) .*\[\r\n].* main \\(.*\\) .*" "backtrace from call6j"] { - gdb_suppress_tests; - } - - # Continue; should stop at call6k and print actual arguments. - # Print backtrace. - # This fails on i960-*-vxworks because gdb gets confused by - # breakpoints on adjacent instructions. - setup_xfail "i960-*-vxworks" 1786 - gdb_continue call6k - - if [gdb_test "backtrace 100" ".* call6k \\(\\) .*\[\r\n\].* call6j \\(ul=8\\) .*\[\r\n\].* call6i \\(ui=7, ul=8\\) .*\[\r\n\].* call6h \\(us=6, ui=7, ul=8\\) .*\[\r\n\].* call6g \\(uc=98 'b', us=6, ui=7, ul=8\\) .*\[\r\n\].* call6f \\(d=5, uc=98 'b', us=6, ui=7, ul=8\\) .*\[\r\n\].* call6e \\(f=4, d=5, uc=98 'b', us=6, ui=7, ul=8\\) .*\[\r\n\].* call6d \\(l=3, f=4, d=5, uc=98 'b', us=6, ui=7, ul=8\\) .*\[\r\n\].* call6c \\(i=2, l=3, f=4, d=5, uc=98 'b', us=6, ui=7, ul=8\\) .*\[\r\n\].* call6b \\(s=1, i=2, l=3, f=4, d=5, uc=98 'b', us=6, ui=7, ul=8\\) .*\[\r\n\].* call6a \\(c=97 'a', s=1, i=2, l=3, f=4, d=5, uc=98 'b', us=6, ui=7, ul=8\\) .*\[\r\n].* main \\(.*\\) .*" "backtrace from call6k"] { - gdb_suppress_tests; - } - gdb_stop_suppressing_tests; -} - - -# -# Locate actual args; shuffle round robin and call -# - -proc shuffle_round_robin {} { - global gdb_prompt - global hex - global decimal - global det_file - global gcc_compiled - - delete_breakpoints - - gdb_breakpoint call7a - gdb_breakpoint call7b - gdb_breakpoint call7c - gdb_breakpoint call7d - gdb_breakpoint call7e - gdb_breakpoint call7f - gdb_breakpoint call7g - gdb_breakpoint call7h - - # Run; should stop at call7a and print actual arguments. - # Print backtrace. - - # The a29k fails all of these tests, perhaps because the prologue - # code is broken. - setup_xfail "a29k-*-udi" - gdb_run_cmd - gdb_expect { - -re ".*Breakpoint $decimal, call7a .*$gdb_prompt $" { - pass "run to call7a" - } - -re "$gdb_prompt $" { fail "run to call7a" ; gdb_suppress_tests; } - timeout { fail "(timeout) run to call7a" ; gdb_suppress_tests; } - } - - setup_xfail "i960-*-*" 1813 - if {!$gcc_compiled} then { setup_xfail "rs6000-*-*" "mips-sgi-irix5*" } - gdb_test "backtrace 100" ".* call7a \\(c=97 'a', i=2, s=1, l=3, f=4, uc=98 'b', d=5, us=6, ul=8, ui=7\\) .*\[\r\n\].* main \\(.*\\) .*\[\r\n\].*" "backtrace from call7a" - - # Continue; should stop at call7b and print actual arguments. - # Print backtrace. - - gdb_continue call7b - - if {$gcc_compiled} then { setup_xfail "rs6000-*-*" } - - gdb_test "backtrace 100" ".* call7b \\(i=2, s=1, l=3, f=4, uc=98 'b', d=5, us=6, ul=8, ui=7, c=97 'a'\\) .*\[\r\n\].* call7a \\(c=97 'a', i=2, s=1, l=3, f=4, uc=98 'b', d=5, us=6, ul=8, ui=7\\) .*\[\r\n\].* main \\(.*\\) .*\[\r\n\].*" "backtrace from call7b" - - # Continue; should stop at call7c and print actual arguments. - # Print backtrace. - - gdb_continue call7c - - gdb_test "backtrace 100" ".* call7c \\(s=1, l=3, f=4, uc=98 'b', d=5, us=6, ul=8, ui=7, c=97 'a', i=2\\) .*\[\r\n\].* call7b \\(i=2, s=1, l=3, f=4, uc=98 'b', d=5, us=6, ul=8, ui=7, c=97 'a'\\) .*\[\r\n\].* call7a \\(c=97 'a', i=2, s=1, l=3, f=4, uc=98 'b', d=5, us=6, ul=8, ui=7\\) .*\[\r\n\].* main \\(.*\\) .*\[\r\n\].*" "backtrace from call7c" - - # Continue; should stop at call7d and print actual arguments. - # Print backtrace. - - gdb_continue call7d - - gdb_test "backtrace 100" ".* call7d \\(l=3, f=4, uc=98 'b', d=5, us=6, ul=8, ui=7, c=97 'a', i=2, s=1\\) .*\[\r\n\].* call7c \\(s=1, l=3, f=4, uc=98 'b', d=5, us=6, ul=8, ui=7, c=97 'a', i=2\\) .*\[\r\n\].* call7b \\(i=2, s=1, l=3, f=4, uc=98 'b', d=5, us=6, ul=8, ui=7, c=97 'a'\\) .*\[\r\n\].* call7a \\(c=97 'a', i=2, s=1, l=3, f=4, uc=98 'b', d=5, us=6, ul=8, ui=7\\) .*\[\r\n\].* main \\(.*\\) .*\[\r\n\].*" "backtrace from call7d" - - gdb_continue call7e - - gdb_test "backtrace 100" ".* call7e \\(f=4, uc=98 'b', d=5, us=6, ul=8, ui=7, c=97 'a', i=2, s=1, l=3\\) .*\[\r\n\].* call7d \\(l=3, f=4, uc=98 'b', d=5, us=6, ul=8, ui=7, c=97 'a', i=2, s=1\\) .*\[\r\n\].* call7c \\(s=1, l=3, f=4, uc=98 'b', d=5, us=6, ul=8, ui=7, c=97 'a', i=2\\) .*\[\r\n\].* call7b \\(i=2, s=1, l=3, f=4, uc=98 'b', d=5, us=6, ul=8, ui=7, c=97 'a'\\) .*\[\r\n\].* call7a \\(c=97 'a', i=2, s=1, l=3, f=4, uc=98 'b', d=5, us=6, ul=8, ui=7\\) .*\[\r\n\].* main \\(.*\\) .*\[\r\n\].*" "backtrace from call7e" - - # Continue; should stop at call7f and print actual arguments. - # Print backtrace. - - gdb_continue call7f - - gdb_test "backtrace 100" ".* call7f \\(uc=98 'b', d=5, us=6, ul=8, ui=7, c=97 'a', i=2, s=1, l=3, f=4\\) .*\[\r\n\].* call7e \\(f=4, uc=98 'b', d=5, us=6, ul=8, ui=7, c=97 'a', i=2, s=1, l=3\\) .*\[\r\n\].* call7d \\(l=3, f=4, uc=98 'b', d=5, us=6, ul=8, ui=7, c=97 'a', i=2, s=1\\) .*\[\r\n\].* call7c \\(s=1, l=3, f=4, uc=98 'b', d=5, us=6, ul=8, ui=7, c=97 'a', i=2\\) .*\[\r\n\].* call7b \\(i=2, s=1, l=3, f=4, uc=98 'b', d=5, us=6, ul=8, ui=7, c=97 'a'\\) .*\[\r\n\].* call7a \\(c=97 'a', i=2, s=1, l=3, f=4, uc=98 'b', d=5, us=6, ul=8, ui=7\\) .*\[\r\n\].* main \\(.*\\) .*\[\r\n\].*" "backtrace from call7f" - - # Continue; should stop at call7g and print actual arguments. - # Print backtrace. - - gdb_continue call7g - - gdb_test "backtrace 100" ".* call7g \\(d=5, us=6, ul=8, ui=7, c=97 'a', i=2, s=1, l=3, f=4, uc=98 'b'\\) .*\[\r\n\].* call7f \\(uc=98 'b', d=5, us=6, ul=8, ui=7, c=97 'a', i=2, s=1, l=3, f=4\\) .*\[\r\n\].* call7e \\(f=4, uc=98 'b', d=5, us=6, ul=8, ui=7, c=97 'a', i=2, s=1, l=3\\) .*\[\r\n\].* call7d \\(l=3, f=4, uc=98 'b', d=5, us=6, ul=8, ui=7, c=97 'a', i=2, s=1\\) .*\[\r\n\].* call7c \\(s=1, l=3, f=4, uc=98 'b', d=5, us=6, ul=8, ui=7, c=97 'a', i=2\\) .*\[\r\n\].* call7b \\(i=2, s=1, l=3, f=4, uc=98 'b', d=5, us=6, ul=8, ui=7, c=97 'a'\\) .*\[\r\n\].* call7a \\(c=97 'a', i=2, s=1, l=3, f=4, uc=98 'b', d=5, us=6, ul=8, ui=7\\) .*\[\r\n\].* main \\(.*\\) .*\[\r\n\].*" "backtrace from call7g" - - gdb_continue call7h - - gdb_test "backtrace 100" ".* call7h \\(us=6, ul=8, ui=7, c=97 'a', i=2, s=1, l=3, f=4, uc=98 'b', d=5\\) .*\[\r\n\].* call7g \\(d=5, us=6, ul=8, ui=7, c=97 'a', i=2, s=1, l=3, f=4, uc=98 'b'\\) .*\[\r\n\].* call7f \\(uc=98 'b', d=5, us=6, ul=8, ui=7, c=97 'a', i=2, s=1, l=3, f=4\\) .*\[\r\n\].* call7e \\(f=4, uc=98 'b', d=5, us=6, ul=8, ui=7, c=97 'a', i=2, s=1, l=3\\) .*\[\r\n\].* call7d \\(l=3, f=4, uc=98 'b', d=5, us=6, ul=8, ui=7, c=97 'a', i=2, s=1\\) .*\[\r\n\].* call7c \\(s=1, l=3, f=4, uc=98 'b', d=5, us=6, ul=8, ui=7, c=97 'a', i=2\\) .*\[\r\n\].* call7b \\(i=2, s=1, l=3, f=4, uc=98 'b', d=5, us=6, ul=8, ui=7, c=97 'a'\\) .*\[\r\n\].* call7a \\(c=97 'a', i=2, s=1, l=3, f=4, uc=98 'b', d=5, us=6, ul=8, ui=7\\) .*\[\r\n\].* main \\(.*\\) .*\[\r\n\].*" "backtrace from call7h" - - # monitor only allows 8 breakpoints; w89k board allows 10, so - # break them up into two groups. - delete_breakpoints - gdb_breakpoint call7i - gdb_breakpoint call7j - gdb_breakpoint call7k - - # Continue; should stop at call7i and print actual arguments. - # Print backtrace. - - gdb_continue call7i - - gdb_test "backtrace 100" ".* call7i \\(ul=8, ui=7, c=97 'a', i=2, s=1, l=3, f=4, uc=98 'b', d=5, us=6\\) .*\[\r\n\].* call7h \\(us=6, ul=8, ui=7, c=97 'a', i=2, s=1, l=3, f=4, uc=98 'b', d=5\\) .*\[\r\n\].* call7g \\(d=5, us=6, ul=8, ui=7, c=97 'a', i=2, s=1, l=3, f=4, uc=98 'b'\\) .*\[\r\n\].* call7f \\(uc=98 'b', d=5, us=6, ul=8, ui=7, c=97 'a', i=2, s=1, l=3, f=4\\) .*\[\r\n\].* call7e \\(f=4, uc=98 'b', d=5, us=6, ul=8, ui=7, c=97 'a', i=2, s=1, l=3\\) .*\[\r\n\].* call7d \\(l=3, f=4, uc=98 'b', d=5, us=6, ul=8, ui=7, c=97 'a', i=2, s=1\\) .*\[\r\n\].* call7c \\(s=1, l=3, f=4, uc=98 'b', d=5, us=6, ul=8, ui=7, c=97 'a', i=2\\) .*\[\r\n\].* call7b \\(i=2, s=1, l=3, f=4, uc=98 'b', d=5, us=6, ul=8, ui=7, c=97 'a'\\) .*\[\r\n\].* call7a \\(c=97 'a', i=2, s=1, l=3, f=4, uc=98 'b', d=5, us=6, ul=8, ui=7\\) .*\[\r\n\].* main \\(.*\\) .*\[\r\n\].*" "backtrace from call7i" - - # Continue; should stop at call7j and print actual arguments. - # Print backtrace. - - gdb_continue call7j - - gdb_test "backtrace 100" ".* call7j \\(ui=7, c=97 'a', i=2, s=1, l=3, f=4, uc=98 'b', d=5, us=6, ul=8\\) .*\[\r\n\].* call7i \\(ul=8, ui=7, c=97 'a', i=2, s=1, l=3, f=4, uc=98 'b', d=5, us=6\\) .*\[\r\n\].* call7h \\(us=6, ul=8, ui=7, c=97 'a', i=2, s=1, l=3, f=4, uc=98 'b', d=5\\) .*\[\r\n\].* call7g \\(d=5, us=6, ul=8, ui=7, c=97 'a', i=2, s=1, l=3, f=4, uc=98 'b'\\) .*\[\r\n\].* call7f \\(uc=98 'b', d=5, us=6, ul=8, ui=7, c=97 'a', i=2, s=1, l=3, f=4\\) .*\[\r\n\].* call7e \\(f=4, uc=98 'b', d=5, us=6, ul=8, ui=7, c=97 'a', i=2, s=1, l=3\\) .*\[\r\n\].* call7d \\(l=3, f=4, uc=98 'b', d=5, us=6, ul=8, ui=7, c=97 'a', i=2, s=1\\) .*\[\r\n\].* call7c \\(s=1, l=3, f=4, uc=98 'b', d=5, us=6, ul=8, ui=7, c=97 'a', i=2\\) .*\[\r\n\].* call7b \\(i=2, s=1, l=3, f=4, uc=98 'b', d=5, us=6, ul=8, ui=7, c=97 'a'\\) .*\[\r\n\].* call7a \\(c=97 'a', i=2, s=1, l=3, f=4, uc=98 'b', d=5, us=6, ul=8, ui=7\\) .*\[\r\n\].* main \\(.*\\) .*\[\r\n\].*" "backtrace from call7j" - - # Continue; should stop at call7k and print actual arguments. - # Print backtrace. - - gdb_continue call7k - - if {!$gcc_compiled} then { setup_xfail "mips-sgi-irix*" } - gdb_test "backtrace 100" ".* call7k \\(c=97 'a', i=2, s=1, l=3, f=4, uc=98 'b', d=5, us=6, ul=8, ui=7\\) .*\[\r\n\].* call7j \\(ui=7, c=97 'a', i=2, s=1, l=3, f=4, uc=98 'b', d=5, us=6, ul=8\\) .*\[\r\n\].* call7i \\(ul=8, ui=7, c=97 'a', i=2, s=1, l=3, f=4, uc=98 'b', d=5, us=6\\) .*\[\r\n\].* call7h \\(us=6, ul=8, ui=7, c=97 'a', i=2, s=1, l=3, f=4, uc=98 'b', d=5\\) .*\[\r\n\].* call7g \\(d=5, us=6, ul=8, ui=7, c=97 'a', i=2, s=1, l=3, f=4, uc=98 'b'\\) .*\[\r\n\].* call7f \\(uc=98 'b', d=5, us=6, ul=8, ui=7, c=97 'a', i=2, s=1, l=3, f=4\\) .*\[\r\n\].* call7e \\(f=4, uc=98 'b', d=5, us=6, ul=8, ui=7, c=97 'a', i=2, s=1, l=3\\) .*\[\r\n\].* call7d \\(l=3, f=4, uc=98 'b', d=5, us=6, ul=8, ui=7, c=97 'a', i=2, s=1\\) .*\[\r\n\].* call7c \\(s=1, l=3, f=4, uc=98 'b', d=5, us=6, ul=8, ui=7, c=97 'a', i=2\\) .*\[\r\n\].* call7b \\(i=2, s=1, l=3, f=4, uc=98 'b', d=5, us=6, ul=8, ui=7, c=97 'a'\\) .*\[\r\n\].* call7a \\(c=97 'a', i=2, s=1, l=3, f=4, uc=98 'b', d=5, us=6, ul=8, ui=7\\) .*\[\r\n\].* main \\(.*\\) .*\[\r\n\].*" "backtrace from call7k" - gdb_stop_suppressing_tests; -} - -# -# Locate actual args; recursive passing of structs by value -# - -proc recursive_structs_by_value {} { - global gdb_prompt - global hex - global decimal - global det_file - - delete_breakpoints - - gdb_breakpoint hitbottom - - # Run; should stop at hitbottom and print actual arguments. - # Print backtrace. - gdb_run_cmd - gdb_expect { - -re ".*Breakpoint $decimal, hitbottom .*$gdb_prompt $" { pass "run to hitbottom" } - -re "$gdb_prompt $" { fail "run to hitbottom" ; gdb_suppress_tests; } - timeout { fail "(timeout) run to hitbottom" ; gdb_suppress_tests; } - } - - if ![istarget sparclet-*-*] { - # The a29k fails all of these tests, perhaps because the prologue - # code is broken. - setup_xfail "a29k-*-udi" - gdb_test "backtrace 100" ".* hitbottom \\(\\) .*\[\r\n\].* recurse \\(a=\{s = 0, i = 0, l = 0\}, depth=0\\) .*\[\r\n\].* recurse \\(a=\{s = 1, i = 1, l = 1\}, depth=1\\) .*\[\r\n\].* recurse \\(a=\{s = 2, i = 2, l = 2\}, depth=2\\) .*\[\r\n\].* recurse \\(a=\{s = 3, i = 3, l = 3\}, depth=3\\) .*\[\r\n\].* recurse \\(a=\{s = 4, i = 4, l = 4\}, depth=4\\) .*\[\r\n\].* test_struct_args \\(\\) .*\[\r\n\].* main \\(.*\\) .*\[\r\n\]" "recursive passing of structs by value" - } else { - fail "recursive passing of structs by value (sparclet)" - } - gdb_stop_suppressing_tests; -} - -proc funcargs_reload { } { - global objdir - global subdir - global binfile - global srcdir - - if [istarget "mips-idt-*"] { - # Restart because IDT/SIM runs out of file descriptors. - gdb_exit - gdb_start - gdb_reinitialize_dir $srcdir/$subdir - gdb_load ${binfile} - } -} - -# -# Test for accessing local stack variables in functions which call alloca -# -proc localvars_after_alloca { } { - global gdb_prompt - global hex - global decimal - global gcc_compiled - - if { ! [ runto localvars_after_alloca ] } then { gdb_suppress_tests; } - - # Print each arg as a double check to see if we can print - # them here as well as with backtrace. - - if {!$gcc_compiled} then { setup_xfail "rs6000-*-*" } - gdb_test "print c" " = 97 'a'" "print c after runto localvars_after_alloca" - if {!$gcc_compiled} then { setup_xfail "rs6000-*-*" } - gdb_test "print s" " = 1" "print s after runto localvars_after_alloca" - gdb_test "print i" " = 2" "print i after runto localvars_after_alloca" - gdb_test "print l" " = 3" "print l after runto localvars_after_alloca" - - # Lame regexp. - gdb_test "next" ".*" "next in localvars_after_alloca()" - - # Print each arg as a double check to see if we can print - # them here as well as with backtrace. - - gdb_test "print c" " = 97 'a'" "print c in localvars_after_alloca" - gdb_test "print s" " = 1" "print s in localvars_after_alloca" - gdb_test "print i" " = 2" "print i in localvars_after_alloca" - gdb_test "print l" " = 3" "print l in localvars_after_alloca" - - gdb_test "backtrace 8" "#0.*localvars_after_alloca \\(c=97 'a', s=1, i=2, l=3\\).*#1.*main.*" "backtrace after alloca" - gdb_stop_suppressing_tests; -} - -proc call_after_alloca { } { - global gdb_prompt - global hex - global decimal - global gcc_compiled - - if { ! [ runto call_after_alloca_subr ] } then { gdb_suppress_tests; } - - # Print each arg as a double check to see if we can print - # them here as well as with backtrace. - - if {!$gcc_compiled} then { setup_xfail "rs6000-*-*" } - gdb_test "print c" " = 97 'a'" "print c in call_after_alloca" - if {!$gcc_compiled} then { setup_xfail "rs6000-*-*" } - gdb_test "print s" " = 1" "print s in call_after_alloca" - gdb_test "print i" " = 2" "print i in call_after_alloca" - gdb_test "print l" " = 3" "print l in call_after_alloca" - - if {!$gcc_compiled} then { setup_xfail "rs6000-*-*" } - gdb_test "backtrace 8" "#0.*call_after_alloca_subr \\(c=97 'a', s=1, i=2, l=3, uc=98 'b', us=11, ui=12, ul=13\\).*#1.*call_after_alloca \\(c=97 'a', s=1, i=2, l=3\\).*#2.*main.*" "backtrace from call_after_alloca_subr" - gdb_stop_suppressing_tests; -} - -# -# Test for accessing local stack variables, backtraces, finish, -# and finally stepping into indirect calls. The point is that on the PA -# these use a funky `dyncall' mechanism which GDB needs to know about. -# -proc localvars_in_indirect_call { } { - global gdb_prompt - global hex - global decimal - global gcc_compiled - - # Can not use "runto call0a" as call0a is called several times - # during single run. Instead stop in a marker function and - # take control from there. - if { ! [ runto marker_indirect_call ] } then { gdb_suppress_tests; } - - # break on the next call to call0a, then delete all the breakpoints - # and start testing. - gdb_breakpoint call0a - gdb_continue call0a - delete_breakpoints - - # Print each arg as a double check to see if we can print - # them here as well as with backtrace. - - if {!$gcc_compiled} then { setup_xfail "rs6000-*-*" } - gdb_test "print c" " = 97 'a'" "print c in localvars_in_indirect_call" - if {!$gcc_compiled} then { setup_xfail "rs6000-*-*" } - gdb_test "print s" " = 1" "print s in localvars_in_indirect_call" - gdb_test "print i" " = 2" "print i in localvars_in_indirect_call" - gdb_test "print l" " = 3" "print l in localvars_in_indirect_call" - - if {!$gcc_compiled} then { setup_xfail "rs6000-*-*" } - gdb_test "backtrace 8" \ - "#0.*call0a \\(c=97 'a', s=1, i=2, l=3\\).*#1.*main.*" \ - "backtrace in indirectly called function" - - # - # "finish" brings us back to main. We then will try to step through - # the second indirect call. - # On some targets (e.g. m68k) gdb will stop from the finish in midline - # of the first indirect call. This is due to stack adjustment instructions - # after the indirect call. In these cases we will step till we hit the - # second indirect call. - # - - send_gdb "finish\n" - gdb_expect { - -re "\\(\\*pointer_to_call0a\\) \\(c, s, i, l\\);.*First.*$gdb_prompt $" { - send_gdb "step\n" - exp_continue - } - -re "\\(\\*pointer_to_call0a\\) \\(c, s, i, l\\);.*Second.*$gdb_prompt $" { - pass "finish from indirectly called function" - } - -re ".*$gdb_prompt $" { - fail "finish from indirectly called function" - gdb_suppress_tests; - } - default { fail "finish from indirectly called function" ; gdb_suppress_tests; } - } - - if {!$gcc_compiled} then { setup_xfail "rs6000-*-*" } - gdb_test "step" "call0a \\(c=97 'a', s=1, i=2, l=3\\).*" \ - "stepping into indirectly called function" - gdb_stop_suppressing_tests; -} - -# Start with a fresh gdb. -# -# Test for stepping into indirect calls which may have trampolines (possibly -# cascaded) on both the call path and the gdb_suppress_tests; path. -# to handle trampolines. -# -proc test_stepping_over_trampolines { } { - global gdb_prompt - global hex - global decimal - - # Stop in a marker function and take control from there. - if { ! [ runto marker_call_with_trampolines ] } then { gdb_suppress_tests; } - - # Cater for gdb stopping in midline, see comment for finish above. - send_gdb "finish\n" - gdb_expect { - -re "marker_call_with_trampolines ..;.*$gdb_prompt $" { - send_gdb "step\n" - exp_continue - } - -re "pointer_to_call_with_trampolines.*$gdb_prompt $" { - pass "finish from marker_call_with_trampolines" - } - -re ".*$gdb_prompt $" { - fail "finish from marker_call_with_trampolines" - } - default { fail "finish from marker_call_with_trampolines" ; gdb_suppress_tests; } - } - - # Try to step into the target function. - gdb_test "step" "call_with_trampolines \\(d1=5\\).*" \ - "stepping into function called with trampolines" - - # Make we can backtrace and the argument looks correct. */ - gdb_test "backtrace 8" "#0.*call_with_trampolines \\(d1=5\\).*1.*main.*" \ - "backtrace through call with trampolines" - - # Make sure we can get back to main. - # Stepping back to main might stop again after the gdb_suppress_tests; statement - # or immediately transfer control back to main if optimizations - # are performed. - send_gdb "step\n" - gdb_expect { - -re "main .* at.*$gdb_prompt $" { - pass "stepping back to main from function called with trampolines" ; - } - -re "\}.*End of call_with_trampolines.*$gdb_prompt $" { - send_gdb "step\n" - exp_continue - } - -re ".*$gdb_prompt $" { - fail "stepping back to main from function called with trampolines" - } - default { fail "stepping back to main from function called with trampolines" ; gdb_suppress_tests; } - } - gdb_stop_suppressing_tests; -} - -# Start with a fresh gdb. - -gdb_exit -gdb_start -gdb_reinitialize_dir $srcdir/$subdir -gdb_load ${binfile} - -set timeout 60 - -integral_args -funcargs_reload -unsigned_integral_args -funcargs_reload -float_and_integral_args -funcargs_reload -pointer_args -funcargs_reload -structs_by_reference -funcargs_reload -structs_by_value -funcargs_reload -discard_and_shuffle -funcargs_reload -shuffle_round_robin -funcargs_reload -recursive_structs_by_value -funcargs_reload -localvars_after_alloca -funcargs_reload -call_after_alloca -funcargs_reload -localvars_in_indirect_call -funcargs_reload -test_stepping_over_trampolines diff --git a/gdb/testsuite/gdb.base/gdbvars.exp b/gdb/testsuite/gdb.base/gdbvars.exp deleted file mode 100644 index d7f87d0bb5d..00000000000 --- a/gdb/testsuite/gdb.base/gdbvars.exp +++ /dev/null @@ -1,117 +0,0 @@ -# Copyright (C) 1992 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ - -# Please email any bugs, comments, and/or additions to this file to: -# bug-gdb@prep.ai.mit.edu - -# This file was written by Fred Fish. (fnf@cygnus.com) - -if $tracelevel then { - strace $tracelevel -} - -set prms_id 0 -set bug_id 0 - -proc test_convenience_variables {} { - global prompt - - gdb_test "set \$foo = 101" "" \ - "Set a new convenience variable" - - gdb_test "print \$foo" " = 101" \ - "Print contents of new convenience variable" - - gdb_test "set \$foo = 301" "" \ - "Set convenience variable to a new value" - - gdb_test "print \$foo" " = 301" \ - "Print new contents of convenience variable" - - gdb_test "set \$_ = 11" "" \ - "Set convenience variable \$_" - - gdb_test "print \$_" " = 11" \ - "Print contents of convenience variable \$_" - - gdb_test "print \$foo + 10" " = 311" \ - "Use convenience variable in arithmetic expression" - - gdb_test "print (\$foo = 32) + 4" " = 36" \ - "Use convenience variable assignment in arithmetic expression" - - gdb_test "print \$bar" " = void" \ - "Print contents of uninitialized convenience variable" -} - -proc test_value_history {} { - global prompt - - gdb_test "print 101" "\\\$1 = 101" \ - "Set value-history\[1\] using \$1" - - gdb_test "print 102" "\\\$2 = 102" \ - "Set value-history\[2\] using \$2" - - gdb_test "print 103" "\\\$3 = 103" \ - "Set value-history\[3\] using \$3" - - gdb_test "print \$\$" "\\\$4 = 102" \ - "Print value-history\[MAX-1\] using inplicit index \$\$" - - gdb_test "print \$\$" "\\\$5 = 103" \ - "Print value-history\[MAX-1\] again using implicit index \$\$" - - gdb_test "print \$" "\\\$6 = 103" \ - "Print value-history\[MAX\] using implicit index \$" - - gdb_test "print \$\$2" "\\\$7 = 102" \ - "Print value-history\[MAX-2\] using explicit index \$\$2" - - gdb_test "print \$0" "\\\$8 = 102" \ - "Print value-history\[MAX\] using explicit index \$0" - - gdb_test "print 108" "\\\$9 = 108" "" - - gdb_test "print \$\$0" "\\\$10 = 108" \ - "Print value-history\[MAX\] using explicit index \$\$0" - - gdb_test "print \$1" "\\\$11 = 101" \ - "Print value-history\[1\] using explicit index \$1" - - gdb_test "print \$2" "\\\$12 = 102" \ - "Print value-history\[2\] using explicit index \$2" - - gdb_test "print \$3" "\\\$13 = 103" \ - "Print value-history\[3\] using explicit index \$3" - - gdb_test "print \$-3" "\\\$14 = 100" \ - "Print (value-history\[MAX\] - 3) using implicit index \$" - - gdb_test "print \$1 + 3" "\\\$15 = 104" \ - "Use value-history element in arithmetic expression" -} - -# Start with a fresh gdb. - -gdb_exit -gdb_start -gdb_reinitialize_dir $srcdir/$subdir - -send_gdb "set print sevenbit-strings\n" ; expect -re ".*$prompt $" - -test_value_history -test_convenience_variables diff --git a/gdb/testsuite/gdb.base/help.exp b/gdb/testsuite/gdb.base/help.exp deleted file mode 100644 index 0b45c5aafbd..00000000000 --- a/gdb/testsuite/gdb.base/help.exp +++ /dev/null @@ -1,542 +0,0 @@ -# Copyright (C) 1988, 1990, 1991, 1992, 1997, 1998 -# Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - -# Please email any bugs, comments, and/or additions to this file to: -# bug-gdb@prep.ai.mit.edu - -# This file was written by Rob Savoye. (rob@cygnus.com) - -# -# test gdb help commands -# - -set prms_id 0 -set bug_id 0 - -gdb_start - -# force the height of the debugger to be pretty large so no pagers getused -gdb_test "set height 400" "" "test set height" - -# use a larger expect input buffer for long help outputs. -# test help add-symbol-file -gdb_test "help add-symbol-file" "Usage: add-symbol-file FILE ADDR.*\[\r\n\]+Load the symbols from FILE, assuming FILE has been dynamically loaded..*\[\r\n\]+ADDR is the starting address of the file\'s text." "help add-symbol-file" -# test help aliases -gdb_test "help aliases" "Aliases of other commands..*\[\r\n\]+List of commands\:.*\[\r\n\]+Type \"help\" followed by command name for full documentation..*\[\r\n\]+Command name abbreviations are allowed if unambiguous." "help aliases" -gdb_test "help attach" "Attach to a process or file outside of GDB..*\[\r\n\]+This command attaches to another target, of the same type as your last.*\[\r\n\]+\"target\" command .\"info files\" will show your target stack.*\[\r\n\]+The command may take as argument a process id or a device file..*\[\r\n\]+For a process id, you must have permission to send the process a signal,.*\[\r\n\]+and it must have the same effective uid as the debugger..*\[\r\n\]+When using \"attach\" with a process id, the debugger finds the.*\[\r\n\]+program running in the process, looking first in the current working.*\[\r\n\]+directory, or .if not found there. using the source file search path.*\[\r\n\]+\\(see the \"directory\" command\\). You can also use the \"file\" command.*\[\r\n\]+to specify the program, and to load its symbol table." "help attach" -# test help breakpoint "b" abbreviation -gdb_test "help b" "Set breakpoint at specified line or function..*\[\r\n\]+Argument may be line number, function name, or \"\[*\]\" and an address..*\[\r\n\]+If line number is specified, break at start of code for that line..*\[\r\n\]+If function is specified, break at start of code for that function..*\[\r\n\]+If an address is specified, break at that exact address..*\[\r\n\]+With no arg, uses current execution address of selected stack frame..*\[\r\n\]+This is useful for breaking on return to a stack frame..*\[\r\n\]+Multiple breakpoints at one place are permitted, and useful if conditional..*\[\r\n\]+Do \"help breakpoints\" for info on other commands dealing with breakpoints." "help breakpoint \"b\" abbreviation" -# test help breakpoint "br" abbreviation -gdb_test "help br" "Set breakpoint at specified line or function..*\[\r\n\]+Argument may be line number, function name, or \"\[*\]\" and an address..*\[\r\n\]+If line number is specified, break at start of code for that line..*\[\r\n\]+If function is specified, break at start of code for that function..*\[\r\n\]+If an address is specified, break at that exact address..*\[\r\n\]+With no arg, uses current execution address of selected stack frame..*\[\r\n\]+This is useful for breaking on return to a stack frame..*\[\r\n\]+Multiple breakpoints at one place are permitted, and useful if conditional..*\[\r\n\]+Do \"help breakpoints\" for info on other commands dealing with breakpoints." "help breakpoint \"br\" abbreviation" -# test help breakpoint "bre" abbreviation -gdb_test "help bre" "Set breakpoint at specified line or function..*\[\r\n\]+Argument may be line number, function name, or \"\[*\]\" and an address..*\[\r\n\]+If line number is specified, break at start of code for that line..*\[\r\n\]+If function is specified, break at start of code for that function..*\[\r\n\]+If an address is specified, break at that exact address..*\[\r\n\]+With no arg, uses current execution address of selected stack frame..*\[\r\n\]+This is useful for breaking on return to a stack frame..*\[\r\n\]+Multiple breakpoints at one place are permitted, and useful if conditional..*\[\r\n\]+Do \"help breakpoints\" for info on other commands dealing with breakpoints." "help breakpoint \"bre\" abbreviation" -# test help breakpoint "brea" abbreviation -gdb_test "help brea" "Set breakpoint at specified line or function..*\[\r\n\]+Argument may be line number, function name, or \"\[*\]\" and an address..*\[\r\n\]+If line number is specified, break at start of code for that line..*\[\r\n\]+If function is specified, break at start of code for that function..*\[\r\n\]+If an address is specified, break at that exact address..*\[\r\n\]+With no arg, uses current execution address of selected stack frame..*\[\r\n\]+This is useful for breaking on return to a stack frame..*\[\r\n\]+Multiple breakpoints at one place are permitted, and useful if conditional..*\[\r\n\]+Do \"help breakpoints\" for info on other commands dealing with breakpoints." "help breakpoint \"brea\" abbreviation" -# test help breakpoint "break" abbreviation -gdb_test "help break" "Set breakpoint at specified line or function..*\[\r\n\]+Argument may be line number, function name, or \"\[*\]\" and an address..*\[\r\n\]+If line number is specified, break at start of code for that line..*\[\r\n\]+If function is specified, break at start of code for that function..*\[\r\n\]+If an address is specified, break at that exact address..*\[\r\n\]+With no arg, uses current execution address of selected stack frame..*\[\r\n\]+This is useful for breaking on return to a stack frame..*\[\r\n\]+Multiple breakpoints at one place are permitted, and useful if conditional..*\[\r\n\]+Do \"help breakpoints\" for info on other commands dealing with breakpoints." "help breakpoint \"break\" abbreviation" -# test help breakpoints -gdb_test "help breakpoints" "Making program stop at certain points..*\[\r\n\]+List of commands\:.*\[\r\n\]+awatch -- Set a watchpoint for an expression.*\[\r\n\]+break -- Set breakpoint at specified line or function.*\[\r\n\]+catch -- Set catchpoints to catch events.*\[\r\n\]+clear -- Clear breakpoint at specified line or function.*\[\r\n\]+commands -- Set commands to be executed when a breakpoint is hit.*\[\r\n\]+condition -- Specify breakpoint number N to break only if COND is true.*\[\r\n\]+delete -- Delete some breakpoints or auto-display expressions.*\[\r\n\]+disable -- Disable some breakpoints.*\[\r\n\]+enable -- Enable some breakpoints.*\[\r\n\]+hbreak -- Set a hardware assisted breakpoint.*\[\r\n\]+ignore -- Set ignore-count of breakpoint number N to COUNT.*\[\r\n\]+rwatch -- Set a read watchpoint for an expression.*\[\r\n\]+tbreak -- Set a temporary breakpoint.*\[\r\n\]+tcatch -- Set temporary catchpoints to catch events.*\[\r\n\]+thbreak -- Set a temporary hardware assisted breakpoint.*\[\r\n\]+watch -- Set a watchpoint for an expression.*\[\r\n\]+Type \"help\" followed by command name for full documentation..*\[\r\n\]+Command name abbreviations are allowed if unambiguous." "help breakpoints" -# test help backtrace "bt" abbreviation -gdb_test "help bt" "Print backtrace of all stack frames, or innermost COUNT frames..*\[\r\n\]+With a negative argument, print outermost -COUNT frames..*\[\r\n\]+Use of the 'full' qualifier also prints the values of the local variables." "help backtrace \"bt\" abbreviation" -# test help backtrace -gdb_test "help backtrace" "Print backtrace of all stack frames, or innermost COUNT frames..*\[\r\n\]+With a negative argument, print outermost -COUNT frames..*\[\r\n\]+Use of the 'full' qualifier also prints the values of the local variables." "help backtrace" -# test help continue "c" abbreviation -gdb_test "help c" "Continue program being debugged.*" "help continue \"c\" abbreviation" -# test help continue -gdb_test "help continue" "Continue program being debugged.*" "help continue" -# test help call -gdb_test "help call" "Call a function.*" "help call" -# test help catch -gdb_test "help catch" "Set catchpoints to catch events.*Raised signals may be caught:.*catch signal.*all signals.*catch signal.*signame.*a particular signal.*Raised exceptions may be caught:.*catch throw.*all exceptions, when thrown.*catch throw.*exceptname.*a particular exception, when thrown.*catch catch.*all exceptions, when caught.*catch catch.*exceptname.*a particular exception, when caught.*Thread or process events may be caught:.*catch thread_start.*any threads, just after creation.*catch thread_exit.*any threads, just before expiration.*catch thread_join.*any threads, just after joins.*catch start.*any processes, just after creation.*catch exit.*any processes, just before expiration.*catch fork.*calls to fork.*catch vfork.*calls to vfork.*catch exec.*calls to exec.*Dynamically.linked library events may be caught:.*catch load.*loads of any library.*catch load.*libname.*loads of a particular library.*catch unload.*unloads of any library.*catch unload.*libname.*unloads of a particular library.*The act of your program's execution stopping may also be caught:.*catch stop.*Do.*help set follow-fork-mode.*for info on debugging your program.*after a fork or vfork is caught.*Do.*help breakpoints.*for info on other commands dealing with breakpoints." "help catch" -# test help cd -gdb_test "help cd" "Set working directory to DIR for debugger and program being debugged..*\[\r\n\]+The change does not take effect for the program being debugged.*\[\r\n\]+until the next time it is started." "help cd" -# test help clear -gdb_test "help clear" "Clear breakpoint at specified line or function.*\[\r\n\]+Argument may be line number, function name, or .* and an address.*\[\r\n\]+If line number is specified, all breakpoints in that line are cleared.*\[\r\n\]+If function is specified, breakpoints at beginning of function are cleared.*\[\r\n\]+If an address is specified, breakpoints at that address are cleared.*\[\r\n\]+With no argument, clears all breakpoints in the line that the selected frame.*\[\r\n\]+is executing in..*\[\r\n\]+See also the \"delete\" command which clears breakpoints by number." "help clear" -# test help commands -gdb_test "help commands" "Set commands to be executed when a breakpoint is hit..*\[\r\n\]+Give breakpoint number as argument after \"commands\"..*\[\r\n\]+With no argument, the targeted breakpoint is the last one set..*\[\r\n\]+The commands themselves follow starting on the next line..*\[\r\n\]+Type a line containing \"end\" to indicate the end of them..*\[\r\n\]+Give \"silent\" as the first line to make the breakpoint silent;.*\[\r\n\]+then no output is printed when it is hit, except what the commands print." "help commands" -# test help condition -gdb_test "help condition" "Specify breakpoint number N to break only if COND is true..*\[\r\n\]+Usage is `condition N COND', where N is an integer and COND is an.*\[\r\n\]+expression to be evaluated whenever breakpoint N is reached. " "help condition" -# test help core-file -gdb_test "help core-file" "Use FILE as core dump for examining memory and registers..*\[\r\n\]+No arg means have no core file. This command has been superseded by the.*\[\r\n\]+`target core' and `detach' commands." "help core-file" -# test help delete "d" abbreviation -gdb_test "help d" "Delete some breakpoints or auto-display expressions..*\[\r\n\]+Arguments are breakpoint numbers with spaces in between..*\[\r\n\]+To delete all breakpoints, give no argument..*\[\r\n\]+Also a prefix command for deletion of other GDB objects..*\[\r\n\]+The \"unset\" command is also an alias for \"delete\"..*\[\r\n\]+List of delete subcommands:.*\[\r\n\]+delete breakpoints -- Delete some breakpoints or auto-display expressions.*\[\r\n\]+delete display -- Cancel some expressions to be displayed when program stops.*\[\r\n\]+Type \"help delete\" followed by delete subcommand name for full documentation..*\[\r\n\]+Command name abbreviations are allowed if unambiguous." "help delete \"d\" abbreviation" -# test help delete -gdb_test "help delete" "Delete some breakpoints or auto-display expressions..*\[\r\n\]+Arguments are breakpoint numbers with spaces in between..*\[\r\n\]+To delete all breakpoints, give no argument..*\[\r\n\]+Also a prefix command for deletion of other GDB objects..*\[\r\n\]+The \"unset\" command is also an alias for \"delete\"..*\[\r\n\]+List of delete subcommands:.*\[\r\n\]+delete breakpoints -- Delete some breakpoints or auto-display expressions.*\[\r\n\]+delete display -- Cancel some expressions to be displayed when program stops.*\[\r\n\]+Type \"help delete\" followed by delete subcommand name for full documentation..*\[\r\n\]+Command name abbreviations are allowed if unambiguous." "help delete" -# test help data -gdb_test "help data" ".*\[\r\n\]+Examining data..*\[\r\n\]+List of commands:.*\[\r\n\]+Type \"help\" followed by command name for full documentation..*\[\r\n\]+Command name abbreviations are allowed if unambiguous." "help data" -# test help define -gdb_test "help define" "Define a new command.*" "help define" -# test help delete breakpoints -gdb_test "help delete breakpoints" "Delete some breakpoints or auto-display expressions..*\[\r\n\]+Arguments are breakpoint numbers with spaces in between..*\[\r\n\]+To delete all breakpoints, give no argument..*\[\r\n\]+This command may be abbreviated \"delete\"." "help delete breakpoints" -# test help delete display -gdb_test "help delete display" "Cancel some expressions to be displayed when program stops..*\[\r\n\]+Arguments are the code numbers of the expressions to stop displaying..*\[\r\n\]+No argument means cancel all automatic-display expressions..*\[\r\n\]+Do \"info display\" to see current list of code numbers." "help delete display" -# test help detach -gdb_test "help detach" "Detach a process or file previously attached..*\[\r\n\]+If a process, it is no longer traced, and it continues its execution. If you.*\[\r\n\]+were debugging a file, the file is closed and gdb no longer accesses it." "help detach" -# test help directory -gdb_test "help directory" "Add directory DIR to beginning of search path for source files..*\[\r\n\]+Forget cached info on source file locations and line positions..*\[\r\n\]+DIR can also be .cwd for the current working directory, or .cdir for the.*\[\r\n\]+directory in which the source file was compiled into object code..*\[\r\n\]+With no argument, reset the search path to .cdir:.cwd, the default." "help directory" -# test help disable "dis" abbreviation -gdb_test "help dis" "Disable some breakpoints..*\[\r\n\]+Arguments are breakpoint numbers with spaces in between..*\[\r\n\]+To disable all breakpoints, give no argument..*\[\r\n\]+A disabled breakpoint is not forgotten, but has no effect until reenabled..*\[\r\n\]+List of disable subcommands:.*\[\r\n\]+disable breakpoints -- Disable some breakpoints.*\[\r\n\]+disable display -- Disable some expressions to be displayed when program stops.*\[\r\n\]+Type \"help disable\" followed by disable subcommand name for full documentation..*\[\r\n\]+Command name abbreviations are allowed if unambiguous." "help disable \"dis\" abbreviation" -# test help disable "disa" abbreviation -gdb_test "help disa" "Disable some breakpoints..*\[\r\n\]+Arguments are breakpoint numbers with spaces in between..*\[\r\n\]+To disable all breakpoints, give no argument..*\[\r\n\]+A disabled breakpoint is not forgotten, but has no effect until reenabled..*\[\r\n\]+List of disable subcommands:.*\[\r\n\]+disable breakpoints -- Disable some breakpoints.*\[\r\n\]+disable display -- Disable some expressions to be displayed when program stops.*\[\r\n\]+Type \"help disable\" followed by disable subcommand name for full documentation..*\[\r\n\]+Command name abbreviations are allowed if unambiguous." "help disable \"disa\" abbreviation" -# test help disable -gdb_test "help disable" "Disable some breakpoints..*\[\r\n\]+Arguments are breakpoint numbers with spaces in between..*\[\r\n\]+To disable all breakpoints, give no argument..*\[\r\n\]+A disabled breakpoint is not forgotten, but has no effect until reenabled..*\[\r\n\]+List of disable subcommands:.*\[\r\n\]+disable breakpoints -- Disable some breakpoints.*\[\r\n\]+disable display -- Disable some expressions to be displayed when program stops.*\[\r\n\]+Type \"help disable\" followed by disable subcommand name for full documentation..*\[\r\n\]+Command name abbreviations are allowed if unambiguous." "help disable" -# test help disable breakpoints -gdb_test "help disable breakpoints" "Disable some breakpoints..*\[\r\n\]+Arguments are breakpoint numbers with spaces in between..*\[\r\n\]+To disable all breakpoints, give no argument..*\[\r\n\]+A disabled breakpoint is not forgotten, but has no effect until reenabled..*\[\r\n\]+This command may be abbreviated \"disable\"." "help disable breakpoints" -# test help disable display -gdb_test "help disable display" "Disable some expressions to be displayed when program stops..*\[\r\n\]+Arguments are the code numbers of the expressions to stop displaying..*\[\r\n\]+No argument means disable all automatic-display expressions..*\[\r\n\]+Do \"info display\" to see current list of code numbers." "help disable display" -# test help disassemble -gdb_test "help disassemble" "Disassemble a specified section of memory..*\[\r\n\]+Default is the function surrounding the pc of the selected frame..*\[\r\n\]+With a single argument, the function surrounding that address is dumped..*\[\r\n\]+Two arguments are taken as a range of memory to dump." "help disassemble" -# test help display -gdb_test "help display" "Print value of expression EXP each time the program stops..*\[\r\n\]+/FMT may be used before EXP as in the \"print\" command..*\[\r\n\]+/FMT \"i\" or \"s\" or including a size-letter is allowed,.*\[\r\n\]+as in the \"x\" command, and then EXP is used to get the address to examine.*\[\r\n\]+and examining is done as in the \"x\" command..*\[\r\n\]+With no argument, display all currently requested auto-display expressions..*\[\r\n\]+Use \"undisplay\" to cancel display requests previously made." "help display" -# test help do -gdb_test "help do" "Select and print stack frame called by this one..*\[\r\n\]+An argument says how many frames down to go." "help do" -# test help document -gdb_test "help document" "Document a user-defined command..*\[\r\n\]+Give command name as argument. Give documentation on following lines..*\[\r\n\]+End with a line of just \"end\"." "help document" -# test help down -gdb_test "help down" "Select and print stack frame called by this one..*\[\r\n\]+An argument says how many frames down to go." "help down" -# test help down-silently -gdb_test "help down-silently" "Same as the `down' command, but does not print anything..*\[\r\n\]+This is useful in command scripts." "help down-silently" -# this command was removed from GDB 4.5.8 -# test help dump-me -#send_gdb "help dump-me" -# -re "Get fatal error; make debugger dump its core." -# -# } -# test help echo -gdb_test "help echo" "Print a constant string. Give string as argument..*\[\r\n\]+C escape sequences may be used in the argument..*\[\r\n\]+No newline is added at the end of the argument;.*\[\r\n\]+use \".n\" if you want a newline to be printed..*\[\r\n\]+Since leading and trailing whitespace are ignored in command arguments,.*\[\r\n\]+if you want to print some you must use \".\" before leading whitespace.*\[\r\n\]+to be printed or after trailing whitespace." "help echo" -# test help enable breakpoints delete -gdb_test "help enable breakpoints delete" "Enable breakpoints and delete when hit. Give breakpoint numbers..*\[\r\n\]+If a breakpoint is hit while enabled in this fashion, it is deleted." "help enable breakpoints delete" -# test help enable breakpoints once -gdb_test "help enable breakpoints once" "Enable breakpoints for one hit..*" "help enable breakpoints once" -# test help enable breakpoints -gdb_test "help enable breakpoints" "Enable some breakpoints..*\[\r\n\]+Give breakpoint numbers .separated by spaces. as arguments..*\[\r\n\]+This is used to cancel the effect of the \"disable\" command..*\[\r\n\]+May be abbreviated to simply \"enable\"..*.*\[\r\n\]+List of enable breakpoints subcommands:.*\[\r\n\]+enable breakpoints delete -- Enable breakpoints and delete when hit.*\[\r\n\]+enable breakpoints once -- Enable breakpoints for one hit.*\[\r\n\]+Type \"help enable breakpoints\" followed by enable breakpoints subcommand name for full documentation..*\[\r\n\]+Command name abbreviations are allowed if unambiguous." "help enable breakpoints" -# test help enable delete -gdb_test "help enable delete" "Enable breakpoints and delete when hit. Give breakpoint numbers..*\[\r\n\]+If a breakpoint is hit while enabled in this fashion, it is deleted." "help enable delete" -# test help enable display -gdb_test "help enable display" "Enable some expressions to be displayed when program stops..*\[\r\n\]+Arguments are the code numbers of the expressions to resume displaying..*\[\r\n\]+No argument means enable all automatic-display expressions..*\[\r\n\]+Do \"info display\" to see current list of code numbers." "help enable display" -# test help enable once -gdb_test "help enable once" "Enable breakpoints for one hit.*" "help enable once" -# test help enable -gdb_test "help enable" "Enable some breakpoints..*\[\r\n\]+Give breakpoint numbers .separated by spaces. as arguments..*\[\r\n\]+With no subcommand, breakpoints are enabled until you command otherwise..*\[\r\n\]+This is used to cancel the effect of the \"disable\" command..*\[\r\n\]+With a subcommand you can enable temporarily..*\[\r\n\]+List of enable subcommands:.*\[\r\n\]+enable delete -- Enable breakpoints and delete when hit.*\[\r\n\]+enable display -- Enable some expressions to be displayed when program stops.*\[\r\n\]+enable once -- Enable breakpoints for one hit.*\[\r\n\]+Type \"help enable\" followed by enable subcommand name for full documentation..*\[\r\n\]+Command name abbreviations are allowed if unambiguous." "help enable" -# test help exec-file -gdb_test "help exec-file" "Use FILE as program for getting contents of pure memory..*\[\r\n\]+If FILE cannot be found as specified, your execution directory path.*\[\r\n\]+is searched for a command of that name..*\[\r\n\]+No arg means have no executable file." "help exec-file" -# test help frame "f" abbreviation -gdb_test "help f" "Select and print a stack frame..*\[\r\n\]+With no argument, print the selected stack frame. .See also \"info frame\".*\[\r\n\]+An argument specifies the frame to select..*\[\r\n\]+It can be a stack frame number or the address of the frame..*\[\r\n\]+With argument, nothing is printed if input is coming from.*\[\r\n\]+a command file or a user-defined command." "help frame \"f\" abbreviation" -# test help frame -gdb_test "help frame" "Select and print a stack frame..*\[\r\n\]+With no argument, print the selected stack frame. .See also \"info frame\"...*\[\r\n\]+An argument specifies the frame to select..*\[\r\n\]+It can be a stack frame number or the address of the frame..*\[\r\n\]+With argument, nothing is printed if input is coming from.*\[\r\n\]+a command file or a user-defined command." "help frame" -# test help fg -gdb_test "help fg" "Continue program being debugged.*" "help fg" -# test help file -gdb_test "help file" "Use FILE as program to be debugged..*\[\r\n\]+It is read for its symbols, for getting the contents of pure memory,.*\[\r\n\]+and it is the program executed when you use the `run' command..*\[\r\n\]+If FILE cannot be found as specified, your execution directory path.*\[\r\n\]+..PATH. is searched for a command of that name..*\[\r\n\]+No arg means to have no executable file and no symbols." "help file" -# test help files -gdb_test "help files" "Specifying.*" "help files" -# test help finish -gdb_test "help finish" "Execute until selected stack frame returns..*\[\r\n\]+Upon return, the value returned is printed and put in the value history." "help finish" -# test help forward-search -gdb_test "help forward-search" "Search for regular expression .see regex.3.. from last line listed..*" "help forward-search" -# test help help "h" abbreviation -gdb_test "help h" "Print list of commands." "help help \"h\" abbreviation" -# test help help -gdb_test "help help" "Print list of commands." "help help" -# test help handle -gdb_test "help handle" "Specify how to handle a signal..*" "help handle" -# test help info "i" abbreviation -gdb_test "help i" "Generic command for showing things about the program being debugged..*\[\r\n\]+List of info subcommands:.*\[\r\n\]+Type \"help info\" followed by info subcommand name for full documentation..*\[\r\n\]+Command name abbreviations are allowed if unambiguous." "help info \"i\" abbreviation" -# test help info -gdb_test "help info" "Generic command for showing things about the program being debugged..*\[\r\n\]+List of info subcommands:.*\[\r\n\]+Type \"help info\" followed by info subcommand name for full documentation..*\[\r\n\]+Command name abbreviations are allowed if unambiguous." "help info" -# test help ignore -gdb_test "help ignore" "Set ignore-count of breakpoint number N to COUNT..*\[\r\n\]+Usage is `ignore N COUNT'." "help ignore" -# test help info address -gdb_test "help info address" "Describe where symbol SYM is stored." "help info address" -# test help info all-registers -gdb_test "help info all-registers" "List of all registers and their contents, for selected stack frame..*\[\r\n\]+Register name as argument means describe only that register." "help info all-registers" -# test help info args -gdb_test "help info args" "Argument variables of current stack frame." "help info args" -# test help info breakpoints -gdb_test "help info breakpoints" "Status of user-settable breakpoints, or breakpoint number NUMBER..*\[\r\n\]+breakpoint set." "help info breakpoints" -# test help info catch -gdb_test "help info catch" "Exceptions that can be caught in the current stack frame." "help info catch" -# test help info copying -gdb_test "help info copying" "Conditions for redistributing copies of GDB." "help info copying" -# test help info display -gdb_test "help info display" "Expressions to display when program stops, with code numbers." "help info display" -# test help info frame "f" abbreviation -gdb_test "help info f" "All about selected stack frame, or frame at ADDR." "help info frame \"f\" abbreviation" -# test help info frame -gdb_test "help info frame" "All about selected stack frame, or frame at ADDR." "help info frame" -# test help info files -gdb_test "help info files" "Names of targets and files being debugged..*\[\r\n\]+Shows the entire stack of targets currently in use .including the exec-file,.*\[\r\n\]+core-file, and process, if any., as well as the symbol file name." "help info files" -# test help info float -gdb_test "help info float" "Print the status of the floating point unit" "help info float" -# test help info functions -gdb_test "help info functions" "All function names, or those matching REGEXP." "help info functions" -# test help info line -gdb_test "help info line" "Core addresses of the code for a source line..*\[\r\n\]+Line can be specified as.*\[\r\n\]+ LINENUM, to list around that line in current file,.*\[\r\n\]+ FILE:LINENUM, to list around that line in that file,.*\[\r\n\]+ FUNCTION, to list around beginning of that function,.*\[\r\n\]+ FILE:FUNCTION, to distinguish among like-named static functions..*\[\r\n\]+Default is to describe the last source line that was listed..*\[\r\n\]+This sets the default address for \"x\" to the line's first instruction.*\[\r\n\]+so that \"x.i\" suffices to start examining the machine code..*\[\r\n\]+The address is also stored as the value of \"._\"." "help info line" -# test help info locals -gdb_test "help info locals" "Local variables of current stack frame." "help info locals" -# test help info program -gdb_test "help info program" "Execution status of the program." "help info program" -# test help info registers -gdb_test "help info registers" "List of integer registers and their contents, for selected stack frame..*\[\r\n\]+Register name as argument means describe only that register." "help info registers" -# test help info stack "s" abbreviation -gdb_test "help info s" "Backtrace of the stack, or innermost COUNT frames." "help info stack \"s\" abbreviation" -# test help info stack -gdb_test "help info stack" "Backtrace of the stack, or innermost COUNT frames." "help info stack" -# test help info set -gdb_test "help info set" "Show all GDB settings." "help info set" -# test help info signals -gdb_test "help info signals" "What debugger does when program gets various signals.*" "help info signals" -# test help info source -gdb_test "help info source" "Information about the current source file." "help info source" -# test help info sources -gdb_test "help info sources" "Source files in the program." "help info sources" -# test help info symbol -gdb_test "help info symbol" "Describe what symbol is at location ADDR.*" -# test help info target -gdb_test "help info target" "Names of targets and files being debugged..*\[\r\n\]+Shows the entire stack of targets currently in use .including the exec-file,.*\[\r\n\]+core-file, and process, if any., as well as the symbol file name." "help info target" -# test help info terminal -gdb_test "help info terminal" "Print inferior's saved terminal status." "help info terminal" -# test help info types -gdb_test "help info types" "All type names, or those matching REGEXP." "help info types" -# test help info variables -gdb_test "help info variables" "All global and static variable names, or those matching REGEXP." "help info variables" -# test help info warranty -gdb_test "help info warranty" "Various kinds of warranty you do not have." "help info warranty" -# test help info watchpoints -gdb_test "help info watchpoints" "Synonym for ``info breakpoints''." "help info watchpoints" -# test help inspect -gdb_test "help inspect" "Same as \"print\" command, except that if you are running in the epoch.*\[\r\n\]+environment, the value is printed in its own window." "help inspect" -# test help jump -gdb_test "help jump" "Continue program being debugged at specified line or address..*\[\r\n\]+Give as argument either LINENUM or \[*\]+ADDR, where ADDR is an expression.*\[\r\n\]+for an address to start at." "help jump" -# test help kill -gdb_test "help kill" "Kill execution of program being debugged." "help kill" -# test help list "l" abbreviation -gdb_test "help l" "List specified function or line..*\[\r\n\]+With no argument, lists ten more lines after or around previous listing..*\[\r\n\]+\"list -\" lists the ten lines before a previous ten-line listing..*\[\r\n\]+One argument specifies a line, and ten lines are listed around that line..*\[\r\n\]+Two arguments with comma between specify starting and ending lines to list..*\[\r\n\]+Lines can be specified in these ways:.*\[\r\n\]+ LINENUM, to list around that line in current file,.*\[\r\n\]+ FILE:LINENUM, to list around that line in that file,.*\[\r\n\]+ FUNCTION, to list around beginning of that function,.*\[\r\n\]+ FILE:FUNCTION, to distinguish among like-named static functions..*\[\r\n\]+ \[*\]+ADDRESS, to list around the line containing that address..*\[\r\n\]+With two args if one is empty it stands for ten lines away from the other arg." "help list \"l\" abbreviation" -# test help list -gdb_test "help list" "List specified function or line..*\[\r\n\]+With no argument, lists ten more lines after or around previous listing..*\[\r\n\]+\"list -\" lists the ten lines before a previous ten-line listing..*\[\r\n\]+One argument specifies a line, and ten lines are listed around that line..*\[\r\n\]+Two arguments with comma between specify starting and ending lines to list..*\[\r\n\]+Lines can be specified in these ways:.*\[\r\n\]+ LINENUM, to list around that line in current file,.*\[\r\n\]+ FILE:LINENUM, to list around that line in that file,.*\[\r\n\]+ FUNCTION, to list around beginning of that function,.*\[\r\n\]+ FILE:FUNCTION, to distinguish among like-named static functions..*\[\r\n\]+ \[*\]+ADDRESS, to list around the line containing that address..*\[\r\n\]+With two args if one is empty it stands for ten lines away from the other arg." "help list" -# test help load -gdb_test "help load" "Dynamically load FILE into the running program, and record its symbols.*\[\r\n\]+for access from GDB." "help load" -# test help make -gdb_test "help make" "Run the ``make'' program using the rest of the line as arguments." "help make" -# test help next "n" abbreviation -gdb_test "help n" "Step program, proceeding through subroutine calls..*\[\r\n\]+Like the \"step\" command as long as subroutine calls do not happen;.*\[\r\n\]+when they do, the call is treated as one instruction..*\[\r\n\]+Argument N means do this N times .or till program stops for another reason.." "help next \"n\" abbreviation" -# test help next -gdb_test "help next" "Step program, proceeding through subroutine calls..*\[\r\n\]+Like the \"step\" command as long as subroutine calls do not happen;.*\[\r\n\]+when they do, the call is treated as one instruction..*\[\r\n\]+Argument N means do this N times .or till program stops for another reason.." "help next" -# test help nexti -gdb_test "help ni" "Step one instruction, but proceed through subroutine calls..*\[\r\n\]+Argument N means do this N times .or till program stops for another reason.." "help nexti" -# all the commands that used to be here are now in "maintainance" instead -# test help obscure -gdb_test "help obscure" "Obscure features..*\[\r\n\]+List of commands:.*\[\r\n\]+Type \"help\" followed by command name for full documentation..*\[\r\n\]+Command name abbreviations are allowed if unambiguous." "help obscure" -# test help output -gdb_test "help output" "Like \"print\" but don't put in value history and don't print newline..*\[\r\n\]+This is useful in user-defined commands." "help output" -# test help overlay -gdb_test "help overlay" "Commands for debugging overlays.*" -gdb_test "help overlay off" "Disable overlay debugging." -gdb_test "help overlay manual" "Enable overlay debugging." -gdb_test "help overlay auto" "Enable automatic overlay debugging." -gdb_test "help overlay list" "List mappings of overlay sections." -gdb_test "help overlay map" "Assert that an overlay section is mapped." -gdb_test "help overlay unmap" "Assert that an overlay section is unmapped." -gdb_test "help overlay load" "Read the overlay mapping state from the target." -# test help print "p" abbreviation -gdb_test "help p" "Print value of expression EXP..*\[\r\n\]+Variables accessible are those of the lexical environment of the selected.*\[\r\n\]+EXP may be preceded with /FMT, where FMT is a format letter.*\[\r\n\]+but no count or size letter .see \"x\" command.." "help print \"p\" abbreviation" -# test help print -gdb_test "help print" "Print value of expression EXP..*\[\r\n\]+Variables accessible are those of the lexical environment of the selected.*\[\r\n\]+EXP may be preceded with /FMT, where FMT is a format letter.*\[\r\n\]+but no count or size letter .see \"x\" command.." "help print" -# test help path -gdb_test "help path" "Add directory DIR.s. to beginning of search path for object files..*\[\r\n\]+.cwd in the path means the current working directory..*\[\r\n\]+This path is equivalent to the .PATH shell variable. It is a list of.*\[\r\n\]+directories, separated by colons. These directories are searched to find.*\[\r\n\]+fully linked executable files and separately compiled object files as needed." "help path" -# test help printcmds -gdb_test "help printcmds" "Undefined command: \"printcmds\". Try \"help\"." "help printcmds" -# test help printf -gdb_test "help printf" "printf \"printf format string\", arg1, arg2, arg3, ..., argn.*\[\r\n\]+This is useful for formatted output in user-defined commands." "help printf" -# test help ptype -gdb_test "help ptype" "Print definition of type.*" "help ptype" -# test help pwd -gdb_test "help pwd" "Print working directory. This is used for your program as well." "help pwd" -# test help quit "q" abbreviation -gdb_test "help q" "Exit gdb." "help quit \"q\" abbreviation" -# test help quit -gdb_test "help quit" "Exit gdb." "help quit" -# test help run "r" abbreviation -gdb_test "help r" "Start debugged program. You may specify arguments to give it..*\[\r\n\]+Args may include .*, or .*; they are expanded using \"sh\"..*\[\r\n\]+Input and output redirection with \".\", \".\", or \"..\" are also allowed..*\[\r\n\]+With no arguments, uses arguments last specified .with \"run\" or \"set args\"...*\[\r\n\]+To cancel previous arguments and run with no arguments,.*\[\r\n\]+use \"set args\" without arguments." "help run \"r\" abbreviation" -# test help run -gdb_test "help run" "Start debugged program. You may specify arguments to give it..*\[\r\n\]+Args may include .*, or .*; they are expanded using \"sh\"..*\[\r\n\]+Input and output redirection with \".\", \".\", or \"..\" are also allowed..*\[\r\n\]+With no arguments, uses arguments last specified .with \"run\" or \"set args\"...*\[\r\n\]+To cancel previous arguments and run with no arguments,.*\[\r\n\]+use \"set args\" without arguments." "help run" -# test help rbreak -gdb_test "help rbreak" "Set a breakpoint for all functions matching REGEXP." "help rbreak" -# test help return -gdb_test "help return" "Make selected stack frame return to its caller..*\[\r\n\]+Control remains in the debugger, but when you continue.*\[\r\n\]+execution will resume in the frame above the one now selected..*\[\r\n\]+If an argument is given, it is an expression for the value to return." "help return" -# test help reverse-search -gdb_test "help reverse-search" "Search backward for regular expression .see regex.3.. from last line listed..*" "help reverse-search" -# test help running -gdb_test "help running" "Running the program..*\[\r\n\]+List of commands:.*\[\r\n\]+Type \"help\" followed by command name for full documentation..*\[\r\n\]+Command name abbreviations are allowed if unambiguous." "help running" -# test help step "s" abbreviation -gdb_test "help s" "Step program until it reaches a different source line..*\[\r\n\]+Argument N means do this N times .or till program stops for another reason.." "help step \"s\" abbreviation" -# test help step -gdb_test "help step" "Step program until it reaches a different source line..*\[\r\n\]+Argument N means do this N times .or till program stops for another reason.." "help step #1" -# test help search -gdb_test "help search" "Search for regular expression .see regex.3.. from last line listed..*" "help search" -# test help section -gdb_test "help section" "Change the base address of section SECTION of the exec file to ADDR..*\[\r\n\]+This can be used if the exec file does not contain section addresses,.*\[\r\n\]+.such as in the a.out format., or when the addresses specified in the.*\[\r\n\]+file itself are wrong. Each section must be changed separately. The.*\[\r\n\]+``info files'' command lists all the sections and their addresses." "help section" -#test help set annotate -gdb_test "help set annotate" "Set annotation_level.*\[\r\n\]+0 == normal; 1 == fullname \\(for use when running under emacs\\).*\[\r\n\]+2 == output annotated suitably for use by programs that control GDB." "help set annotate" -# test help set args -gdb_test "help set args" "Set argument list to give program being debugged when it is started..*\[\r\n\]+Follow this command with any number of args, to be passed to the program." -# test help set check "c" abbreviation -gdb_test "help set c" "Set the status of the type/range checker.*\[\r\n\]+List of set check subcommands:.*\[\r\n\]+set check range -- Set range checking.*\[\r\n\]+set check type -- Set type checking.*\[\r\n\]+Type \"help set check\" followed by set check subcommand name for full documentation..*\[\r\n\]+Command name abbreviations are allowed if unambiguous." "help set check \"c\" abbreviation" -# test help set check "ch" abbreviation -gdb_test "help set ch" "Set the status of the type/range checker.*\[\r\n\]+List of set check subcommands:.*\[\r\n\]+set check range -- Set range checking.*\[\r\n\]+set check type -- Set type checking.*\[\r\n\]+Type \"help set check\" followed by set check subcommand name for full documentation..*\[\r\n\]+Command name abbreviations are allowed if unambiguous." "help set check \"ch\" abbreviation" -# test help set check -gdb_test "help set check" "Set the status of the type/range checker.*\[\r\n\]+List of set check subcommands:.*\[\r\n\]+set check range -- Set range checking.*\[\r\n\]+set check type -- Set type checking.*\[\r\n\]+Type \"help set check\" followed by set check subcommand name for full documentation..*\[\r\n\]+Command name abbreviations are allowed if unambiguous." "help set check" -# test help set check range -gdb_test "help set check range" "Set range checking. .on/warn/off/auto." "help set check range" -# test help set check type -gdb_test "help set check type" "Set type checking. .on/warn/off/auto." "help set check type" -# test help set complaints -gdb_test "help set complaints" "Set max number of complaints about incorrect symbols." "help set complaints" -# test help set confirm -gdb_test "help set confirm" "Set whether to confirm potentially dangerous operations." "help set confirm" -# test help set editing -gdb_test "help set editing" "Set editing of command lines as they are typed..*\[\r\n\]+Use \"on\" to enable the editing, and \"off\" to disable it..*\[\r\n\]+Without an argument, command line editing is enabled. To edit, use.*\[\r\n\]+EMACS-like or VI-like commands like control-P or ESC." "help set editing" -# test help set environment -gdb_test "help set environment" "Set environment variable value to give the program..*\[\r\n\]+Arguments are VAR VALUE where VAR is variable name and VALUE is value..*\[\r\n\]+VALUES of environment variables are uninterpreted strings..*\[\r\n\]+This does not affect the program until the next \"run\" command." "help set environment" -# test help set height -gdb_test "help set height" "Set number of lines gdb thinks are in a page." "help set height" -# test help set history expansion -gdb_test "help set history expansion" "Set history expansion on command input..*\[\r\n\]+Without an argument, history expansion is enabled." "help set history expansion" -# test help set history filename -gdb_test "help set history filename" "Set the filename in which to record the command history.*\[\r\n\]+ .the list of previous commands of which a record is kept.." "help set history filename" -# test help set history save -gdb_test "help set history save" "Set saving of the history record on exit..*\[\r\n\]+Use \"on\" to enable the saving, and \"off\" to disable it..*\[\r\n\]+Without an argument, saving is enabled." "help set history save" -# test help set history size -gdb_test "help set history size" "Set the size of the command history, .*\[\r\n\]+ie. the number of previous commands to keep a record of." "help set history size" -# test help set history -gdb_test "help set history" "Generic command for setting command history parameters..*\[\r\n\]+List of set history subcommands:.*\[\r\n\]+set history expansion -- Set history expansion on command input.*\[\r\n\]+set history filename -- Set the filename in which to record the command history.*\[\r\n\]+set history save -- Set saving of the history record on exit.*\[\r\n\]+set history size -- Set the size of the command history.*\[\r\n\]+Type \"help set history\" followed by set history subcommand name for full documentation..*\[\r\n\]+Command name abbreviations are allowed if unambiguous." "help set history" -# test help set language -gdb_test "help set language" "Set the current source language." "help set language" -# test help set listsize -gdb_test "help set listsize" "Set number of source lines gdb will list by default." "help set listsize" -# test help set print "p" abbreviation -# FIXME -- Ultrix hangs randomly on this very long output from gdb and -# continues with its output only if something is sent to gdb. -# Also, if the system is slow, it may time out because the output is large. -gdb_test "help set p" ".*\[\r\n\]+Generic command for setting how things print..*\[\r\n\]+List of set print subcommands:.*\[\r\n\]+Type \"help set print\" followed by set print subcommand name for full documentation..*\[\r\n\]+Command name abbreviations are allowed if unambiguous." "help set print \"p\" abbreviatio" -# test help set print "pr" abbreviation -gdb_test "help set pr" ".*\[\r\n\]+Generic command for setting how things print..*\[\r\n\]+List of set print subcommands:.*\[\r\n\]+Type \"help set print\" followed by set print subcommand name for full documentation..*\[\r\n\]+Command name abbreviations are allowed if unambiguous." "help set print \"pr\" abbreviation" -# test help set print -gdb_test "help set print" ".*\[\r\n\]+Generic command for setting how things print..*\[\r\n\]+List of set print subcommands:.*\[\r\n\]+Type \"help set print\" followed by set print subcommand name for full documentation..*\[\r\n\]+Command name abbreviations are allowed if unambiguous." "help set print" -# test help set print address -gdb_test "help set print address" "Set printing of addresses." "help set print address" -# test help set print array -gdb_test "help set print array" "Set prettyprinting of arrays." "help set print array" -# test help set print asm-demangle -gdb_test "help set print asm-demangle" "Set demangling of C\[+\]+ names in disassembly listings." "help set print asm-demangle" -# test help set print demangle -gdb_test "help set print demangle" "Set demangling of encoded C\[+\]+ names when displaying symbols." "help set print demangle" -# test help set print elements -gdb_test "help set print elements" "Set limit on string chars or array elements to print..*\[\r\n\]+\"set print elements 0\" causes there to be no limit." "help set print elements" -# test help set print object -gdb_test "help set print object" "Set printing of object's derived type based on vtable info." "help set print object" -# test help set print pretty -gdb_test "help set print pretty" "Set prettyprinting of structures." "help set print pretty" -# test help set print sevenbit-strings -gdb_test "help set print sevenbit-strings" "Set printing of 8-bit characters in strings as .nnn." "help set print sevenbit-strings" -# test help set print union -gdb_test "help set print union" "Set printing of unions interior to structures." "help set print union" -# test help set print vtbl -gdb_test "help set print vtbl" "Set printing of C\[+\]+ virtual function tables." "help set print vtbl" -# test help set prompt -gdb_test "help set prompt" "Set gdb's prompt" "help set prompt" -# test help set radix -gdb_test "help set radix" "Set default input and output number radices.*\[\r\n\]+Use \'set input-radix\' or \'set output-radix\' to independently set each..*\[\r\n\]+Without an argument, sets both radices back to the default value of 10..*\[\r\n\]+" "help set radix" -# test help set symbol-reloading -gdb_test "help set symbol-reloading" "Set dynamic symbol table reloading multiple times in one run." "help set symbol-reloading" -# test help set variable -gdb_test "help set variable" ".*\[\r\n\]+Evaluate expression EXP and assign result to variable VAR, using assignment.*\[\r\n\]+syntax appropriate for the current language .VAR = EXP or VAR := EXP for.*\[\r\n\]+example.. VAR may be a debugger \"convenience\" variable .names starting.*\[\r\n\]+with \\\$., a register .a few standard names starting with \\\$., or an actual.*\[\r\n\]+variable in the program being debugged. EXP is any valid expression.*\[\r\n\]+This may usually be abbreviated to simply \"set\"." "help set variable" -# test help set verbose -gdb_test "help set verbose" "Set verbosity." "help set verbose" -#test help set width -gdb_test "help set width" "Set number of characters gdb thinks are in a line." "help set width" -# test help set write -# This is only supported on targets which use exec.o. -gdb_test "help set write" "Set writing into executable and core files." "help set write" -# test help set -# FIXME -- Ultrix hangs randomly on this very long output from gdb and -# continues with its output only if something is sent to gdb. -# Also, if the system is slow, it may time out because the output is large. -#gdb_test "help set" ".*\[\r\n\]+Evaluate expression EXP and assign result to variable VAR, using assignment.*\[\r\n\]+syntax appropriate for the current language .VAR = EXP or VAR := EXP for.*\[\r\n\]+example.. VAR may be a debugger \"convenience\" variable .names starting.*\[\r\n\]+with \\\$., a register .a few standard names starting with \\\$., or an actual.*\[\r\n\]+variable in the program being debugged. EXP is any valid expression.*\[\r\n\]+set listsize -- Set number of source lines gdb will list by default.*\[\r\n\]+Type \"help set\" followed by set subcommand name for full documentation..*\[\r\n\]+Command name abbreviations are allowed if unambiguous..*\[\r\n\]+" "help set" -# test help shell -gdb_test "help shell" "Execute the rest of the line as a shell command. .*\[\r\n\]+With no arguments, run an inferior shell." "help shell" -#test help show annotate -gdb_test "help show annotate" "Show annotation_level.*\[\r\n\]+0 == normal; 1 == fullname \\(for use when running under emacs\\).*\[\r\n\]+2 == output annotated suitably for use by programs that control GDB." "help show annotate" -# test help show args -gdb_test "help show args" "Show argument list to give program being debugged when it is started..*\[\r\n\]+Follow this command with any number of args, to be passed to the program." -# test help show check "c" abbreviation -gdb_test "help show c" "Show the status of the type/range checker.*\[\r\n\]+List of show check subcommands:.*\[\r\n\]+show check range -- Show range checking.*\[\r\n\]+show check type -- Show type checking.*\[\r\n\]+Type \"help show check\" followed by show check subcommand name for full documentation..*\[\r\n\]+Command name abbreviations are allowed if unambiguous." "help show check \"c\" abbreviation" -# test help show check -gdb_test "help show check" "Show the status of the type/range checker.*\[\r\n\]+List of show check subcommands:.*\[\r\n\]+show check range -- Show range checking.*\[\r\n\]+show check type -- Show type checking.*\[\r\n\]+Type \"help show check\" followed by show check subcommand name for full documentation..*\[\r\n\]+Command name abbreviations are allowed if unambiguous." "help show check" -# test help show check range -gdb_test "help show check range" "Show range checking. .on/warn/off/auto." "help show check range" -# test help show check type -gdb_test "help show check type" "Show type checking. .on/warn/off/auto." "help show check type" -# test help show commands -gdb_test "help show commands" "Show the history of commands you typed..*\[\r\n\]+You can supply a command number to start with, or a `\[+\]' to start after.*\[\r\n\]+the previous command number shown." "help show commands" -# test help show complaints -gdb_test "help show complaints" "Show max number of complaints about incorrect symbols." "help show complaints" -# test help show confirm -gdb_test "help show confirm" "Show whether to confirm potentially dangerous operations." "help show confirm" -# test help show convenience -gdb_test "help show convenience" "Debugger convenience .\".foo\". variables..*\[\r\n\]+These variables are created when you assign them values;.*\[\r\n\]+thus, \"print .foo=1\" gives \".foo\" the value 1. Values may be any type..*\[\r\n\]+A few convenience variables are given values automatically:.*\[\r\n\]+\"._\"holds the last address examined with \"x\" or \"info lines\",.*\[\r\n\]+\".__\" holds the contents of the last address examined with \"x\"." "help show convenience" -# test help show directories -gdb_test "help show directories" "Current search path for finding source files..*\[\r\n\]+.cwd in the path means the current working directory..*\[\r\n\]+.cdir in the path means the compilation directory of the source file." "help show directories" -# test help show editing -gdb_test "help show editing" "Show editing of command lines as they are typed..*\[\r\n\]+Use \"on\" to enable the editing, and \"off\" to disable it..*\[\r\n\]+Without an argument, command line editing is enabled. To edit, use.*\[\r\n\]+EMACS-like or VI-like commands like control-P or ESC." "help show editing" -# test help show environment -gdb_test "help show environment" "The environment to give the program, or one variable's value..*\[\r\n\]+With an argument VAR, prints the value of environment variable VAR to.*\[\r\n\]+give the program being debugged. With no arguments, prints the entire.*\[\r\n\]+environment to be given to the program." "help show environment" -# test help show height -gdb_test "help show height" "Show number of lines gdb thinks are in a page." "help show height" -# test help show history expansion -gdb_test "help show history expansion" "Show history expansion on command input..*\[\r\n\]+Without an argument, history expansion is enabled." "help show history expansion" -# test help show history filename -gdb_test "help show history filename" "Show the filename in which to record the command history.*\[\r\n\]+ .the list of previous commands of which a record is kept.." "help show history filename" -# test help show history save -gdb_test "help show history save" "Show saving of the history record on exit..*\[\r\n\]+Use \"on\" to enable the saving, and \"off\" to disable it..*\[\r\n\]+Without an argument, saving is enabled." "help show history save" -# test help show history size -gdb_test "help show history size" "Show the size of the command history, .*\[\r\n\]+ie. the number of previous commands to keep a record of." "help show history size" -# test help show history -gdb_test "help show history" "Generic command for showing command history parameters..*\[\r\n\]+List of show history subcommands:.*\[\r\n\]+show history expansion -- Show history expansion on command input.*\[\r\n\]+show history filename -- Show the filename in which to record the command history.*\[\r\n\]+show history save -- Show saving of the history record on exit.*\[\r\n\]+show history size -- Show the size of the command history.*\[\r\n\]+Type \"help show history\" followed by show history subcommand name for full documentation..*\[\r\n\]+Command name abbreviations are allowed if unambiguous." "help show history" -# test help show language -gdb_test "help show language" "Show the current source language." "help show language" -# test help show listsize -gdb_test "help show listsize" "Show number of source lines gdb will list by default." "help show listsize" -# test help show print "p" abbreviation -gdb_test "help show p" "Generic command for showing print settings..*\[\r\n\]+List of show print subcommands:.*\[\r\n\]+Type \"help show print\" followed by show print subcommand name for full documentation..*\[\r\n\]+Command name abbreviations are allowed if unambiguous." "help show print \"p\" abbreviation" -# test help show print "pr" abbreviation -gdb_test "help show pr" "Generic command for showing print settings..*\[\r\n\]+List of show print subcommands:.*\[\r\n\]+Type \"help show print\" followed by show print subcommand name for full documentation..*\[\r\n\]+Command name abbreviations are allowed if unambiguous." "help show print \"pr\" abbreviation" -# test help show print -gdb_test "help show print" "Generic command for showing print settings..*\[\r\n\]+List of show print subcommands:.*\[\r\n\]+Type \"help show print\" followed by show print subcommand name for full documentation..*\[\r\n\]+Command name abbreviations are allowed if unambiguous." "help show print" -# test help show paths -gdb_test "help show paths" "Current search path for finding object files..*\[\r\n\]+.cwd in the path means the current working directory..*\[\r\n\]+This path is equivalent to the .PATH shell variable. It is a list of.*\[\r\n\]+directories, separated by colons. These directories are searched to find.*\[\r\n\]+fully linked executable files and separately compiled object files as needed." "help show paths" -# test help show print address -gdb_test "help show print address" "Show printing of addresses." "help show print address" -# test help show print array -gdb_test "help show print array" "Show prettyprinting of arrays." "help show print array" -# test help show print asm-demangle -gdb_test "help show print asm-demangle" "Show demangling of C\[+\]+ names in disassembly listings." "help show print asm-demangle" -# test help show print demangle -gdb_test "help show print demangle" "Show demangling of encoded C\[+\]+ names when displaying symbols." "help show print demangle" -# test help show print elements -gdb_test "help show print elements" "Show limit on string chars or array elements to print..*\[\r\n\]+\"set print elements 0\" causes there to be no limit." "help show print elements" -# test help show print object -gdb_test "help show print object" "Show printing of object's derived type based on vtable info." "help show print object" -# test help show print pretty -gdb_test "help show print pretty" "Show prettyprinting of structures." "help show print pretty" -# test help show print sevenbit-strings -gdb_test "help show print sevenbit-strings" "Show printing of 8-bit characters in strings as .nnn." "help show print sevenbit-strings" -# test help show print union -gdb_test "help show print union" "Show printing of unions interior to structures." "help show print union" -# test help show print vtbl -gdb_test "help show print vtbl" "Show printing of C\[+\]+ virtual function tables." "help show print vtbl" -# test help show prompt -gdb_test "help show prompt" "Show gdb's prompt" "help show prompt" -# test help show radix -gdb_test "help show radix" "Show the default input and output number radices.*\[\r\n\]+Use \'show input-radix\' or \'show output-radix\' to independently show each.*\[\r\n\]+" "help show radix" -# test help show symbol-reloading -gdb_test "help show symbol-reloading" "Show dynamic symbol table reloading multiple times in one run." "help show symbol-reloading" -# test help show user -gdb_test "help show user" "Show definitions of user defined commands..*\[\r\n\]+Argument is the name of the user defined command..*\[\r\n\]+With no argument, show definitions of all user defined commands." "help show user" -# test help show values -gdb_test "help show values" "Elements of value history around item number IDX .or last ten.." "help show values" -# test help show verbose -gdb_test "help show verbose" "Show verbosity..*" "help show verbose" -# test help show version -gdb_test "help show version" "Show what version of GDB this is." "help show version" -# test help show width -gdb_test "help show width" "Show number of characters gdb thinks are in a line." "help show width" -# test help show write -# This is only supported on targets which use exec.o. -gdb_test "help show write" "Show writing into executable and core files." "help show write" -# test help show -# FIXME -- Ultrix hangs randomly on this very long output from gdb and -# continues with its output only if something is sent to gdb. -# Also, if the system is slow, it may time out because the output is large. -#gdb_test "help show" "Generic command for showing things about the debugger..*\[\r\n\]+List of show subcommands:.*\[\r\n\]+show listsize -- Show number of source lines gdb will list by default.*\[\r\n\]+show directories -- Current search path for finding source files.*\[\r\n\]+Type \"help show\" followed by show subcommand name for full documentation..*\[\r\n\]+Command name abbreviations are allowed if unambiguous." "help show" -# test help step -gdb_test "help step" "Step program until it reaches a different source line..*\[\r\n\]+Argument N means do this N times .or till program stops for another reason.." "help step #2" -# test help stepi "si" abbreviation -gdb_test "help si" "Step one instruction exactly..*\[\r\n\]+Argument N means do this N times .or till program stops for another reason.." "help stepi \"si\" abbreviation" -# test help stepi -gdb_test "help stepi" "Step one instruction exactly..*\[\r\n\]+Argument N means do this N times .or till program stops for another reason.." "help stepi" -# test help signal -gdb_test "help signal" "Continue program giving it signal.*" "help signal" -# test help source -# vxgdb reads .vxgdbinit -gdb_test "help source" "Read commands from a file named FILE..*\[\r\n\]+Note that the file \"\[^\"\]*\" is read automatically in this way.*\[\r\n\]+when gdb is started." "help source" -# test help stack -gdb_test "help stack" "Examining the stack..*\[\r\n\]+When the program being debugged stops, gdb selects the innermost frame..*\[\r\n\]+The commands below can be used to select other frames by number or address..*\[\r\n\]+List of commands:.*\[\r\n\]+backtrace -- Print backtrace of all stack frames.*\[\r\n\]+bt -- Print backtrace of all stack frames.*\[\r\n\]+down -- Select and print stack frame called by this one.*\[\r\n\]+frame -- Select and print a stack frame.*\[\r\n\]+return -- Make selected stack frame return to its caller.*\[\r\n\]+select-frame -- Select a stack frame without printing anything.*\[\r\n\]+up -- Select and print stack frame that called this one.*\[\r\n\]+Type \"help\" followed by command name for full documentation..*\[\r\n\]+Command name abbreviations are allowed if unambiguous." "help stack" -# test help status -gdb_test "help status" "Status inquiries..*\[\r\n\]+List of commands:.*\[\r\n\]+info -- Generic command for showing things about the program being debugged.*\[\r\n\]+show -- Generic command for showing things about the debugger.*\[\r\n\]+Type \"help\" followed by command name for full documentation..*\[\r\n\]+Command name abbreviations are allowed if unambiguous." "help status" -# test help support -# FIXME -- Ultrix hangs randomly on this very long output from gdb and -# continues with its output only if something is sent to gdb. -# Also, if the system is slow, it may time out because the output is large. -#gdb_test "help support" "Support facilities..*\[\r\n\]+List of commands:.*\[\r\n\]+show confirm -- Show whether to confirm potentially dangerous operations.*\[\r\n\]+show history -- Generic command for showing command history parameters.*\[\r\n\]+down-silently -- Same as the `down' command.*\[\r\n\]+up-silently -- Same as the `up' command.*\[\r\n\]+Type \"help\" followed by command name for full documentation..*\[\r\n\]+Command name abbreviations are allowed if unambiguous." "help support" -# test help symbol-file -gdb_test "help symbol-file" "Load symbol table from executable file FILE..*\[\r\n\]+The `file' command can also load symbol tables, as well as setting the file.*\[\r\n\]+to execute." "help symbol-file" -# test help target child -gdb_test "help target child" "Unix child process .started by the \"run\" command..*|Undefined target command: \"child\". Try \"help target\"." "help target child" -# test help target procfs -gdb_test "help target procfs" "Unix /proc child process .started by the \"run\" command.*|Undefined target command: \"procfs\". Try \"help target\"." "help target procfs (procfs version)" -# test help target core -gdb_test "help target core" ".*Use a core file as a target.*Specify the filename of the core file.*|(Undefined target command: \"core\". Try \"help target\".)" "help target core" -# test help target exec -gdb_test "help target exec" "Use an executable file as a target..*\[\r\n\]+Specify the filename of the executable file." "help target exec" -# test help target remote -gdb_test "help target remote" "Use a remote computer via a serial line, using a gdb-specific protocol..*\[\r\n\]+Specify the serial device it is connected to .e.g. /dev/ttya..*" "help target remote" -# test help target -# the child process target may be "target child" or "target procfs" -gdb_test "help target" "Connect to a target machine or process..*\[\r\n\]+The first argument is the type or protocol of the target machine..*\[\r\n\]+Remaining arguments are interpreted by the target protocol. For more.*\[\r\n\]+information on the arguments for a particular protocol, type.*\[\r\n\]+`help target ' followed by the protocol name..*\[\r\n\]+List of target subcommands:.*\[\r\n\]+target exec -- Use an executable file as a target.*\[\r\n\]+Type \"help target\" followed by target subcommand name for full documentation..*\[\r\n\]+Command name abbreviations are allowed if unambiguous." "help target" -# test help tbreak -gdb_test "help tbreak" "Set a temporary breakpoint.*" "help tbreak" -# test help tty -gdb_test "help tty" "Set terminal for future runs of program being debugged." "help tty" -# test help until "u" abbreviation -gdb_test "help u" "Execute until the program reaches a source line greater than the current.*\[\r\n\]+or a specified line or address or function .same args as break command...*\[\r\n\]+Execution will also stop upon exit from the current stack frame." "help until \"u\" abbreviation" -# test help until -gdb_test "help until" "Execute until the program reaches a source line greater than the current.*\[\r\n\]+or a specified line or address or function .same args as break command...*\[\r\n\]+Execution will also stop upon exit from the current stack frame." "help until" -# test help undisplay -gdb_test "help undisplay" "Cancel some expressions to be displayed when program stops..*\[\r\n\]+Arguments are the code numbers of the expressions to stop displaying..*\[\r\n\]+No argument means cancel all automatic-display expressions..*\[\r\n\]+\"delete display\" has the same effect as this command..*\[\r\n\]+Do \"info display\" to see current list of code numbers." "help undisplay" -# test help unset environment -gdb_test "help unset environment" "Cancel environment variable VAR for the program..*\[\r\n\]+This does not affect the program until the next \"run\" command." "help unset environment" -# test help unset -gdb_test "help unset" "Complement to certain \"set\" commands.*\[\r\n\]+List of unset subcommands:.*\[\r\n\]+unset environment -- Cancel environment variable VAR for the program.*\[\r\n\]+Type \"help unset\" followed by unset subcommand name for full documentation..*\[\r\n\]+Command name abbreviations are allowed if unambiguous." "help unset" -# test help up -gdb_test "help up" "Select and print stack frame that called this one..*\[\r\n\]+An argument says how many frames up to go." "help up" -# test help up-silently -gdb_test "help up-silently" "Same as the `up' command, but does not print anything..*\[\r\n\]+This is useful in command scripts." "help up-silently" -# test help user-defined -gdb_test "help user-defined" "User-defined commands..*\[\r\n\]+The commands in this class are those defined by the user..*\[\r\n\]+Use the \"define\" command to define a command..*\[\r\n\]+List of commands:.*\[\r\n\]+Type \"help\" followed by command name for full documentation..*\[\r\n\]+Command name abbreviations are allowed if unambiguous." "help user-defined" -# test help watch -gdb_test "help watch" "Set a watchpoint for an expression..*\[\r\n\]+A watchpoint stops execution of your program whenever the value of.*\[\r\n\]+an expression changes." "help watch" -# test help whatis -gdb_test "help whatis" "Print data type of expression EXP." "help whatis" -# test help where -gdb_test "help where" "Print backtrace of all stack frames, or innermost COUNT frames..*\[\r\n\]+With a negative argument, print outermost -COUNT frames..*\[\r\n\]+Use of the 'full' qualifier also prints the values of the local variables." "help where" -# test help x -gdb_test "help x" "Examine memory: x/FMT ADDRESS..*\[\r\n\]+ADDRESS is an expression for the memory address to examine..*\[\r\n\]+FMT is a repeat count followed by a format letter and a size letter..*\[\r\n\]+Defaults for format and size letters are those previously used..*\[\r\n\]+Default count is 1. Default address is following last thing printed.*\[\r\n\]+with this command or \"print\"." "help x" -# test help info bogus-gdb-command -gdb_test "help info bogus-gdb-command" "Undefined info command: \"bogus-gdb-command\". Try \"help info\"." "help info bogus-gdb-command" -# test help gotcha -gdb_test "help gotcha" "Undefined command: \"gotcha\". Try \"help\"." "help gotcha" diff --git a/gdb/testsuite/gdb.base/i486-elf.u b/gdb/testsuite/gdb.base/i486-elf.u deleted file mode 100644 index 882338b9dea..00000000000 --- a/gdb/testsuite/gdb.base/i486-elf.u +++ /dev/null @@ -1,287 +0,0 @@ -begin 777 i486-elf -M?T5,1@$! 0 ( P ! W(($"#0 !\+@ #0 ( % -M "@ %0 1 8 T -( $" "@ H 4 P -0 -M !, ! ! - #2 ! @ * 8 -M "@& % ! $ !<!@ 7)8$" "4 2 ( < $ -M @ ( & " E@0( ' !P O=7-R+VQI8B]L:6)C -M+G-O+C$ , , !@ L * ! ( -M $ 4 # " D ' -M $ "<@@0(' !( * I)@$" 1 /'_#P &"6! @$ -M$0 + !@ !<A@0( !$ \?\? K(($"$ 2 )@ /"6! @ -M $0#Q_RT #,@@0( !( R /(8$" 0 1 H /P +R" -M! @ $@ $D !DE@0( !$ \?]? @)8$" 1 /'_ %]C -M;&5A;G5P %]E;F0 7V5N=FER;VX 7V5T97AT &%T97AI= !?961A=&$ 97AI -M= !?;&EB7W9E<G-I;VX 7U]F<'-T87)T %]'3$]"04Q?3T9&4T547U1!0DQ% -M7P!?1%E.04U)0P O=7-R+VQI8B]L:6)C+G-O+C$ '"6! @' 0 =)8$" <% -M !XE@0(!PD 'R6! @'!P PP /\U:)8$"/\E;)8$" #_)7"6! AH -M .G@_____R5TE@0(: @ #IT/____\E>)8$"&@0 Z<#_____)7R6 -M! AH& .FP____:@!J (OL4KB<@@0(A<!T#6B<@@0(Z+;___^#Q 2X@)8$ -M"(7 = 7HI?___V@XA@0(Z)O___^+10B-5(40B15@E@0(4HU5#%)0Z%_____H -MCO___^@! 0 @\0,4.B0____:@"X 0 )H !P#TP^L&,\#K ,G#58OL -MZ_60D)#K!C/ ZP#)PU6+[.OUD)"0ZP8SP.L R<-5B^SK]9"0D.L&,\#K ,G# -M58OLZ_60D)#K!C/ ZP#)PU6+[.OUD)"0ZP8SP.L R<-5B^SK]9"0D.L&,\#K -M ,G#58OLZ_60D)#K!C/ ZP#)PU6+[.OUD)"0ZP8SP.L R<-5B^SK]9"0D.L& -M,\#K ,G#58OLZ_60D)#K!C/ ZP#)PU6+[.OUD)"0ZP8SP.L R<-5B^SK]9"0 -MD.L*W05 A@0(ZP#)PU6+[.OQD)"0ZPK=!4B&! CK ,G#58OLZ_&0D)#I\P$ -M )#&!?B7! @ Q@5TEP0( <8%.I<$" )FQP5LEP0( P!FQP5<EP0(! !FQP4$ -MEP0(!0#'!1"7! @& QP7PE@0(!P ,<%])8$" @ #'!6B7! @) -MQP7\E@0("@ ,<%>)<$" L "A4(8$"*,\EP0(H5B&! BC#)<$"*%4A@0( -MHPB7! B@^)<$"*+4EP0(H'27! BB.)<$"* ZEP0(HOB6! AFH6R7! AFHWR7 -M! AFH5R7! AFHTB7! AFH027! AFHX"7! BA$)<$"*,<EP0(H?"6! BCC)<$ -M"*'TE@0(HU"7! BA:)<$"*/PEP0(H?R6! BC0)<$"*%XEP0(HV"7! BA/)<$ -M"*/@EP0(H0R7! BC+)<$"*$(EP0(HRB7! C'!827! CXEP0(QP7LEP0(=)<$ -M",<%B)<$"#J7! C'!>B7! ALEP0(QP6<EP0(7)<$",<% )<$" 27! C'!4R7 -M! @0EP0(QP64EP0(\)8$",<%6)<$"/26! C'!7"7! AHEP0(QP7<EP0(_)8$ -M",<%&)<$"'B7! C'!=B7! @\EP0(QP6@EP0(")<$",<%))<$" ( #'!127 -M! @" QP60F 0( 0 ,<%_)<$" $ "AF)<$"*, F 0(9J&<F 0(9J.4 -MF 0(R<-5B^SI!O[__Y ## ,A" -M :4 ("6! @ **"! BR@@0(PH($"-*"! @! -M : P "(@@0(#0 #B&! @$ Z( $" 4 #L@00(!@ "R! -M! @* >P L 0 %0 # 9)8$" ( @ % -M !$ 7 :(($" $ -M 0 \?\ U( $" # $ .B ! @ P " L -M@00( , P [($$" # 0 &B"! @ P % -M "(@@0( , !@ C(($" # < -R"! @ P ( -M XA@0( , "0 /(8$" # H %R6! @ -M P + !DE@0( , # @)8$" # T /"6! @ -M P . , #P # ! -M P 1 , $@ # !, -M P 4 H 0 \?\1 $ /'_ -M& ! #Q_R0 0 \?\L $ -M /'_-@ ! #Q_ST !,@P0(#0 !( " !) \)8$" 0 -M 1 X 5@ /26! @$ $0 . &4 XA@0( !( "0!K ^)8$ -M" ( 1 X @0 #2$! @! @ $@ ( (8 #\E@0(! !$ #@"4 -M )<$" 0 1 X K0 )R"! @< $@ +8 "DF 0( !$ \?^[ -M !)<$" ( 1 X S )R#! @- $@ ( .( (EP0(" !$ -M#@#K $)<$" 0 1 X \0 -R"! @ $@ ( /@ 4EP0(! -M !$ #@ # 0 8)8$" 0 1 L # $ !B7! @$ $0 . "0! <EP0( -M" !$ #@ P 0 ))<$" 0 1 X . $ %R#! @- $@ ( $L! H -MEP0($ !$ #@!: 0 7(8$" 1 /'_80$ #B7! @" $0 . '4! -M ZEP0( 0 !$ #@"% 0 /)<$" 0 1 X C0$ $"7! @( $0 . -M *$! "L@@0(0 !( "H 0 8)8$" 0 A L L $ -R#! @- -M$@ ( +P! #\@P0(#0 !( " #1 0 2)<$" 0 1 X Y@$ $R7! @$ -M $0 . /0! #PE@0( !$ \?_[ 0 ?(,$" T 2 @ " ( %"7 -M! @( $0 . !T" !8EP0(! !$ #@ T @ K(,$" T 2 @ /P( -M %R7! @" $0 . $X" ,A 0($0 !( " !; @ S(($" 2 -M8 ( &"7! @( $0 . '8" !HEP0(! !$ #@!] @ ;)<$" ( 1 -M X A0( '"7! @$ $0 . )0" !TEP0( 0 !$ #@"B @ >)<$" 0 -M 1 X L@( 'R7! @$ $0 . , " " EP0(! !$ #@#7 @ /(8$ -M" 0 1 H Y ( $N#! @ $@ ( .P" "$EP0(! !$ #@#[ @ -MB)<$" 0 1 X $P, (R7! @( $0 . "8# "\@@0( !( P -M P E)<$" 0 1 X 10, )B7! @$ $0 . $P# !DE@0( !$ -M\?]B P G)<$" 0 1 X >0, *"7! @$ $0 . (H# !<E@0(! -M !$ "P"< P I)<$"!@ 1 X I@, +R7! @8 $0 . + # #4EP0( -M @ !$ #@"] P V)<$" 0 1 X S0, -R7! @$ $0 . .,# @ -MA 0($0 !( " #Q P O(,$" T 2 @ P0 ("6! @ $0#Q_PP$ -M #@EP0(" !$ #@ :! Z)<$" 0 1 X *@0 .R#! @- $@ ( -M #T$ #LEP0(! !$ #@!3! \)<$" @ 1 X 8 0 (B"! @ -M$@ & &8$ #XEP0( 0 !$ #@!M! _)<$" 0 1 X =00 &R#! @- -M $@ ( (H$ F 0(D !$ #@"1! C(,$" T 2 @ I00 )"8 -M! @$ $0 . *\$ "4F 0(" !$ #@"X! S(,$" T 2 @ S 0 -M )R8! @( $0 . !I-#@V+F5L9@!C<G0Q+G, 8W)T:2YS '9A;'5E<RU8 -M="YC &=D8FUE+F, <VA?9&%T82YC &-R=&XN<P!V7V-H87)?9G5N8P!V7W-I -M9VYE9%]I;G0 =E]U;G-I9VYE9%]I;G0 7V9I;FD =E]U;G-I9VYE9%]C:&%R -M7V%R<F%Y &UA:6X =E]S:6=N961?;&]N9P!V7W5N<VEG;F5D7W-H;W)T7W!O -M:6YT97( 7V-L96%N=7 7V5N9 !V7W5N<VEG;F5D7W-H;W)T '9?=6YS:6=N -M961?<VAO<G1?9G5N8P!V7V1O=6)L90!V7VEN= !?<W1A<G0 ;F]N<')I;6%R -M>0!?96YV:7)O;@!V7W5N<VEG;F5D7VQO;F=?<&]I;G1E<@!V7VEN=%]A<G)A -M>0!P<FEM87)Y '9?<VEG;F5D7V-H87)?9G5N8P!V7V1O=6)L95]A<G)A>0!? -M971E>'0 =E]S:6=N961?8VAA<E]A<G)A>0!V7W5N<VEG;F5D7V-H87( =E]F -M;&]A= !V7W-I9VYE9%]L;VYG7V%R<F%Y &%T97AI= !E;G9I<F]N '9?;&]N -M9U]F=6YC '9?=6YS:6=N961?;&]N9U]F=6YC '9?<VEG;F5D7W-H;W)T7V%R -M<F%Y '9?:6YT7W!O:6YT97( 7V5D871A '9?<VAO<G1?9G5N8P!V7W5N<VEG -M;F5D7VEN=%]A<G)A>0!V7W5N<VEG;F5D7VEN=%]P;VEN=&5R '9?:6YT7V9U -M;F, =E]S:6=N961?<VAO<G0 =E]F;&]A=%]F=6YC &5X:70 =E]U;G-I9VYE -M9%]L;VYG7V%R<F%Y '9?;&]N9P!V7W-H;W)T '9?;&]N9U]P;VEN=&5R '9? -M<VEG;F5D7V-H87( =E]U;G-I9VYE9%]L;VYG '9?<VAO<G1?87)R87D =E]U -M;G-I9VYE9%]S:&]R=%]A<G)A>0!?;&EB7W9E<G-I;VX 7VUC;W5N= !V7V-H -M87)?<&]I;G1E<@!V7W5N<VEG;F5D7V-H87)?<&]I;G1E<@!V7W-I9VYE9%]I -M;G1?87)R87D 7U]F<'-T87)T '9?<VEG;F5D7VEN=%]P;VEN=&5R '-?;&EN -M:P!?1TQ/0D%,7T]&1E-%5%]404),15\ =E]S:6=N961?<VAO<G1?<&]I;G1E -M<@!V7V1O=6)L95]P;VEN=&5R %]?;&]N9V1O=6)L95]U<V5D '9?<W1R=6-T -M,0!V7W-T<G5C=#( =E]C:&%R7V%R<F%Y '9?9FQO871?<&]I;G1E<@!V7W-I -M9VYE9%]L;VYG7W!O:6YT97( =E]D;W5B;&5?9G5N8P!V7W-I9VYE9%]I;G1? -M9G5N8P!?1%E.04U)0P!V7V9L;V%T7V%R<F%Y '9?<VAO<G1?<&]I;G1E<@!V -M7W-I9VYE9%]L;VYG7V9U;F, =E]S:6=N961?8VAA<E]P;VEN=&5R '9?;&]N -M9U]A<G)A>0!?:6YI= !V7V-H87( 8VQU;FME<@!V7W5N<VEG;F5D7V-H87)? -M9G5N8P!U7VQI;FL =E]S:6=N961?<VAO<G1?9G5N8P!S<&]R='-C87( =E]U -M;FEO;C( =E]U;G-I9VYE9%]I;G1?9G5N8P!V7W5N:6]N N:6YT97)P "YH -M87-H "YD>6YS>6T +F1Y;G-T<@ N<F5L+G!L= N:6YI= N<&QT "YT97AT -M "YF:6YI "YR;V1A=&$ +F1A=&$ +F=O= N9'EN86UI8P N8G-S "YS>6UT -M86( +G-T<G1A8@ N<VAS=')T86( +F-O;6UE;G0 +F1E8G5G "YL:6YE $ H -M(REL:6)C+6DS.#8Z;&EB8RUI,S@V+V-S=2]C<G0Q+G,),2XQ. !A<SH@*%-# -M1$4I(#4N," @,#0O,3DO.3 0"@C*6QI8F,M:3,X-CIC<W4O8W)T:2YS"3$N -M,@!A<SH@*%-#1$4I(#4N," @,#0O,3DO.3 0"@C*6QI8F,M<&]R=#IG96XO -M=F%L=65S+5AT+F,),2XS $ H(REL:6)C.FEN8R]S>6YO;GEM<RYH"3$N,S, -M0"@C*6AE860Z;6%T:"YH"3(N,3$N,2XR-P!A8V]M<#H@*%-#1$4I(#4N," @ -M,#0O,3DO.3 ;W!T:6TZ("A30T1%*2 U+C @(# T+S$Y+SDP &%S.B H4T-$ -M12D@-2XP(" P-"\Q.2\Y, !A8V]M<#H@*%-#1$4I(#4N," @,#0O,3DO.3 -M87,Z("A30T1%*2 U+C @(# T+S$Y+SDP $ H(REL:6)C+6DS.#8Z9V5N+W-H -M7V1A=&$N8PDQ+C, 86-O;7 Z("A30T1%*2 U+C @(# T+S$Y+SDP &]P=&EM -M.B H4T-$12D@-2XP(" P-"\Q.2\Y, !A<SH@*%-#1$4I(#4N," @,#0O,3DO -M.3 0"@C*6QI8F,M:3,X-CIL:6)C+6DS.#8O8W-U+V-R=&XN<PDQ+C4 87,Z -M("A30T1%*2 U+C @(# T+S$Y+SDP "!L9" Z("A30T1%*2 U+C @(# T+S$Y -M+SDP +@ !$ $@!P%@ . !G9&)M92YC #8! 0 !$!3(,$""$!-88$ -M" 8! !T 3 !( 3@$ #@ =%]S=')U8W0 M@ 8 *@ T $@!U -M . !V7V-H87)?;65M8F5R %4 0 C 8 ! '*P T $@"@ -M. !V7W-H;W)T7VUE;6)E<@!5 0 (P & 0" !RD - !( R0 #@ -M=E]I;G1?;65M8F5R %4 !P C 8 ! 0 '*@ T $@#S . !V7VQO -M;F=?;65M8F5R %4 "@ C 8 ! @ '*P T $@ > 0 . !V7V9L;V%T -M7VUE;6)E<@!5 X (P & 0, !RP - !( 2@$ #@ =E]D;W5B;&5? -M;65M8F5R %4 #P C 8 !! '! !L 3 !( ; ( #@ +C!F86ME -M +8 & "H - !( DP$ #@ =E]C:&%R7VUE;6)E<@!5 $ (P & 0 -M !RL - !( O@$ #@ =E]S:&]R=%]M96UB97( 50 $ ", !@ $ @ -M <I #0 2 .<! X '9?:6YT7VUE;6)E<@!5 < (P & 0$ !RH -M - !( $0( #@ =E]L;VYG7VUE;6)E<@!5 H (P & 0( !RL - -M !( / ( #@ =E]F;&]A=%]M96UB97( 50 . ", !@ $# <L #0 2 -M &@" X '9?9&]U8FQE7VUE;6)E<@!5 \ (P & 00 !P0 < -M%P 2 (L# X '1?=6YI;VX M@ ( *@ T $@"R @ . !V7V-H87)? -M;65M8F5R %4 0 C 8 ! '*P T $@#= @ . !V7W-H;W)T7VUE -M;6)E<@!5 0 (P & 0 !RD - !( !@, #@ =E]I;G1?;65M8F5R -M %4 !P C 8 ! '*@ T $@ P P . !V7VQO;F=?;65M8F5R %4 -M"@ C 8 ! '*P T $@!; P . !V7V9L;V%T7VUE;6)E<@!5 X -M(P & 0 !RP - !( AP, #@ =E]D;W5B;&5?;65M8F5R %4 #P C -M 8 ! '! !L 7 !( J00 #@ +C%F86ME +8 " "H - -M !( T , #@ =E]C:&%R7VUE;6)E<@!5 $ (P & 0 !RL - !( -M^P, #@ =E]S:&]R=%]M96UB97( 50 $ ", !@ $ <I #0 2 "0$ -M X '9?:6YT7VUE;6)E<@!5 < (P & 0 !RH - !( 3@0 #@ -M=E]L;VYG7VUE;6)E<@!5 H (P & 0 !RL - !( >00 #@ =E]F -M;&]A=%]M96UB97( 50 . ", !@ $ <L #0 2 *4$ X '9?9&]U -M8FQE7VUE;6)E<@!5 \ (P & 0 !P0 J !@ 2 -<$ X '9? -M8VAA<E]F=6YC %4 0 1 4R#! @A 5F#! @$ ,0 8 $@ ,!0 . !V -M7W-I9VYE9%]C:&%R7V9U;F, 50 " !$!7(,$""$!:8,$" 0 S !@ 2 -M $,% X '9?=6YS:6=N961?8VAA<E]F=6YC %4 P 1 6R#! @A 7F#! @$ -M *P 8 $@!R!0 . !V7W-H;W)T7V9U;F, 50 $ !$!?(,$""$!B8,$ -M" 0 R !@ 2 *@% X '9?<VEG;F5D7W-H;W)T7V9U;F, 50 % !$! -MC(,$""$!F8,$" 0 T !@ 2 . % X '9?=6YS:6=N961?<VAO<G1? -M9G5N8P!5 8 $0&<@P0((0&I@P0(! "D & !( #08 #@ =E]I;G1? -M9G5N8P!5 < $0&L@P0((0&Y@P0(! # & !( 008 #@ =E]S:6=N -M961?:6YT7V9U;F, 50 ( !$!O(,$""$!R8,$" 0 R !@ 2 '<& X -M '9?=6YS:6=N961?:6YT7V9U;F, 50 ) !$!S(,$""$!V8,$" 0 J -M!@ 2 *4& X '9?;&]N9U]F=6YC %4 "@ 1 =R#! @A >F#! @$ ,0 -M 8 $@#:!@ . !V7W-I9VYE9%]L;VYG7V9U;F, 50 + !$![(,$""$!^8,$ -M" 0 S !@ 2 !$' X '9?=6YS:6=N961?;&]N9U]F=6YC %4 # 1 -M ?R#! @A 0F$! @$ *P 8 $@! !P . !V7V9L;V%T7V9U;F, 50 . -M !$!#(0$""$!'80$" 0 L !@ 2 ' ' X '9?9&]U8FQE7V9U;F, -M50 / !$!((0$""$!,80$" 0 5 %0 2 *X' "# 4 >H' 5 -M!0 2 )H' "# 4 >H' 0 !0 2 *H' !5 < ! #P ! !( -MZ@< )4 "C "@ @ " 0 ( " -M"'( +@ !D 3 !( >P@ #@ ;&EN:P"V )@ F #0 2 "D( X -M &YE>'0 @P % 'J!P (P & 0 !RH - !( 4P@ #@ ;&EN:V9U -M;F, @P % %P!P (P & 0$ !R0 - !( =P@ #@ <W1U9F8 <@"N -M!P (P & 0( !P0 5 %0 2 +D( "# 4 >H' 5 !0 2 -M *4( "# 4 >H' 0 !0 2 +4( !5 < ! #P ! !( ]0@ -M )4 "C "@ @ " 0 ( " "'( -M+@ !P 7 !( B0D #@ ='5?;&EN:P"V ) F #0 2 #<) X -M &YE>'0 @P % 'J!P (P & 0 !RH - !( 80D #@ ;&EN:V9U -M;F, @P % %[" (P & 0 !R0 - !( A0D #@ <W1U9F8 <@"Y -M" (P & 0 !P0 Z ! 2 ,<) X "XR9F%K90"V 0 #S -M !L @ &)L=64 0 &=R965N !R960 ! #X $ !( "0H -M #@ 8V]L;W)S +8 ! /, 'P " <&EN:P ! <'5R<&QE !Y -M96QL;W< ! #( $ !( /PH #@ +C-F86ME +8 ! /, $P ! -M9F]R9 8VAE=GD ! #$ $ !( = H #@ 8V%R<P"V 0 #S -M !0 0 '!O<G-C:&4 &)M=P $ ,@ 0 $@"J"@ . N-&9A -M:V4 M@ $ \P 3 $ !44E5% !&04Q310 $ ' !8 $@#& -M"@ . !B;V]L96%N '( = H #$ $ !( ^PH #@ 8G9A;', M@ $ -M\P 3 $ !T<G5E !F86QS90 $ '0 !8 $@ 8"P . !B;V]L -M96%N,@!R ,8* !& ! 2 &(+ X &UI<V]R9&5R960 M@ $ \P C -M , !T:')E90 >F5R;P ! ;VYE ( !T=V\ ! ", & -M !( B0L #@ ;6%I;@!5 < $0$TA 0((0$UA@0(! "< ' !( L L -M #@ <W!O<G1S8V%R '( /PH ", !0 #D)@$""4 ' !( U0L #@ 8VQU -M;FME<@!R D* C 4 _R7! @H !P 2 /T+ X &YO;G!R:6UA<GD -M<@#'"0 (P % ,4EP0()0 < $@ B# . !P<FEM87)Y '( B0D ", -M!0 #))<$""0 ' !( 1@P #@ =5]L:6YK '( ]0@ ", !0 # )@$""< -M ' !( ;0P #@ <U]L:6YK (, !0 !Z@< ", !0 #F)<$""8 ' !( -MDPP #@ =E]U;FEO;C( <@"+ P (P % .4F 0()0 < $@"X# . !V -M7W5N:6]N '( ; ( ", !0 #G)@$""< ' !( WPP #@ =E]S=')U8W0R -M '( 3@$ ", !0 #O)<$""< ' !( !@T #@ =E]S=')U8W0Q '( +@ -M ", !0 #I)<$""\ ' !( -0T #@ =E]D;W5B;&5?<&]I;G1E<@!C , -M 0\ (P % .@EP0(+@ < $@!C#0 . !V7V9L;V%T7W!O:6YT97( 8P # -M $. ", !0 #V)<$"#8 ' !( F0T #@ =E]U;G-I9VYE9%]L;VYG7W!O -M:6YT97( 8P # $, ", !0 #&)<$"#0 ' !( S0T #@ =E]S:6=N961? -M;&]N9U]P;VEN=&5R &, P !"P C 4 ]R7! @M !P 2 /H- X '9? -M;&]N9U]P;VEN=&5R &, P !"@ C 4 W"7! @U !P 2 "\. X '9? -M=6YS:6=N961?:6YT7W!O:6YT97( 8P # $) ", !0 #6)<$"#, ' !( -M8@X #@ =E]S:6=N961?:6YT7W!O:6YT97( 8P # $( ", !0 #E)<$""P -M ' !( C@X #@ =E]I;G1?<&]I;G1E<@!C , 0< (P % -,EP0(-P -M < $@#%#@ . !V7W5N<VEG;F5D7W-H;W)T7W!O:6YT97( 8P # $& ", -M!0 # )<$"#4 ' !( ^@X #@ =E]S:6=N961?<VAO<G1?<&]I;G1E<@!C -M , 04 (P % .<EP0(+@ < $@ H#P . !V7W-H;W)T7W!O:6YT97( -M8P # $$ ", !0 #Z)<$"#8 ' !( 7@\ #@ =E]U;G-I9VYE9%]C:&%R -M7W!O:6YT97( 8P # $# ", !0 #B)<$"#0 ' !( D@\ #@ =E]S:6=N -M961?8VAA<E]P;VEN=&5R &, P ! @ C 4 ^R7! @M !P 2 +\/ X -M '9?8VAA<E]P;VEN=&5R &, P ! 0 C 4 X27! @D 0 2 .,/ "5 -M HP 0 ( ! "%4 #P L !P 2 \0 X '9?9&]U8FQE -M7V%R<F%Y '( OP\ ", !0 #*)<$""0 ! !( ,Q )4 "C ! @ -M $ (50 . "L ' !( 7A #@ =E]F;&]A=%]A<G)A>0!R \0 -M C 4 ^"7! @D 0 2 ((0 "5 HP 0 ( ! "%4 -M# S !P 2 +40 X '9?=6YS:6=N961?;&]N9U]A<G)A>0!R %X0 C -M 4 V"7! @D 0 2 -D0 "5 HP 0 ( ! "%4 "P Q -M !P 2 H1 X '9?<VEG;F5D7VQO;F=?87)R87D <@"U$ (P % - -MEP0() $ $@ N$0 E0 *, $ " 0 A5 H *@ < -M$@!8$0 . !V7VQO;F=?87)R87D <@ *$0 (P % /PEP0() $ $@!\ -M$0 E0 *, $ " 0 A5 D ,@ < $@"N$0 . !V7W5N -M<VEG;F5D7VEN=%]A<G)A>0!R %@1 C 4 U"7! @D 0 2 -(1 "5 -M HP 0 ( ! "%4 " P !P 2 (2 X '9?<VEG;F5D -M7VEN=%]A<G)A>0!R *X1 C 4 XR7! @D 0 2 "82 "5 HP 0 -M ( ! "%4 !P I !P 2 $\2 X '9?:6YT7V%R<F%Y '( -M A( ", !0 #')<$""0 ! !( <Q( )4 "C ! @ $ ( -M50 & #0 ' !( IQ( #@ =E]U;G-I9VYE9%]S:&]R=%]A<G)A>0!R $\2 -M C 4 X"7! @D 0 2 ,L2 "5 HP 0 ( ! "%4 -M!0 R !P 2 /T2 X '9?<VEG;F5D7W-H;W)T7V%R<F%Y '( IQ( ", -M!0 #2)<$""0 ! !( (1, )4 "C ! @ $ (50 $ "L -M ' !( 3!, #@ =E]S:&]R=%]A<G)A>0!R /T2 C 4 WR7! @D -M 0 2 ' 3 "5 HP 0 ( ! "%4 P S !P 2 *,3 X -M '9?=6YS:6=N961?8VAA<E]A<G)A>0!R $P3 C 4 _B6! @D 0 2 -M ,<3 "5 HP 0 ( ! "%4 @ Q !P 2 /@3 X '9? -M<VEG;F5D7V-H87)?87)R87D <@"C$P (P % ,XEP0() $ $@ <% -ME0 *, $ " 0 A5 $ *@ < $@!&% . !V7V-H87)? -M87)R87D <@#X$P (P % /4EP0() < $@!J% . !V7V1O=6)L90!5 -M \ (P % ,(EP0((P < $@"-% . !V7V9L;V%T %4 #@ C 4 SR7 -M! @K !P 2 +@4 X '9?=6YS:6=N961?;&]N9P!5 P (P % -XEP0( -M*0 < $@#A% . !V7W-I9VYE9%]L;VYG %4 "P C 4 _R6! @B -M!P 2 ,5 X '9?;&]N9P!5 H (P % -HEP0(*@ < $@ M%0 . !V -M7W5N<VEG;F5D7VEN= !5 D (P % /TE@0(* < $@!5%0 . !V7W-I -M9VYE9%]I;G0 50 ( ", !0 #\)8$""$ ' !( =A4 #@ =E]I;G0 50 ' -M ", !0 #$)<$""P ' !( HA4 #@ =E]U;G-I9VYE9%]S:&]R= !5 8 -M(P % ,$EP0(*@ < $@#,%0 . !V7W-I9VYE9%]S:&]R= !5 4 (P % -M -<EP0((P < $@#O%0 . !V7W-H;W)T %4 ! C 4 VR7! @K -M!P 2 !H6 X '9?=6YS:6=N961?8VAA<@!5 , (P % ,ZEP0(*0 < -M$@!#%@ . !V7W-I9VYE9%]C:&%R %4 @ C 4 W27! @B !P 2 &46 -M X '9?8VAA<@!5 $ (P % /XEP0(! < "2 @ 3(,$"'D -M #__P !Z __\0 >P /__( 'T #__S !^ __] -M ?P /__4 ($ #__V "" __]P @P /__@ (4 -M #__Y "& __^@ AP /__L (D #__\ "* ___4 -M L@ /__Z +4 #__^X "V ___U MP /___ +D -M #__P,! "Z __\, 0 NP /__%0$ +T #__QX! "^ __\H -M 0 OP /__,@$ ,$ #__SP! #" __]& 0 PP /__4 $ ,4 -M #__UH! #& __]D 0 R0 /__> $ ,H #__X(! #+ __^, -M 0 S0 /__E@$ ,X #__Z(! #/ __^N 0 T0 /__N@$ -( -M #__\0! #3 ___. 0 U0 /__V $ -8 #__^(! #7 ___L -M 0 V0 /__]@$ -H #__P " #< __\4 @ W0 /__'@( -X -M #__R@" #@ __\R @ X0 /__/ ( .( #__T8" #D __]0 -M @ Y0 /__6@( .8 #__V0" #H __]N @ Z0 /__> ( .H -M #__X(" #L __^, @ [0 /__E@( .\ #__Z " #P __^J -M @ \0 /__M ( /( #__[X" #T ___( @ ]@ /__T@( /< -M #__]X" ___I @ -M 0 $ " U( $"-0 3 -M ! D % @ .B ! CH 1 , ! -M 0 / "P ( L@00(+ $ , $ 0 0 0 -M%P , " [($$".P! ![ ! !\ ) -M @ &B"! AH @ ( , ' ! @ H 0 8 -M "(@@0(B ( $ 0 +@ $ & C(($ -M"(P" !0 $ ! #, ! !@ -R"! C< @ -M60, ! Y 0 8 XA@0(. 8 $ -M 0 /P $ " /(8$"#P& @ -M $ $< ! P %R6! A<!@ " ! -M !- 0 , !DE@0(9 8 !P 0 $ -M4@ 8 # @)8$"( & !P ! $ " %L ( -M P /"6! CP!@ M $ ! !@ @ -M \ 8 ' 0 ' 0 0 : , -M / - #4! ! ' # #$$@ -MD 0 !Z 0 5!, "(" -M $ @P $ '@5 !P%@ -M $ (H ! #H*P D@( 0 -% - -end diff --git a/gdb/testsuite/gdb.base/i860-elf.u b/gdb/testsuite/gdb.base/i860-elf.u deleted file mode 100644 index 216e83b5a2f..00000000000 --- a/gdb/testsuite/gdb.base/i860-elf.u +++ /dev/null @@ -1,314 +0,0 @@ -begin 775 i860-elf -M?T5,1@$" 0 " < ! 32 #0 #-4 T " -M!0 H !4 $0 8 T 0- "@ H 4 P -M -0 !, ! ! - $#0 ( -M\ "/ % 0 $ DD I) "8 "7 8 ! -M @ "4P "E, ' !P O=7-R+VQI8B]L:6)C -M+G-O+C$ , , !P P + @ -M # !0 & ! D * " -M ! 0 $M !,$@ H "N -M !$ __$ / I* 01 + & &20 $0#_\0 !\ -M !+L F!( F IO 1 /_Q +0 $R0 $@ -M #( !D0 !!$ H _ 3" 2 20 *3 $0#_ -M\0 %\ "E, !$ __$ 7V-L96%N=7 7V5N9 !?96YV:7)O;@!?971E -M>'0 871E>&ET %]E9&%T80!E>&ET %]L:6)?=F5R<VEO;@!?7V9P<W1A<G0 -M7T=,3T)!3%]/1D93151?5$%"3$5? %]$64Y!34E# "]U<W(O;&EB+VQI8F,N -M<V\N,0 I/ @0 I0 !@0 I1 "@0 I -M2 " 0 * ! @ H * 7_RDY[!\ !?>*35 /@ -M%_\I/>P? #D'0 0 #X &O___;OO0 [!\ .P> ! /@ %_\I0>^] #D -M'0 ,[!X &O__^\7_RE%[!\ .0= !A /@ :___Z.^] #L'P [!X $ -M^ 7_RE)[[T .0= "3L'@ :___X: #( 4'$ 81"__"@0P '$ -M!>P0 #40@ /6@ N80$M"@ ;___X.??*4SL'@ ;___VUO@ +L$ -MH) .80&0!O___8H &___\>@ ;___VZ82 (4< 1AE( &()2& ? -MY9$I[!\ &P )J$<0 4;___UZ "@$ H $?@^ "$'P !H\$ * _ -M "@ 0 #X * "@ H ,@ P<0!@!A$+_\* 0 "$0P %&, -M 81_ !"GX@ 0 ( * #( ,'$ 8 81"__"@$ A$, !1C &$?P 0 -MI^( $ " "@ R #!Q & &$0O_PH! (1# 48P !A'\ $*?B ! -M @ H ,@ P<0!@!A$+_\* 0 "$0P %&, 81_ !"GX@ 0 ( * -M #( ,'$ 8 81"__"@$ A$, !1C &$?P 0I^( $ " "@ R -M#!Q & &$0O_PH! (1# 48P !A'\ $*?B ! @ H ,@ P<0!@! -MA$+_\* 0 "$0P %&, 81_ !"GX@ 0 ( * #( ,'$ 8 81"__"@ -M$ A$, !1C &$?P 0I^( $ " "@ R #!Q & &$0O_PH! (1# -M 48P !A'\ $*?B ! @ H ,@ P<0!@!A$+_\* 0 "$0P %&, -M 81_ !"GX@ 0 ( * #( ,'$ 8 81"__"@$ A$, !1C &$?P 0 -MI^( $ " "@ R #!Q & &$0O_PH! (1# 48P !A'\ $*?B ! -M @ H ,@ P<0!@!A$+_\$@( <F$0P %&, 81_ !"GX@ 0 ( * -M #( ,'$ 8 81"__!(" ')A$, !1C &$?P 0I^( $ " "@ R -M#!Q & &$0O_P[!\ (1# "4' !#^4"S _EXD3L'P [!\ )0< *4' # -M#^7B"A_EXCSL'P [!\ )0< 24' %'^7B+!_EX=3L'P [!\ )0< :4 -M' ''^7AX1_EX<7L'P [!\ )0< B4' )'^7AP1_EXCGL'P [!\ )0< -M J4' +'^7AS1_EXDGL'P )_ 9(NP? O\"H.[!\ "?P&1CL'P +_ I -MV.P? '_"K,[!\ _EXJCL'P !_PJ1.P? /Y>(([!\ ?\*@KL'P -M#^7AR.P? 7_"H\[!\ !_EXDSL'P %_PJ+.P? ?Y>(8[!\ !?\*=3L -M'P '^7B4.P? 7_"GA[!\ !_EX>WL'P %_PIQ>P? ?Y>)=[!\ !?\ -M*<'L'P '^7B(>P? 7_"HY[!\ !_EXL7L'P %_PIS>P? ?Y>(1[!\ -M !?\*DGL'P '^7B,>P? G\"H.[!\ "_P*K;L'P )_ IV.P? O\"GX -M[!\ .?\*LSL'P '^7B5>P? #G_"I$[!\ !_EXL'L'P Y_PJ"NP? ? -MY>)9[!\ .?\*CSL'P '^7BO>P? #G_"HL[!\ !_EXFWL'P Y_PIU.P? -M ?Y>'1[!\ .?\*>#L'P '^7B'>P? #G_"G$[!\ !_EXF7L'P Y_PI -MP.P? ?Y>(I[!\ .?\*CCL'P '^7B0>P? #G_"G,[!\ !_EXK'L'P -MY_PJ2.P? ?Y>'I[!\ .?\*@SL'P '^7BK>P? #G_"G8[!\ !_EXG'L -M'P [!\ )0< *4' "'^7A]1_EX>7L'P [!\ )0< &4' !'^7C:1_E -MXM'L'P %_PJ:>P? ?Y>+9[!\ !?\*WCL'P '^7C<.P? 48P !A'\ -M$*?B ! @ H $ " "@ H 0&D !"R -M I3 2W $O@ !,4 3, $ -M !H # $K - 9 0 !#H !0 $@ & 1, -M H ![ "P ! 5 , "DP @ # 4 -M!P !< !)\ $ -M 0 __$ 0U # ! $.@ P @ -M !$P , , 2 # $ $GP P !0 -M !*P , 8 2P # ' $T P -M" !D , D 9$ # * *20 -M P "P "DP , P I3 # - *< -M P #@ , \ # 0 -M P $0 , !( # 3 -M P % < 0 __$ . $ /_Q -M %0 ! #_\0 "$ 0 __$ I $ -M /_Q ,P ! #_\0 #H "G !!$ X !) IQ -M 01 . 5@ $_@ @$@ " &( !D !( D !H I -MR (1 . ?@ %B@ +8$@ " (, "G, !!$ X "1 -M IT 01 . J@ $X !,$@ +, "N !$ __$ -M "X IU (1 . R0 %, @$@ " -\ "G8 "!$ -M X #H IX 01 . [@ $T@ $@ " /4 "GD -M!!$ X $ I* 01 + !"0 *>@ $$0 #@ 2$ "GL -M "!$ X $M I] 01 . !-0 %" @$@ " 4@ -M "GX $!$ X %7 9) 1 /_Q !7@ *@@ "$0 #@ -M 7( "H* 1$ X &" J# 01 . !B@ *A ($0 -M#@ 9X !30 F!( &E I* 0A + !K0 %6 @ -M$@ " ;D "H8 !!$ X '. 5L " 2 ( !XP *AP -M $$0 #@ ?$ "F\ !$ __$ 'X 4< " 2 ( "!0 -M*B ($0 #@ AH "HH !!$ X (Q 4Z " 2 ( " -M/ *BP "$0 #@ DL !78 (!( @ )8 7< 2 -M "70 *C ($0 #@ G, "HX !!$ X )Z J/ (1 -M . "@@ *D $$0 #@ I$ "I$ 1$ X *? J2 -M 01 . "KP *DP $$0 #@ KT "I0 !!$ X +4 9 -M$ 01 * "X0 $]@ $@ " ND "I4 !!$ X +X -M J6 01 . #$ *EP ($0 #@ R, !8@ !( -M ,M J9 01 . #0@ *F@ $$0 #@ TD "DP !$ -M__$ -? J; 01 . #=@ *G $$0 #@ X< "DD -M!!$ L .9 J> !@1 . #HP *I 8$0 #@ ZT "JH -M A$ X .Z JK 01 . #R@ *K $$0 #@ ^ -M !8 (!( @ /N 5$ " 2 ( $ *4P $0#_\0 -M! D "JT "!$ X 07 JO 01 . $)P %8@ @$@ -M" !#H "K !!$ X 10 JQ @1 . $70 $K -M$@ !@ !&, "K, 1$ X 1J JT 01 . $<@ %$@ -M @$@ " !(< "K8 D!$ X 2. K: 01 . $F -M%)@ @$@ " !*P "MP "!$ X 2U K> @1 . $ -MO0 %3@ @$@ " !G9&)M90!C<G0Q+G, 8W)T:2YS '9A;'5E<RU8="YC -M &=D8FUE+F, <VA?9&%T82YC &-R=&XN<P!V7W5N<VEG;F5D7VEN= !V7W-I -M9VYE9%]I;G0 =E]C:&%R7V9U;F, 7V9I;FD =E]U;G-I9VYE9%]C:&%R7V%R -M<F%Y &UA:6X =E]S:6=N961?;&]N9P!V7W5N<VEG;F5D7W-H;W)T7W!O:6YT -M97( 7V-L96%N=7 7V5N9 !V7W5N<VEG;F5D7W-H;W)T '9?=6YS:6=N961? -M<VAO<G1?9G5N8P!V7V1O=6)L90!V7VEN= !?<W1A<G0 ;F]N<')I;6%R>0!? -M96YV:7)O;@!V7W5N<VEG;F5D7VQO;F=?<&]I;G1E<@!V7VEN=%]A<G)A>0!P -M<FEM87)Y '9?<VEG;F5D7V-H87)?9G5N8P!V7V1O=6)L95]A<G)A>0!?971E -M>'0 =E]S:6=N961?8VAA<E]A<G)A>0!V7W5N<VEG;F5D7V-H87( =E]F;&]A -M= !V7W-I9VYE9%]L;VYG7V%R<F%Y &%T97AI= !E;G9I<F]N '9?;&]N9U]F -M=6YC '9?<VEG;F5D7W-H;W)T7V%R<F%Y '9?=6YS:6=N961?;&]N9U]F=6YC -M '9?:6YT7W!O:6YT97( 7V5D871A '9?<VAO<G1?9G5N8P!V7W5N<VEG;F5D -M7VEN=%]A<G)A>0!V7W5N<VEG;F5D7VEN=%]P;VEN=&5R '9?:6YT7V9U;F, -M=E]S:6=N961?<VAO<G0 =E]F;&]A=%]F=6YC &5X:70 =E]U;G-I9VYE9%]L -M;VYG7V%R<F%Y '9?;&]N9P!V7W-H;W)T '9?;&]N9U]P;VEN=&5R '9?<VEG -M;F5D7V-H87( =E]U;G-I9VYE9%]L;VYG '9?<VAO<G1?87)R87D =E]U;G-I -M9VYE9%]S:&]R=%]A<G)A>0!?;&EB7W9E<G-I;VX 7VUC;W5N= !V7V-H87)? -M<&]I;G1E<@!V7W5N<VEG;F5D7V-H87)?<&]I;G1E<@!V7W-I9VYE9%]I;G1? -M87)R87D 7U]F<'-T87)T '9?<VEG;F5D7VEN=%]P;VEN=&5R '-?;&EN:P!? -M1TQ/0D%,7T]&1E-%5%]404),15\ =E]S:6=N961?<VAO<G1?<&]I;G1E<@!V -M7V1O=6)L95]P;VEN=&5R %]?;&]N9V1O=6)L95]U<V5D '9?<W1R=6-T,0!V -M7W-T<G5C=#( =E]C:&%R7V%R<F%Y '9?9FQO871?<&]I;G1E<@!V7W-I9VYE -M9%]L;VYG7W!O:6YT97( =E]D;W5B;&5?9G5N8P!V7W-I9VYE9%]I;G1?9G5N -M8P!?1%E.04U)0P!V7V9L;V%T7V%R<F%Y '9?<VAO<G1?<&]I;G1E<@!V7W-I -M9VYE9%]L;VYG7V9U;F, =E]S:6=N961?8VAA<E]P;VEN=&5R '9?;&]N9U]A -M<G)A>0!?:6YI= !V7V-H87( 8VQU;FME<@!V7W5N<VEG;F5D7V-H87)?9G5N -M8P!U7VQI;FL <W!O<G1S8V%R '9?<VEG;F5D7W-H;W)T7V9U;F, =E]U;FEO -M;C( =E]U;FEO;@!V7W5N<VEG;F5D7VEN=%]F=6YC N:6YT97)P "YH87-H -M "YD>6YS>6T +F1Y;G-T<@ N<F5L82YP;'0 +FEN:70 +G!L= N=&5X= N -M9FEN:0 N<F]D871A "YD871A "YG;W0 +F1Y;F%M:6, +F)S<P N<WEM=&%B -M "YS=')T86( +G-H<W1R=&%B "YC;VUM96YT "YD96)U9P N;&EN90 D2&5A -M9&5R.B O<"]20U,O=71I;#(M,BXQ+W5S<B]S<F,O;&EB+VQI8F,O:3@V,"]C -M<W4O8W)T,2YS+'8@,BXQ(#DR+S U+S$T(# W.C$V.C(P(&1A=FED;V9F($5X -M<" D $ H(RE&5%@@,BXQ+C N,2!S8V1E.B]U<W(O8V-S+VQI8B]C<G0Q+F\ -M)$AE861E<CH@+W O4D-3+W5T:6PR+3(N,2]U<W(O<W)C+VQI8B]L:6)C+VDX -M-C O8W-U+V-R=&DN<RQV(#(N,2 Y,B\P-2\Q-" P-SHQ-CHR,2!D879I9&]F -M9B!%>' @) ! *",I1E18(#(N,2XP+C$@<V-D93HO=7-R+V-C<R]L:6(O8W)T -M:2YO "1(96%D97(Z("]P+U)#4R]U=&EL,BTR+C$O=7-R+W-R8R]L:6(O;&EB -M8R]P;W)T+V=E;B]V86QU97,M6'0N8RQV(#(N,2 Y,B\P-2\Q-" P-SHR-SHP -M,B!D879I9&]F9B!%>' @) D2&5A9&5R.B O<"]20U,O=71I;#(M,BXQ+W5S -M<B]S<F,O;&EB+VQI8F,O:6YC+W-Y;F]N>6US+F@L=B R+C$@.3(O,#4O,30@ -M,#<Z,C(Z,3D@9&%V:61O9F8@17AP("0 )$AE861E<CH@+W O4D-3+W5T:6PR -M+3(N,2]U<W(O<W)C+VAE860O;6%T:"YH+'8@,BXQ(#DR+S U+S$T(# W.C$R -M.C4W(&1A=FED;V9F($5X<" D &%C;VUP.B H4T-$12D@-2XP(#$R+S X+S@Y -M &%S.B H4T-$12D@-2XP(#$R+S X+S@Y $ H(RE&5%@@,BXQ+C N,2!S8V1E -M.B]U<W(O8V-S+VQI8B]V86QU97,M6'0N;P!A8V]M<#H@*%-#1$4I(#4N," Q -M,B\P."\X.0!A<SH@*%-#1$4I(#4N," Q,B\P."\X.0 D2&5A9&5R.B O<"]2 -M0U,O=71I;#(M,BXQ+W5S<B]S<F,O;&EB+VQI8F,O:3@V,"]G96XO<VA?9&%T -M82YC+'8@,BXQ(#DR+S U+S$T(# W.C$W.C4T(&1A=FED;V9F($5X<" D &%C -M;VUP.B H4T-$12D@-2XP(#$R+S X+S@Y &%S.B H4T-$12D@-2XP(#$R+S X -M+S@Y $ H(RE&5%@@,BXQ+C N,2!S8V1E.B]U<W(O8V-S+VQI8B]L:6)C+G-O -M "1(96%D97(Z("]P+U)#4R]U=&EL,BTR+C$O=7-R+W-R8R]L:6(O;&EB8R]I -M.#8P+V-S=2]C<G1N+G,L=B R+C$@.3(O,#4O,30@,#<Z,38Z,C(@9&%V:61O -M9F8@17AP("0 0"@C*4946" R+C$N,"XQ('-C9&4Z+W5S<B]C8W,O;&EB+V-R -M=&XN;P @;&0@.B H4T-$12D@-2XP(#$R+S X+S@Y "X $0 2 6< X -M9V1B;64N8P !-@ $!$0 $_ !(0 &0 !!@ = !, $@ 4X -M.'1?<W1R=6-T "V & "H #0 2 =0 X=E]C:&%R7VUE;6)E<@ -M50 ! ", !@0 !P "L #0 2 H X=E]S:&]R=%]M96UB97( %4 -M! C 8$ @< I T $@ ,D .'9?:6YT7VUE;6)E<@ 50 ' ", -M!@0 $!P "H #0 2 \P X=E]L;VYG7VUE;6)E<@ 50 * ", !@0 -M (!P "L #0 2 !'@ X=E]F;&]A=%]M96UB97( %4 #@ C 8$ -M# < L T $@ 4H .'9?9&]U8FQE7VUE;6)E<@ 50 / ", !@0 0 -M!P 0 ; !, $@ FP ."XP9F%K90 M@ !@ J T $@ 9, -M.'9?8VAA<E]M96UB97( %4 0 C 8$ < K T $@ ;X .'9? -M<VAO<G1?;65M8F5R !5 0 (P &! (' *0 - !( 'G #AV7VEN -M=%]M96UB97( %4 !P C 8$ ! < J T $@ A$ .'9?;&]N9U]M -M96UB97( %4 "@ C 8$ " < K T $@ CP .'9?9FQO871?;65M -M8F5R !5 X (P &! P' + - !( )H #AV7V1O=6)L95]M96UB -M97( %4 #P C 8$ $ < $ ' 7 !( .+ #AT7W5N:6]N "V -M " "H #0 2 "L@ X=E]C:&%R7VUE;6)E<@ 50 ! ", !@0 -M!P "L #0 2 "W0 X=E]S:&]R=%]M96UB97( %4 ! C 8$ < -M I T $@ P8 .'9?:6YT7VUE;6)E<@ 50 ' ", !@0 !P "H -M#0 2 #, X=E]L;VYG7VUE;6)E<@ 50 * ", !@0 !P "L #0 2 -M #6P X=E]F;&]A=%]M96UB97( %4 #@ C 8$ < L T $@ -M X< .'9?9&]U8FQE7VUE;6)E<@ 50 / ", !@0 !P 0 ; !< -M$@ !*D ."XQ9F%K90 M@ @ J T $@ ] .'9?8VAA<E]M96UB -M97( %4 0 C 8$ < K T $@ _L .'9?<VAO<G1?;65M8F5R -M !5 0 (P &! ' *0 - !( 0D #AV7VEN=%]M96UB97( %4 -M!P C 8$ < J T $@ !$X .'9?;&]N9U]M96UB97( %4 "@ C -M 8$ < K T $@ !'D .'9?9FQO871?;65M8F5R !5 X (P & -M! ' + - !( 2E #AV7V1O=6)L95]M96UB97( %4 #P C 8$ -M < $ *@ & !( 37 #AV7V-H87)?9G5N8P 50 ! 1$ !/X -M 2$ !08 ! #$ !@ 2 %# X=E]S:6=N961?8VAA<E]F=6YC !5 -M (!$0 %" !(0 %$ $ ,P & !( 5# #AV7W5N<VEG;F5D7V-H -M87)?9G5N8P 50 # 1$ !1( 2$ !1H ! "L !@ 2 %<@ X=E]S -M:&]R=%]F=6YC !5 0!$0 %' !(0 %) $ ,@ & !( 6H #AV -M7W-I9VYE9%]S:&]R=%]F=6YC !5 4!$0 %)@!(0 %+@ $ - & -M !( 7@ #AV7W5N<VEG;F5D7W-H;W)T7V9U;F, %4 !@$1 4P $A 4 -MX 0 I 8 $@ !@T .'9?:6YT7V9U;F, %4 !P$1 4Z $A 5 -M" 0 P 8 $@ !D$ .'9?<VEG;F5D7VEN=%]F=6YC !5 @!$0 -M%1 !(0 %3 $ ,@ & !( 9W #AV7W5N<VEG;F5D7VEN=%]F=6YC -M !5 D!$0 %3@!(0 %5@ $ *@ & !( :E #AV7VQO;F=?9G5N -M8P 50 * 1$ !5@ 2$ !6 ! #$ !@ 2 &V@ X=E]S:6=N961? -M;&]N9U]F=6YC !5 L!$0 %8@!(0 %:@ $ ,P & !( <1 #AV -M7W5N<VEG;F5D7VQO;F=?9G5N8P 50 , 1$ !6P 2$ !70 ! "L -M!@ 2 '0 X=E]F;&]A=%]F=6YC !5 X!$0 %=@!(0 %?@ $ -M+ & !( =P #AV7V1O=6)L95]F=6YC !5 \!$0 %@ !(0 %B $ -M %0 5 !( >N (, !0$ ?J %0 % !( >: (, !0$ ?J -M$ % !( >J %4 !P 0 \ $ $@ !^H E0 *, * " -M ( $ @ @@ <@ "X 9 !, $@ "'L -M.&QI;FL +8 "8 )@ - !( @I #AN97AT "# 4! 'Z@ C 8$ -M < J T $@ "%, .&QI;FMF=6YC "# 4! '< C 8$ -M! < D T $@ "'< .'-T=69F !R 'K@ C 8$ " < $ -M%0 5 !( BY (, !0$ ?J %0 % !( BE (, !0$ ?J $ % -M !( BU %4 !P 0 \ $ $@ "/4 E0 *, * " -M ( $ @ @@ <@ "X < !< $@ "8D .'1U -M7VQI;FL +8 "0 )@ - !( DW #AN97AT "# 4! 'Z@ C 8$ -M < J T $@ "6$ .&QI;FMF=6YC "# 4! (>P C 8$ -M < D T $@ "84 .'-T=69F !R (N0 C 8$ < $ -M.@ $ !( G' #@N,F9A:V4 +8 $ /, &P )B;'5E %G<F5E -M;@ <F5D 0 ^ 0 $@ "@D .&-O;&]R<P M@ 0 \P ? -M G!I;FL 7!U<G!L90 >65L;&]W 0 R 0 $@ -M"C\ ."XS9F%K90 M@ 0 \P 3 69O<F0 &-H979Y 0 -M Q 0 $@ "G0 .&-A<G, +8 $ /, % %P;W)S8VAE !B -M;7< ! #( ! 2 *J@ X+C1F86ME "V ! #S !, !5%)5 -M10 1D%,4T4 ! !P %@ 2 *Q@ X8F]O;&5A;@ <@ "G0 -M Q 0 $@ "OL .&)V86QS "V ! #S !, !=')U90 9F%L -M<V4 ! !T %@ 2 +& X8F]O;&5A;C( '( K& 1@ $ !( -M MB #AM:7-O<F1E<F5D "V ! #S ", #=&AR964 'IE<F\ -M 6]N90 "='=O 0 C 8 $@ "XD .&UA:6X %4 !P$1 -M 6* $A 9 0 G < $@ "[ .'-P;W)T<V-A<@ <@ "C\ -M(P % P *V@ E < $@ "]4 .&-L=6YK97( '( H) ", !0, "K0 -M * ' !( O] #AN;VYP<FEM87)Y !R )QP C 4# IY "4 -M!P 2 ,(@ X<')I;6%R>0 <@ "8D (P % P *?0 D < $@ #$8 -M.'5?;&EN:P <@ "/4 (P % P *M@ G < $@ #&T .'-?;&EN:P -M@P % 0 !^H (P % P *F@ F < $@ #), .'9?=6YI;VXR !R # -MBP C 4# K< "4 !P 2 ,N X=E]U;FEO;@ <@ FP (P % P -M*W@ G < $@ #-\ .'9?<W1R=6-T,@ <@ 4X (P % P *I G -M < $@ #08 .'9?<W1R=6-T,0 <@ "X (P % P *G@ O < $@ -M#34 .'9?9&]U8FQE7W!O:6YT97( &, P$ #P C 4# J< "X !P 2 -M -8P X=E]F;&]A=%]P;VEN=&5R !C ,! X (P % P *JP V < -M$@ #9D .'9?=6YS:6=N961?;&]N9U]P;VEN=&5R !C ,! P (P % P -M*>@ T < $@ #<T .'9?<VEG;F5D7VQO;F=?<&]I;G1E<@ 8P # 0 + -M ", !0, "JP +0 ' !( WZ #AV7VQO;F=?<&]I;G1E<@ 8P # 0 * -M ", !0, "I -0 ' !( XO #AV7W5N<VEG;F5D7VEN=%]P;VEN=&5R -M !C ,! D (P % P *B@ S < $@ #F( .'9?<VEG;F5D7VEN=%]P -M;VEN=&5R !C ,! @ (P % P *F0 L < $@ #HX .'9?:6YT7W!O -M:6YT97( &, P$ !P C 4# J' #< !P 2 .Q0 X=E]U;G-I9VYE -M9%]S:&]R=%]P;VEN=&5R !C ,! 8 (P % P *= U < $@ #OH -M.'9?<VEG;F5D7W-H;W)T7W!O:6YT97( &, P$ !0 C 4# J; "X -M!P 2 /* X=E]S:&]R=%]P;VEN=&5R !C ,! 0 (P % P *KP V -M < $@ #UX .'9?=6YS:6=N961?8VAA<E]P;VEN=&5R !C ,! , (P % -M P *E@ T < $@ #Y( .'9?<VEG;F5D7V-H87)?<&]I;G1E<@ 8P # -M 0 " ", !0, "K +0 ' !( ^_ #AV7V-H87)?<&]I;G1E<@ 8P # -M 0 ! ", !0, "I4 ) ! !( _C )4 "C ! @ 0@ -M50 / + ' !( ! / #AV7V1O=6)L95]A<G)A>0 <@ #[\ (P % P -M*?@ D $ $@ $#, E0 *, $ " !" !5 X K < -M$@ $%X .'9?9FQO871?87)R87D '( ! / ", !0, "JT ) ! !( -M !"" )4 "C ! @ 0@ 50 , ,P ' !( !"U #AV7W5N -M<VEG;F5D7VQO;F=?87)R87D '( !!> ", !0, "HP ) ! !( !#9 -M )4 "C ! @ 0@ 50 + ,0 ' !( !$* #AV7W-I9VYE -M9%]L;VYG7V%R<F%Y !R 0M0 C 4# J$ "0 0 2 1+@"5 -MHP 0 ( $( %4 "@ "H !P 2 16 X=E]L;VYG7V%R<F%Y -M !R 1"@ C 4# JQ "0 0 2 1? "5 HP 0 ( -M $( %4 "0 #( !P 2 1K@ X=E]U;G-I9VYE9%]I;G1?87)R87D '( -M !%8 ", !0, "H@ ) ! !( !'2 )4 "C ! @ 0@ -M50 ( , ' !( !(" #AV7W-I9VYE9%]I;G1?87)R87D '( !&N ", -M!0, "I< ) ! !( !(F )4 "C ! @ 0@ 50 ' -M*0 ' !( !)/ #AV7VEN=%]A<G)A>0 <@ $@( (P % P *>P D $ -M$@ $G, E0 *, $ " !" !5 8 T < $@ $J< .'9? -M=6YS:6=N961?<VAO<G1?87)R87D '( !)/ ", !0, "I0 ) ! !( -M !++ )4 "C ! @ 0@ 50 % ,@ ' !( !+] #AV7W-I -M9VYE9%]S:&]R=%]A<G)A>0 <@ $J< (P % P *A@ D $ $@ $R$ -ME0 *, $ " !" !5 0 K < $@ $TP .'9?<VAO<G1? -M87)R87D '( !+] ", !0, "I, ) ! !( !-P )4 "C ! @ -M 0@ 50 # ,P ' !( !.C #AV7W5N<VEG;F5D7V-H87)?87)R -M87D '( !-, ", !0, "G( ) ! !( !/' )4 "C ! @ -M 0@ 50 " ,0 ' !( !/X #AV7W-I9VYE9%]C:&%R7V%R<F%Y !R -M 3HP C 4# J" "0 0 2 4' "5 HP 0 ( $( -M %4 0 "H !P 2 41@ X=E]C:&%R7V%R<F%Y !R 3^ C 4# J -MJ "0 !P 2 4:@ X=E]D;W5B;&4 %4 #P C 4# IV ", !P 2 -M 4C0 X=E]F;&]A= 50 . ", !0, "H, *P ' !( !2X #AV7W5N -M<VEG;F5D7VQO;F< %4 # C 4# J2 "D !P 2 4X0 X=E]S:6=N -M961?;&]N9P 50 + ", !0, "G, (@ ' !( !4# #AV7VQO;F< %4 -M"@ C 4# J. "H !P 2 5+0 X=E]U;G-I9VYE9%]I;G0 %4 "0 C -M 4# IP "@ !P 2 550 X=E]S:6=N961?:6YT !5 @ (P % P -M*<0 A < $@ %78 .'9?:6YT !5 < (P % P *> L < $@ -M%:( .'9?=6YS:6=N961?<VAO<G0 %4 !@ C 4# IU "H !P 2 5 -MS X=E]S:6=N961?<VAO<G0 %4 !0 C 4# J+ ", !P 2 5[P X -M=E]S:&]R= 50 $ ", !0, "H\ *P ' !( !8: #AV7W5N<VEG;F5D -M7V-H87( %4 P C 4# J"@ "D !P 2 60P X=E]S:6=N961?8VAA -M<@ 50 " ", !0, "I$ (@ ' !( !9E #AV7V-H87( %4 0 C 4# -M JS 0 ' "D@ $_ !Y__\ ( >O__ , -M 'O__P %@ !]__\ " ?O__ J '___P - "!__\ -M #X @O__ !( (/__P 4@ "%__\ %P AO__ !F -M (?__P < ")__\ 'H BO__ "$ ++__P C@ "U__\ -M )$ MO__ "3 +?__P E@ "Y__\ )D NO__ "< -M +O__P GP "]__\ *( OO__ "E +___P J #!__\ -M *L PO__ "N ,/__P L0 #%__\ +0 QO__ "X -M ,G__P O #*__\ , R___ #$ ,W__P R #.__\ -M ,P S___ #0 -'__P U #2__\ -@ T___ #< -M -7__P X #6__\ .0 U___ #H -G__P [ #:__\ -M / W/__ #T -W__P ^ #>__\ /P X/__ $ -M .'__P !! #B__\ 0@ Y/__ $, .7__P !$ #F__\ -M 10 Z/__ $8 .G__P !' #J__\ 2 [/__ $D -M .W__P !* #O__\ 2P \/__ $O /'__P !,@ #R__\ -M 34 ]/__ $X /;__P !/ #W__\ 3P /__ %$ -M $ -M ! @ $-0 #4 $P 0 ) !0 -M ( !#H Z $@ # 0 $ #P L " 1 -M, 3 #0 ! ( $ $ !< # @ $@ ( -M >P 0 ? ! ( !)\ "? # -M # !P 0 , *0 P & 2L K 0 -M 0 " "\ , !@ $L + @ -M$ @ T # 8 !- #0 !< ! ( -M .@ P & 9 "0 0 0 " $ -M ! @ &1 D0 % " !( 0 -M , "DD )) @ 0 3@ $ # I -M, "3 < 0 ! %, & P *4P E, -M < 0 ! @ !< " , "G )P < -M @ 80 ( "< < $ -M !P $ $ &D # !# $T0 -M 0 !Q P 5D0 )$ $ -M >P $ %B( 0N ! (0 -M ! !I0 6< ! "+ 0 -> PP I( $ - -end diff --git a/gdb/testsuite/gdb.base/interrupt.c b/gdb/testsuite/gdb.base/interrupt.c deleted file mode 100644 index bafbaa521d2..00000000000 --- a/gdb/testsuite/gdb.base/interrupt.c +++ /dev/null @@ -1,31 +0,0 @@ -#include <errno.h> -#include <stdio.h> -int -main () -{ - char x; - int nbytes; - printf ("talk to me baby\n"); - while (1) - { - nbytes = read (0, &x, 1); - if (nbytes < 0) - { - if (errno != EINTR) - perror (""); - } - else if (nbytes == 0) - { - printf ("end of file\n"); - exit (0); - } - else - write (1, &x, 1); - } -} - -int -func1 () -{ - return 4; -} diff --git a/gdb/testsuite/gdb.base/interrupt.exp b/gdb/testsuite/gdb.base/interrupt.exp deleted file mode 100644 index 29858700290..00000000000 --- a/gdb/testsuite/gdb.base/interrupt.exp +++ /dev/null @@ -1,167 +0,0 @@ -# Copyright (C) 1994, 1995 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ - -# Please email any bugs, comments, and/or additions to this file to: -# bug-gdb@prep.ai.mit.edu - -if [host_info exists name] { - if [board_info host exists gdb,nointerrupts] { - verbose "Skipping interrupt.exp because of nointerrupts." - continue - } -} - -if $tracelevel then { - strace $tracelevel -} - -set prms_id 0 -set bug_id 0 - -set testfile interrupt -set srcfile ${testfile}.c -set binfile ${objdir}/${subdir}/${testfile} -if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug}] != "" } { - perror "Couldn't compile ${srcfile}" - return -1 -} - -if [target_info exists gdb,noinferiorio] { - verbose "Skipping interrupt.exp because of noinferiorio." - return -} - -gdb_start - - -if ![file exists $binfile] then { - perror "$binfile does not exist." - return 0 -} else { - gdb_reinitialize_dir $srcdir/$subdir - gdb_load $binfile - # Hope this is unix :-) - gdb_test "shell stty intr '^C'" "" \ - "set interrupt character in interrupt.exp" - if [runto_main] then { - send_gdb "continue\n" - expect { - -re "\r\ntalk to me baby\r\n$" { - pass "child process is alive" - } - timeout { fail "run (timeout)" } - eof { fail "run (eof)" } - } - # This should appear twice, once for the echo and once for the - # program's output. Under dejagnu (but not interactively) for - # SunOS4, it only appears once. Don't worry about it, I imagine - # dejagnu has just done something to the tty modes. - send_gdb "a\n" - expect { - -re "^a\r\n(|a\r\n)$" { - pass "child process ate our char" - } - timeout { fail "echo a (timeout)" } - eof { fail "echo a (eof)" } - } - # Wait until the program is in the read system call again. - sleep 2 - - send_gdb "\003" - expect { - -re "Program received signal SIGINT.*$gdb_prompt $" { - pass "send_gdb control C" - } - -re ".*$gdb_prompt $" { fail "send_gdb control C" } - timeout { fail "send_gdb control C (timeout)" } - eof { fail "send_gdb control C (eof)" } - } - - send_gdb "p func1 ()\n" - expect { - -re " = 4.*$gdb_prompt $" { pass "call function when asleep" } - -re ".*Program received signal SIGSEGV.*$gdb_prompt $" { - setup_xfail "i*86-pc-linux*-gnu" - fail "child died when we called func1, skipped rest of tests" - return - } - -re "$gdb_prompt $" { fail "call function when asleep (wrong output)" } - default { - - # This fail probably happens whenever we use /proc (we - # don't use PRSABORT), but apparently also happens on - # other machines as well. - - setup_xfail "sparc*-*-solaris2*" - setup_xfail "mips-*-ultrix*" - setup_xfail "hppa*-*-*" - setup_xfail "i386*-*-bsd*" - setup_xfail "*-*-sysv4*" - setup_xfail "vax-*-*" - setup_xfail "alpha-*-*" - setup_xfail "*-*-irix*" - setup_xfail "*-*-hpux*" - setup_xfail "*-*-*lynx*" - fail "call function when asleep (stays asleep)" - # Send_Gdb a newline to wake it up - send_gdb "\n" - gdb_test "" " = 4" "call function after waking it" - } -# eof { fail "call function when asleep (eof)" } - } - - # Now try calling the function again. - gdb_test "p func1 ()" " = 4" "call function a second time" - - # And the program should still be doing the same thing. - # The optional trailing \r\n is in case we sent a newline above - # to wake the program, in which case the program now sends it - # back. We check for it either here or in the next expect - # command, because which one it ends up in is timing dependent. - send_gdb "continue\n" - # For some reason, i386-*-sysv4 gdb fails to issue the Continuing - # message, but otherwise appears normal (FIXME). - expect { - -re "^continue\r\nContinuing.\r\n(\r\n|)$" { pass "continue" } - -re "^continue\r\n\r\n" { fail "continue (missing Continuing.)" } - -re "$gdb_prompt $" { fail "continue" } - timeout { fail "continue (timeout)" } - eof { fail "continue (eof)" } - } - - send_gdb "data\n" - # The optional leading \r\n is in case we sent a newline above - # to wake the program, in which case the program now sends it - # back. - expect { - -re "^(\r\n|)data\r\n(|data\r\n)$" { pass "echo data" } - timeout { fail "echo data (timeout)" } - eof { fail "echo data (eof)" } - } - - setup_xfail "i*86-pc-linux*-gnu" - send_gdb "\004" - expect { - -re "end of file.*Program exited normally.*$gdb_prompt $" { - pass "send_gdb end of file" - } - -re "$gdb_prompt $" { fail "send end of file" } - timeout { fail "send end of file (timeout)" } - eof { fail "send end of file (eof)" } - } - } -} -return 0 diff --git a/gdb/testsuite/gdb.base/langs.exp b/gdb/testsuite/gdb.base/langs.exp deleted file mode 100644 index c9340f4384d..00000000000 --- a/gdb/testsuite/gdb.base/langs.exp +++ /dev/null @@ -1,88 +0,0 @@ -if $tracelevel then { - strace $tracelevel -} - -set prms_id 0 -set bug_id 0 - -set testfile langs -set binfile ${objdir}/${subdir}/${testfile} - -if [is_remote host] { - remote_download host ${srcdir}/${subdir}/langs1.f - remote_download host ${srcdir}/${subdir}/langs2.cxx -} - -if { [gdb_compile "${srcdir}/${subdir}/langs0.c ${srcdir}/${subdir}/langs1.c ${srcdir}/${subdir}/langs2.c" "${binfile}" executable {debug}] != "" } { - perror "Couldn't link langs." - return -1 -} - -# Create and source the file that provides information about the compiler -# used to compile the test case. -if [get_compiler_info ${binfile}] { - return -1; -} - -gdb_exit -gdb_start -gdb_reinitialize_dir $srcdir/$subdir -gdb_load $binfile - -gdb_test "b langs0" {Function "langs0" not defined\.} \ - "break on nonexistent function in langs.exp" - -if [runto csub] then { - global noresults - - gdb_test "show language" "currently c\".*" \ - "show language at csub in langs.exp" - # On some machines, foo doesn't get demangled because the N_SOL for - # langs2.cxx is seen only after the function stab for foo. So - # the following regexps are kludged to accept foo__Fi as well as foo, - # even though only the latter is correct. I haven't tried to xfail it - # because it depends on details of the compiler. - - if {!$gcc_compiled} then { setup_xfail "hppa*-*-hpux*" } - gdb_test "bt" "#0.*csub.*#1.*(foo|foo__Fi) \\(.*#2.*cppsub_ .*#3.*fsub.*#4.*langs0__2do \\(.*#5 \[0-9a-fx\]* in main.*" "backtrace in langs.exp" - - if {!$gcc_compiled} then { setup_xfail "rs6000-*-*" } - gdb_test "up" ".* in (foo|foo__Fi) .* at langs2\\.cxx.*return csub \\(.*" \ - "up to foo in langs.exp" - gdb_test "show language" "currently c\\+\\+.*" \ - "show language at foo in langs.exp" - - if {!$gcc_compiled} then { setup_xfail "rs6000-*-*" } - gdb_test "up" ".* in cppsub_ .* at langs2\\.cxx.*return foo \\(.*" \ - "up to cppsub_ in langs.exp" - gdb_test "show language" "currently c\\+\\+.*" \ - "show language at cppsub_ in langs.exp" - - if {!$gcc_compiled} then { setup_xfail "rs6000-*-*" } - gdb_test "up" ".* in fsub.* at langs1\\.f.*return \\(cppsub .*" \ - "up to fsub in langs.exp" - gdb_test "show language" "currently fortran.*" \ - "show language at fsub in langs.exp" - - if {!$gcc_compiled} then { setup_xfail "hppa*-*-hpux*" } - gdb_test "up" ".* in langs0__2do .* at .*langs0\\.c.*return fsub.*" \ - "up to langs0__2do in langs.exp" - gdb_test "show language" "currently c\".*" \ - "show language at langs0__2do in langs.exp" - - gdb_test "up" ".* in main .* at .*langs0\\.c.*if \\(langs0__2do \\(.*" \ - "up to main in langs.exp" - gdb_test "show language" "currently c\".*" \ - "show language at main in langs.exp" - - if $noresults==1 then { return } - - if [target_info exists use_gdb_stub] { - gdb_test "cont" "Breakpoint .*exit.*" "continue to exit in langs.exp" - } else { - gdb_test "cont" "Program exited normally\\." \ - "continue to exit in langs.exp" - } -} - -return 0 diff --git a/gdb/testsuite/gdb.base/langs0.c b/gdb/testsuite/gdb.base/langs0.c deleted file mode 100644 index 2790e2dc673..00000000000 --- a/gdb/testsuite/gdb.base/langs0.c +++ /dev/null @@ -1,24 +0,0 @@ -/* This file is actually in C, it is not supposed to simulate something - translated from another language or anything like that. */ -int -csub (x) - int x; -{ - return x + 1; -} - -int -langs0__2do () -{ - return fsub_ () + 2; -} - -int -main () -{ - if (langs0__2do () == 5003) - /* Success. */ - return 0; - else - return 1; -} diff --git a/gdb/testsuite/gdb.base/langs1.c b/gdb/testsuite/gdb.base/langs1.c deleted file mode 100644 index 784225902c4..00000000000 --- a/gdb/testsuite/gdb.base/langs1.c +++ /dev/null @@ -1,33 +0,0 @@ -/* langs1.f -- translated by f2c (version of 5 May 1990 1:12:08). */ - -/* f2c output hacked as follows for GDB testsuite: - 1. Change commented out "#" lines to #line directives. - I don't know why this behavior isn't the default for f2c -g. - 2. Remove include of f2c.h and put in just a typedef for "integer". - Additional notes: - 3. f2c was called as "f2c -g langs1.f". - 4. We don't need to use the fortran libraries. */ - -typedef int integer; - -/* Table of constant values */ - -static integer c__10000 = 10000; - -/* I am not sure whether there is a way to have a fortran program without */ -/* a MAIN, but it does not really harm us to have one. */ -/* Main program */ MAIN__() -{ -} /* MAIN__ */ - -#line 4 "langs1.f" -/* Subroutine */ int fsub_() -{ - extern integer cppsub_(); - -#line 5 "langs1.f" -#line 6 "langs1.f" - return cppsub_(&c__10000); -#line 7 "langs1.f" -} /* fsub_ */ - diff --git a/gdb/testsuite/gdb.base/langs1.f b/gdb/testsuite/gdb.base/langs1.f deleted file mode 100644 index 35ce6911472..00000000000 --- a/gdb/testsuite/gdb.base/langs1.f +++ /dev/null @@ -1,7 +0,0 @@ -c I am not sure whether there is a way to have a fortran program without -c a MAIN, but it does not really harm us to have one. - end - subroutine fsub - integer*4 cppsub - return (cppsub (10000)) - end diff --git a/gdb/testsuite/gdb.base/langs2.c b/gdb/testsuite/gdb.base/langs2.c deleted file mode 100644 index 69f290d7323..00000000000 --- a/gdb/testsuite/gdb.base/langs2.c +++ /dev/null @@ -1,15 +0,0 @@ -/* This is intended to be a vague simulation of cfront output. */ -#line 1 "langs2.cxx" -extern int csub (); -int -foo__Fi (x) int x; -{ - return csub (x / 2); -} - -extern int cppsub_ (int *); -int -cppsub_ (y) int *y; -{ - return foo__Fi (*y); -} diff --git a/gdb/testsuite/gdb.base/langs2.cxx b/gdb/testsuite/gdb.base/langs2.cxx deleted file mode 100644 index d8ee56c5317..00000000000 --- a/gdb/testsuite/gdb.base/langs2.cxx +++ /dev/null @@ -1,13 +0,0 @@ -extern "C" int csub (int); -int -foo (int x) -{ - return csub (x / 2); -} - -extern "C" int cppsub_ (int); -int -cppsub_ (int *y) -{ - return foo (*y); -} diff --git a/gdb/testsuite/gdb.base/list.exp b/gdb/testsuite/gdb.base/list.exp deleted file mode 100644 index f38a1ddf0b3..00000000000 --- a/gdb/testsuite/gdb.base/list.exp +++ /dev/null @@ -1,518 +0,0 @@ -# Copyright (C) 1992, 1994, 1995, 1997 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - -# Please email any bugs, comments, and/or additions to this file to: -# bug-gdb@prep.ai.mit.edu - -# This file was written by Fred Fish. (fnf@cygnus.com) - -if $tracelevel then { - strace $tracelevel -} - -set prms_id 0 -set bug_id 0 - -set testfile "list" -set binfile ${objdir}/${subdir}/${testfile} - -# Need to download the header to the host. -remote_download host ${srcdir}/${subdir}/list0.h list0.h - -if { [gdb_compile "${srcdir}/${subdir}/list0.c ${srcdir}/${subdir}/list1.c" ${binfile} executable {debug}] != "" } { - perror "Couldn't compile list0.c list1.c to executable ${binfile}" - return -1 -} - -# Create and source the file that provides information about the compiler -# used to compile the test case. -if [get_compiler_info ${binfile}] { - return -1; -} - -# -# Local utility proc just to set and verify listsize -# Return 1 if success, 0 if fail. -# - -proc set_listsize { arg } { - global gdb_prompt - - if [gdb_test "set listsize $arg" "" "setting listsize to $arg"] { - return 0; - } - if { $arg <= 0 } { - set arg "unlimited"; - } - - if [gdb_test "show listsize" "Number of source lines.* is ${arg}.*" "show listsize $arg"] { - return 0; - } - return 1 -} - -# -# Test display of listsize lines around a given line number. -# - -proc test_listsize {} { - global gdb_prompt - - # Show default size - - gdb_test "show listsize" "Number of source lines gdb will list by default is 10.*" "show default list size" - - # Show the default lines - # The second case is for optimized code, it is still correct. - - # This doesn't work for COFF targets. - setup_xfail "a29k-*-udi" - if ![isnative] { - if [target_info exists gdb,start_symbol] { - set startsym [target_info gdb,start_symbol]; - } else { - set startsym "start"; - } - gdb_test "set \$pc=$startsym" "" "" - } - gdb_test "list" "(1\[ \t\]+#include \"list0.h\".*10\[ \t\]+x = 0;|2.*11\[ \t\]+foo .x\[+)\]+;)" "list default lines around main" - - # Ensure we can limit printouts to one line - - if [ set_listsize 1 ] then { - setup_xfail "*-*-*" - gdb_test "list 1" "1\[ \t\]+#include \"list0.h\"" "list line 1 with listsize 1" - setup_xfail "*-*-*" - gdb_test "list 2" "2\[ \t\]+" "list line 2 with listsize 1" - } - - # Try just two lines - - if [ set_listsize 2 ] { - gdb_test "list 1" "1\[ \t\]+#include \"list0.h\"" "list line 1 with listsize 2" - gdb_test "list 2" "1\[ \t\]+#include \"list0.h\"\r\n2\[ \t\]+" "list line 2 with listsize 2" - gdb_test "list 3" "2\[ \t\]+\r\n3\[ \t\]+main \[)(\]+" "list line 3 with listsize 2" - } - - # Try small listsize > 1 that is an odd number - - if [ set_listsize 3 ] { - setup_xfail "*-*-*" - gdb_test "list 1" "1\[ \t\]+#include \"list0.h\"2\[ \t\]+" "list line 1 with listsize 3" - setup_xfail "*-*-*" - gdb_test "list 2" "1\[ \t\]+#include \"list0.h\".*3\[ \t\]+main \[)(\]+" "list line 2 with listsize 3" - - setup_xfail "*-*-*" - gdb_test "list 3" "2\[ \t\]+\r\n3\[ \t\]+main \[(\]+\[)\]+\r\n4\[ \t\]+\{" "list line 3 with listsize 3" - } - - # Try small listsize > 2 that is an even number. - - if [ set_listsize 4 ] then { - gdb_test "list 1" "1\[ \t\]+#include \"list0.h\"\r\n2\[ \t\]+" "list line 1 with listsize 4" - gdb_test "list 2" "1\[ \t\]+#include \"list0.h\".*3\[ \t\]+main \[)(\]+" "list line 2 with listsize 4" - - gdb_test "list 3" "1\[ \t\]+#include \"list0.h\".*4\[ \t\]+\{" "list line 3 with listsize 4" - gdb_test "list 4" "2\[ \t\]+\r\n.*5\[ \t\]+int x;.*" "list line 4 with listsize 4" - } - - # Try a size larger than the entire file. - - if [ set_listsize 100 ] then { - gdb_test "list 1" "1\[ \t\]+#include \"list0.h\".*\r\n42\[ \t\]+\}" "list line 1 with listsize 100" - - gdb_test "list 10" "1\[ \t\]+#include \"list0.h\".*\r\n42\[ \t\]+\}" "list line 10 with listsize 100" - } - - # Try listsize of 0 which suppresses printing. - - set_listsize 0 - gdb_test "list 1" "" "listsize of 0 suppresses output" - - # Try listsize of -1 which is special, and means unlimited. - - set_listsize -1 - setup_xfail "*-*-*" - gdb_test "list 1" "1\[ \t\]+#include .*\r\n39\[ \t\]+\}" "list line 1 with unlimited listsize" -} - -# -# Test "list filename:number" for C include file -# - -proc test_list_include_file {} { - global gdb_prompt - - setup_xfail "a29k-*-udi" - setup_xfail_format "DWARF 1" - setup_xfail_format "COFF" - gdb_test "list list0.h:1" "1\[ \t\]+/\[*\]+ An include file .*5\[ \t\]+foo \[(\]+x\[)\]+" "list line 1 in include file" - - setup_xfail "a29k-*-udi" - setup_xfail_format "DWARF 1" - setup_xfail_format "COFF" - gdb_test "list list0.h:100" "Line number 95 out of range; .*list0.h has 36 lines." "list message for lines past EOF" -} - -# -# Test "list filename:number" for C source file -# - -proc test_list_filename_and_number {} { - global gdb_prompt - - set testcnt 0 - - send_gdb "list list0.c:1\n" - gdb_expect { - -re "1\[ \t\]+#include \"list0.h\".*5\[ \t\]+int x;\r\n$gdb_prompt $" { - incr testcnt - } - -re ".*$gdb_prompt $" { fail "list list0.c:1" ; gdb_suppress_tests } - timeout { fail "list list0.c:1 (timeout)" ; gdb_suppress_tests } - } - send_gdb "list list0.c:10\n" - gdb_expect { - -re "5\[ \t\]+int x;.*14\[ \t\]+foo .x\[+)\]+;\r\n$gdb_prompt $" { - incr testcnt - } - -re ".*$gdb_prompt $" { fail "list list.c:10" ; gdb_suppress_tests } - timeout { fail "list list.c:10 (timeout)" ; gdb_suppress_tests } - } - send_gdb "list list1.c:1\n" - gdb_expect { - -re "1\[ \t\]+void.*5\[ \t\]+printf \[(\]+.*\[)\]+;\r\n$gdb_prompt $" { - incr testcnt - } - -re ".*$gdb_prompt $" { fail "list list1.c:1" ; gdb_suppress_tests } - timeout { fail "list list1.c:1 (timeout)" ; gdb_suppress_tests } - } - send_gdb "list list1.c:12\n" - gdb_expect { - -re "7\[ \t\]+long_line \[(\]+.*\[)\]+;.*14\[ \t\]+\}\r\n.*$gdb_prompt $" { - incr testcnt - } - -re ".*$gdb_prompt $" { fail "list list1.c:12" ; gdb_suppress_tests } - timeout { fail "list list1.c:12 (timeout)" ; gdb_suppress_tests } - } - pass "list filename:number ($testcnt tests)" - gdb_stop_suppressing_tests; -} - -# -# Test "list function" for C source file -# - -proc test_list_function {} { - global gdb_prompt - global gcc_compiled - - # gcc appears to generate incorrect debugging information for code - # in include files, which breaks this test. - # SunPRO cc is the second case below, it's also correct. - setup_xfail "a29k-*-udi" - gdb_test "list main" "(5\[ \t\]+int x;.*14\[ \t\]+foo \[(\]+.*\[)\]+;|1\[ \t\]+#include .*8\[ \t\]+breakpoint\[(\]\[)\]+;)" "list function in source file 1" - - # Ultrix gdb takes the second case below; it's also correct. - # SunPRO cc is the third case. - gdb_test "list bar" "(1\[ \t\]+void.*7\[ \t\]*long_line ..;.*9\[ \t\]*|1\[ \t\]+void.*8\[ \t\]+\}|1\[ \t\]+void.*7\[ \t\]*long_line ..;)" "list function in source file 2" - - # Test "list function" for C include file - # Ultrix gdb is the second case, still correct. - # SunPRO cc is the third case. - setup_xfail "powerpc-*-*" - setup_xfail_format "DWARF 1" - gdb_test "list foo" "(3\[ \t\]+.*12\[ \t\]+bar \[(\]+.*\[)\]+;|2\[ \t\]+including file.*11\[ \t\]+bar \[(\]+.*\[)\]+;|1\[ \t\]+/. An include file.*10\[ \t\]+bar \[(\]+.*\[)\]+;)" "list function in include file" -} - -proc test_list_forward {} { - global gdb_prompt - - set testcnt 0 - - send_gdb "list list0.c:10\n" - gdb_expect { - -re "5\[ \t\]+int x;.*14\[ \t\]+foo \[(\]+.*\[)\]+;\r\n$gdb_prompt $" { incr testcnt } - -re ".*$gdb_prompt $" { fail "list list0.c:10" ; gdb_suppress_tests } - timeout { fail "list list0.c:10 (timeout)" ; gdb_suppress_tests } - } - - send_gdb "list\n" - gdb_expect { - -re "15\[ \t\]+foo \[(\]+.*\[)\]+;.*24\[ \t\]+foo \[(\]+.*\[)\]+;\r\n$gdb_prompt $" { incr testcnt } - -re ".*$gdb_prompt $" { fail "list 15-24" ; gdb_suppress_tests } - timeout { fail "list 15-24 (timeout)" ; gdb_suppress_tests } - } - - send_gdb "list\n" - gdb_expect { - -re "25\[ \t\]+foo \[(\]+.*\[)\]+;.*34\[ \t\]+foo \[(\]+.*\[)\]+;\r\n$gdb_prompt $" { incr testcnt } - -re ".*$gdb_prompt $" { fail "list 25-34" ; gdb_suppress_tests } - timeout { fail "list 25-34 (timeout)" ; gdb_suppress_tests } - } - - send_gdb "list\n" - gdb_expect { - -re "35\[ \t\]+foo \[(\]+.*\[)\]+;.*42\[ \t\]+\}\r\n$gdb_prompt $" { incr testcnt } - -re ".*$gdb_prompt $" { fail "list 35-42" ; gdb_suppress_tests } - timeout { fail "list 35-42 (timeout)" ; gdb_suppress_tests } - } - - pass "successive list commands to page forward ($testcnt tests)" - gdb_stop_suppressing_tests; -} - -proc test_list_backwards {} { - global gdb_prompt - - set testcnt 0 - - send_gdb "list list0.c:33\n" - gdb_expect { - -re "28\[ \t\]+foo \[(\]+.*\[)\]+;.*37\[ \t\]+\r\n$gdb_prompt $" { incr testcnt } - -re ".*$gdb_prompt $" { fail "list list0.c:33" ; gdb_suppress_tests } - timeout { fail "list list0.c:33 (timeout)" ; gdb_suppress_tests } - } - - send_gdb "list -\n" - gdb_expect { - -re "18\[ \t\]+foo \[(\]+.*\[)\]+;.*27\[ \t\]+foo \[(\]+.*\[)\]+;\r\n$gdb_prompt $" { incr testcnt } - -re ".*$gdb_prompt $" { fail "list 18-27" ; gdb_suppress_tests } - timeout { fail "list 18-27 (timeout)" ; gdb_suppress_tests } - } - - send_gdb "list -\n" - gdb_expect { - -re "8\[ \t\]+breakpoint\[(\]\[)\];.*17\[ \t\]+foo \[(\]+.*\[)\]+;\r\n$gdb_prompt $" { incr testcnt } - -re ".*$gdb_prompt $" { fail "list 8-17" ; gdb_suppress_tests } - timeout { fail "list 8-17 (timeout)" ; gdb_suppress_tests } - } - - send_gdb "list -\n" - gdb_expect { - -re "1\[ \t\]+#include .*7\[ \t\]+set_debug_traps\[(\]\[)\]+;\r\n$gdb_prompt $" { incr testcnt } - -re ".*$gdb_prompt $" { fail "list 1-7" ; gdb_suppress_tests } - timeout { fail "list 1-7 (timeout)" ; gdb_suppress_tests } - } - - pass "$testcnt successive \"list -\" commands to page backwards" - gdb_stop_suppressing_tests; -} - -# -# Test "list first,last" -# - -proc test_list_range {} { - global gdb_prompt - - gdb_test "list list0.c:2,list0.c:5" "2\[ \t\]+\r\n3\[ \t\]+main \[)(\]+.*5\[ \t\]+int x;" "list range; filename:line1,filename:line2" - - gdb_test "list 2,5" "2\[ \t\]+\r\n3\[ \t\]+main \[)(\]+.*5\[ \t\]+int x;" "list range; line1,line2" - -# gdb_test "list -1,6" "Line number 0 out of range; .*list0.c has 39 lines." "list range; lower bound negative" - -# gdb_test "list -100,-40" "Line number -60 out of range; .*list0.c has 39 lines." "list range; both bounds negative" - - gdb_test "list 30,43" "30\[ \t\]+foo \[(\]+.*\[)\]+;.*42\[ \t\]+\}" "list range; upper bound past EOF" - - gdb_test "list 43,100" "Line number 43 out of range; .*list0.c has 42 lines." "list range; both bounds past EOF" - - gdb_test "list list0.c:2,list1.c:17" "Specified start and end are in different files." "list range, must be same files" -} - -# -# Test "list filename:function" -# - -proc test_list_filename_and_function {} { - global gdb_prompt - - set testcnt 0 - - # gcc appears to generate incorrect debugging information for code - # in include files, which breaks this test. - # SunPRO cc is the second case below, it's also correct. - setup_xfail "a29k-*-udi" - send_gdb "list list0.c:main\n" - gdb_expect { - -re "1\[ \t\]+#include .*8\[ \t\]+breakpoint\[(\]\[)\]+;\r\n$gdb_prompt $" { - incr testcnt - } - -re "5\[ \t\]+int x;.*14\[ \t\]+foo \[(\]+.*\[)\]+;\r\n$gdb_prompt $" { - pass "list function in source file 1" - } - -re ".*$gdb_prompt $" { fail "list list0.c:main" } - timeout { fail "list list0.c:main (timeout)" } - } - - # The i960 and a29k-amd-udi are the second case - - # Not sure what the point of having this function be unused is. - # AIX is legitimately removing it. - setup_xfail "rs6000-*-aix*" - send_gdb "list list0.c:unused\n" - gdb_expect { - -re "36\[ \t\]+\}.*42\[ \t\]+\}\r\n$gdb_prompt $" { - incr testcnt - } - -re "37.*42\[ \t\]+\}\r\n$gdb_prompt $" { - incr testcnt - } - -re ".*$gdb_prompt $" { fail "list list0.c:unused" } - timeout { fail "list list0.c:unused (timeout)" } - } - clear_xfail "rs6000-*-aix*" - - # gcc appears to generate incorrect debugging information for code - # in include files, which breaks this test. - # Ultrix gdb is the second case, one line different but still correct. - # SunPRO cc is the third case. - setup_xfail "rs6000-*-*" 1804 - setup_xfail "powerpc-*-*" 1804 - setup_xfail "a29k-*-udi" - setup_xfail_format "DWARF 1" - setup_xfail_format "COFF" - send_gdb "list list0.h:foo\n" - gdb_expect { - -re "2\[ \t\]+including file. This.*11\[ \t\]+bar \[(\]+.*\[)\]+;\r\n$gdb_prompt $" { - incr testcnt - } - -re "1\[ \t\]+/. An include file.*10\[ \t\]+bar \[(\]+.*\[)\]+;\r\n$gdb_prompt $" { - incr testcnt - } - -re "3\[ \t\]+.*12\[ \t\]+bar \[(\]+.*\[)\]+;\r\n$gdb_prompt $" { - incr testcnt - } - -re "No source file named list0.h.\r\n$gdb_prompt $" { - fail "list list0.h:foo" - } - -re ".*$gdb_prompt $" { fail "list list0.h:foo" } - timeout { fail "list list0.h:foo (timeout)" } - } - - # Ultrix gdb is the second case. - # a29k-amd-udi is the third case. - send_gdb "list list1.c:bar\n" - gdb_expect { - -re "1\[ \t\]+void.*8\[ \t\]+\}\r\n$gdb_prompt $" { - incr testcnt - } - -re "1\[ \t\]+void.*7\[ \t\]*long_line ..;\r\n$gdb_prompt $" { - incr testcnt - } - -re "1\[ \t\]+void.*9\[ \t\]*\r\n$gdb_prompt $" { - incr testcnt - } - -re ".*$gdb_prompt $" { fail "list list1.c:bar" } - timeout { fail "list list1.c:bar (timeout)" } - } - - # The i960 and a29k-amd-udi are the second case - - # Not sure what the point of having this function be unused is. - # AIX is legitimately removing it. - setup_xfail "rs6000-*-aix*" - send_gdb "list list1.c:unused\n" - gdb_expect { - -re "7\[ \t\]+long_line \[(\]\[)\];.*14\[ \t\]+\}\r\n.*$gdb_prompt $" { - incr testcnt - } - -re "9.*14\[ \t\]+\}\r\n.*$gdb_prompt $" { - incr testcnt - } - -re ".*$gdb_prompt $" { fail "list list1.c:unused" } - timeout { fail "list list1.c:unused (timeout)" } - } - clear_xfail "rs6000-*-aix*" - - pass "list filename:function ($testcnt tests)" - - # Test some invalid specs - # The following test takes the FIXME result on most systems using - # DWARF. It fails to notice that main() is not in the file requested. - - setup_xfail "*-*-*" - -# Does this actually work ANYWHERE? I believe not, as this is an `aspect' of -# lookup_symbol(), where, when it is given a specific symtab which does not -# contain the requested symbol, it will subsequently search all of the symtabs -# for the requested symbol. - - gdb_test "list list0.c:foo" "Function \"foo\" not defined in .*list0.c" "list filename:function; wrong filename rejected" - - gdb_test "list foobar.c:main" "No source file named foobar.c." "list filename:function; nonexistant file" - - setup_xfail_format "DWARF 1" - gdb_test "list list0.h:foobar" "Function \"foobar\" not defined." "list filename:function; nonexistant function" - -} - -proc test_forward_search {} { - global timeout - - gdb_test "set listsize 4" "" - # On SunOS4, this gives us lines 19-22. On AIX, it gives us - # lines 20-23. This depends on whether the line number of a function - # is considered to be the openbrace or the first statement--either one - # is acceptable. - gdb_test "list long_line" "20\[ \t\]+long_line .*" - - gdb_test "search 4321" " not found" - - gdb_test "search 6789" "24\[ \t\]+oof .6789.;" - - # Test that GDB won't crash if the line being searched is extremely long. - - set oldtimeout $timeout - set timeout [expr "$timeout + 300"] - verbose "Timeout is now $timeout seconds" 2 - gdb_test "search 1234" ".*1234.*" "search extremely long line (> 5000 chars)" - set timeout $oldtimeout - verbose "Timeout is now $timeout seconds" 2 -} - -# Start with a fresh gdb. - -gdb_exit -gdb_start -gdb_reinitialize_dir $srcdir/$subdir -gdb_load ${binfile} - -if [target_info exists gdb_stub] { - send_gdb "step\n" - # if use stubs step out of the breakpoint() function. - gdb_expect { - -re "main.* at .*$gdb_prompt $" {} - -re ".*in .*start.*$gdb_prompt $" {} - timeout { fail "single step at breakpoint() (timeout)" } - } -} - -gdb_test "set width 0" "" "set width 0" - -test_listsize -get_debug_format -if [ set_listsize 10 ] then { - test_list_include_file - test_list_filename_and_number - test_list_function - test_list_forward - test_list_backwards - test_list_range - test_list_filename_and_function - test_forward_search -} diff --git a/gdb/testsuite/gdb.base/list0.c b/gdb/testsuite/gdb.base/list0.c deleted file mode 100644 index d888870fe44..00000000000 --- a/gdb/testsuite/gdb.base/list0.c +++ /dev/null @@ -1,39 +0,0 @@ -#include "list0.h" - -main () -{ - int x; - - x = 0; - foo (x++); - foo (x++); - foo (x++); - foo (x++); - foo (x++); - foo (x++); - foo (x++); - foo (x++); - foo (x++); - foo (x++); - foo (x++); - foo (x++); - foo (x++); - foo (x++); - foo (x++); - foo (x++); - foo (x++); - foo (x++); - foo (x++); - foo (x++); - foo (x++); - foo (x++); - foo (x++); - foo (x++); - foo (x++); -} - -static void -unused () -{ - /* Not used for anything */ -} diff --git a/gdb/testsuite/gdb.base/list0.h b/gdb/testsuite/gdb.base/list0.h deleted file mode 100644 index c4d337c6770..00000000000 --- a/gdb/testsuite/gdb.base/list0.h +++ /dev/null @@ -1,36 +0,0 @@ -/* An include file that actually causes code to be generated in the - including file. This is known to cause problems on some systems. */ - -static void -foo (x) -int x; -{ - bar (x++); - bar (x++); - bar (x++); - bar (x++); - bar (x++); - bar (x++); - bar (x++); - bar (x++); - bar (x++); - bar (x++); - bar (x++); - bar (x++); - bar (x++); - bar (x++); - bar (x++); - bar (x++); - bar (x++); - bar (x++); - bar (x++); - bar (x++); - bar (x++); - bar (x++); - bar (x++); - bar (x++); - bar (x++); - bar (x++); - bar (x++); - bar (x++); -} diff --git a/gdb/testsuite/gdb.base/list1.c b/gdb/testsuite/gdb.base/list1.c deleted file mode 100644 index 0b362a40ce5..00000000000 --- a/gdb/testsuite/gdb.base/list1.c +++ /dev/null @@ -1,12 +0,0 @@ -void -bar (x) -int x; -{ - printf ("%d\n", x); -} - -static void -unused () -{ - /* Not used for anything */ -} diff --git a/gdb/testsuite/gdb.base/m68k-aout.u b/gdb/testsuite/gdb.base/m68k-aout.u deleted file mode 100644 index 3095fc0727c..00000000000 --- a/gdb/testsuite/gdb.base/m68k-aout.u +++ /dev/null @@ -1,459 +0,0 @@ -begin 777 m68k-aout -M !"P $ ! #$@ -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M $Y6__!(USB 2^X !$GM 0F3$J<9ORYTV4"68PCS $ 0O.0 $ 0O"R\5 -M8?\ %"WOP #"\ 8?\ -.6(],[CB __!.7DYU3E8 $Y>3G4 $@. -M $C7 !P & ).7DYU2 X 2-< ' 8 DY>3G5(#@ !(UP -M< !@ "3EY.=4@. $C7 !P & ).7DYU2 X 2-< ' 8 -M DY>3G5(#@ !(UP < !@ "3EY.=4@. $C7 !"@& ).7DYU -M2 X 2-< $* 8 DY>3G5(#@ !(UP 0H!@ "3EY.=4@. -M $C7 !"@& ).7DYU2 X 2-< $* 8 DY>3G5(#@ !(UP -M0H!@ "3EY.=4@. $C7 #R %P/8 DY>3G5(#@ !(UP \@!< -M#V ).7DYU2 X 2-< $(Y 0-!/\ $ ! V$_P @ $#@S_ # -M 0.C/\ 0 ! \,_P !0 $#YP!B/ 00' '(\ !!$< @CP $$AP -M"2/ 03' *(\ !!0< LCP $%0C_$+( !!8(_Q :0 07"/\ -M $& 3^0 $#0 !!D$_D ! V 09A/Y 0. $&@S^0 $#H -M !!L,_D ! \ 0<#/Y 0/@ $'0C^0 $$ !!\(_D !!$ 0A"/Y -M 02 $(PC^0 $$P !"4(_D !!0 0G"/Y 05 $*0C^0 $%@ -M !"L(_D !!< 0M"/Y 08 $+@C_ $#0 !#$(_P ! V 0R"/\ -M 0. $,PC_ $#H !#0(_P ! \ 0U"/\ 0/@ $-@C_ $$ -M !#<(_P !!$ 0X"/\ 02 $.0C_ $$P !#H(_P !!0 0["/\ -M 05 $/ C_ $%@ !#T(_P !!< 0^' "(\ !'4< (CP $=AP -M 2/ 1X' !(\ !'<(_D !$\ 11#/Y 1+ $31.7DYU0"@C*61B -M>'AX+G,)-2XR("A"97)K96QE>2D@-R\Q,B\X-0 2'D !'H('D !'D3I!8 -MCTYR"HQ.5@ 8?\ 6+RX "&'_ %%B/3EY.=0 3E8 $Y>3G5.5@ -M< %.0"/ 3Y'#_3EY.=0 -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M ! , $YU ! *",I8W)T,"YC"30N-B H0F5R:V5L97DI(#,O,S O -M.#, ! -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M ! 0 &0 "P0 )( !4 $V0 !4 &X -M /8 3X <H -MC( IX Q8 WX -M ^( !"8 !'( !*( -M !,B $ !/" $ !32 $ !8" -M ( !:R ( !?2 ( !D2 0 ! -MFB 0 !JB 0 !O" 0 !QB 0 -M !UR 0 !ZB 0 !]2 @ " B $ -M "'2 $ "-2 $ "62 ( "=2 -M ( "CB ( "LR 0 "S2 0 " -MY" 0 #!R 0 #&" 0 #," 0 -M #2B 0 #9B @ #A" $ #FB $ -M #M" $ #TR ( #ZB ( $!2 -M ( $)2 0 $.B 0 $4R 0 $ -M<2 0 $A" 0 $GB 0 $NB 0 -M $T2 @ $ZH !C___L% %@R !@ %D2 !@ -M &*X C___L% &O" @ &R" @ '6B0 -M $ !4 $0 'D !> ':20 $ !H $0 'H !R ' -M?R0 $ !\ $0 'L "& 'ER0 ( "0 $0 'T ": -M 'IR0 ( "D $0 'X "N 'OB0 ( "X $0 '\ -M #" 'UR0 0 #, $0 ($ #6 'Y20 0 #@ $0 -M (( #J '^B0 0 #T $0 (, #^ ($20 0 $( -M $0 (4 $2 (("0 0 $< $0 (8 $F (-B0 0 $P -M $0 (< $Z (3B0 0 %$ $0 (D %. (7B0 @ -M %: $0 (H %D (<( )C___L% (W" )@ (YX -M )#___L% ))R ) ),B 0 )5H 3___L% ) -M?2 0 )C" 0 )JH 3___L% )QB 0 -M )U( 3___L% )\H 3___L% *#H 3___L% *&X 3_ -M__L% *2"0 0 %P $0 +( %Z $0 +, %Z $0 -M +0 %Z $0 +4 %Z $0 +8 & $0 +< &( -M $0 +@ &0 $0 +D &0 $0 +H &8 $0 +L &@ -M $0 +P &H $0 +T &H $0 +X &P $0 +\ -M &X $0 , ' $0 ,$ ' $0 ,( '( $0 -M ,, '0 $0 ,0 '8 $0 ,4 '8 $0 ,8 'B -M $0 ,< 'V $0 ,@ 'V $0 ,D 'V $0 ,H ( -M $0 ,L (* $0 ,P (4 $0 ,T (4 $0 ,X -M (> $0 ,\ (H $0 - (R $0 -$ (R $0 -M -( (\ $0 -, )& $0 -0 )0 $0 -4 )0 -M $0 -8 ): $0 -< )D $0 -@ )N $0 -D )N -M $0 -H )X $0 -L *, $0 -P *, $0 -T -M *6 $0 -X *@ $0 -\ *J $0 . *J $0 -M .$ *T $0 .( *^ $0 ., +( $0 .0 +( -M $0 .4 +2 $0 .8 +< $0 .< +F $0 .@ +F -M $0 .D +P $0 .H +Z $0 .L ,$ $0 .P -M ,$ $0 .T ,. $0 .X ,8 $0 .\ ,8 $0 -M / ,@ $0 /$ ,H $0 /( ,P $0 /, ,X -M $0 /0 ,X $0 /4 -" $0 /8 -" $0 /< -, -M *4 0 /< -0 *5 0 -0 *7 0 .( *8P0 !N( -M .D *:P0 Y8 .L *<P0 !N( .T *? < !7( ! $ *A04 -M!0X *BP4 WX %P *D04 Z .( *EP4 !BX !* * -MHP< )( ! ( *J@D !T8 ! T *L@D !^X ! V *P0D !&8 ! X -M *T@D !YH ! Z *VPD $P ! \ *ZPD =H ! ^ *_0D !_ -M !! +! D "$0 !!$ +$@D !H !!( +(@D ![D !!, +*@D -M"&$ !!0 +.0D !-D !!4 +2@D !L@ !!8 +4PD !6L !!< + -M70D !W, !!D +:PD !ET !!F +@ D !&D !!H +EPD ID !!L -M +I@D &T !!P +O D !2, !!T +U D !MT !!\ +X0D @, -M !"$ +]0D 0D !", ,"PD ;L !"4 ,&0D *4 !"< ,+@D -M!T\ !"D ,10D <T !"L ,5 D +D !"T ,9 D "%( !#$ , -M= D _H !#( ,BPD !,@ !#, ,I D !B8 !#0 ,M0D !A0 !#4 -M ,S0D !ZP !#8 ,YPD !?H !#< ,]@D \X !#@ -# D "(0 -M !#D -) D JX !#H -- D !O0 !#L -2PD !\( !#P -9 D -M O8 !#T -=0D !T0 !#X -APD !RL !#\ -D@D !RP !$4 - -MG0D !\8 !$L -I@D !R !$T -L 4 ZL !4 -O04 !V\ !H -M -T04 !G4 !\ -YP4 !8T "0 -]04 !'< "D ."@4 H, -M "X .(04 !Z\ #, .+04 /, #@ .0 4 !,4 #T .504 -M ,\ $( .8@4 !), $< .=@4 YD $P .C 4 !2< %$ . -MF@4 !)T %: .J0D !T4 !$\ .L0D !X4 !%$ .N0D !\\ !'4 -M .P@D G< !'8 .S@D !)X !'< .UPD O@ !'@ .X@D 2< -M !'D .ZP4 :D -T .] 4 ;0 .$ ._0< !,8 ! P /!P4 -M Y8 .D /$04 !N( .L /& 4 "!P .T /'PD !Y< !/D / -M)F-R=# N;P!G9&)M92YO &=D8FUE+F, :6YT.G0Q/7(Q.RTR,30W-#@S-C0X -M.S(Q-#<T.#,V-#<[ &-H87(Z=#(]<C([,#LQ,C<[ &QO;F<Z=#,]<C$[+3(Q -M-#<T.#,V-#@[,C$T-S0X,S8T-SL <VAO<G0Z=#0]<C$[+3,R-S8X.S,R-S8W -M.P!U;G-I9VYE9"!C:&%R.G0U/7(Q.S [,C4U.P!U;G-I9VYE9"!S:&]R=#IT -M-CUR,3LP.S8U-3,U.P!U;G-I9VYE9"!L;VYG.G0W/7(Q.S [+3$[ '5N<VEG -M;F5D(&EN=#IT.#UR,3LP.RTQ.P!F;&]A=#IT.3UR,3LT.S [ &1O=6)L93IT -M,3 ]<C$[.#LP.P!V;VED.G0Q,3TQ,0 _/S\Z=#$R/3$ =E]C:&%R.D<R '9? -M<VEG;F5D7V-H87(Z1S( =E]U;G-I9VYE9%]C:&%R.D<U '9?<VAO<G0Z1S0 -M=E]S:6=N961?<VAO<G0Z1S0 =E]U;G-I9VYE9%]S:&]R=#I'-@!V7VEN=#I' -M,0!V7W-I9VYE9%]I;G0Z1S$ =E]U;G-I9VYE9%]I;G0Z1S@ =E]L;VYG.D<Q -M '9?<VEG;F5D7VQO;F<Z1S$ =E]U;G-I9VYE9%]L;VYG.D<X '9?9FQO870Z -M1SD =E]D;W5B;&4Z1S$P '9?8VAA<E]A<G)A>3I',3,]87(Q.S [,3LR '9? -M<VEG;F5D7V-H87)?87)R87DZ1S$S '9?=6YS:6=N961?8VAA<E]A<G)A>3I' -M,30]87(Q.S [,3LU '9?<VAO<G1?87)R87DZ1S$U/6%R,3LP.S$[- !V7W-I -M9VYE9%]S:&]R=%]A<G)A>3I',34 =E]U;G-I9VYE9%]S:&]R=%]A<G)A>3I' -M,38]87(Q.S [,3LV '9?:6YT7V%R<F%Y.D<Q-SUA<C$[,#LQ.S$ =E]S:6=N -M961?:6YT7V%R<F%Y.D<Q-P!V7W5N<VEG;F5D7VEN=%]A<G)A>3I',3@]87(Q -M.S [,3LX '9?;&]N9U]A<G)A>3I',3< =E]S:6=N961?;&]N9U]A<G)A>3I' -M,3< =E]U;G-I9VYE9%]L;VYG7V%R<F%Y.D<Q. !V7V9L;V%T7V%R<F%Y.D<Q -M.3UA<C$[,#LQ.SD =E]D;W5B;&5?87)R87DZ1S(P/6%R,3LP.S$[,3 =E]C -M:&%R7W!O:6YT97(Z1S(Q/2HR '9?<VEG;F5D7V-H87)?<&]I;G1E<CI',C$ -M=E]U;G-I9VYE9%]C:&%R7W!O:6YT97(Z1S(R/2HU '9?<VAO<G1?<&]I;G1E -M<CI',C,]*C0 =E]S:6=N961?<VAO<G1?<&]I;G1E<CI',C, =E]U;G-I9VYE -M9%]S:&]R=%]P;VEN=&5R.D<R-#TJ-@!V7VEN=%]P;VEN=&5R.D<R-3TJ,0!V -M7W-I9VYE9%]I;G1?<&]I;G1E<CI',C4 =E]U;G-I9VYE9%]I;G1?<&]I;G1E -M<CI',C8]*C@ =E]L;VYG7W!O:6YT97(Z1S(U '9?<VEG;F5D7VQO;F=?<&]I -M;G1E<CI',C4 =E]U;G-I9VYE9%]L;VYG7W!O:6YT97(Z1S(V '9?9FQO871? -M<&]I;G1E<CI',C<]*CD =E]D;W5B;&5?<&]I;G1E<CI',C@]*C$P '1?<W1R -M=6-T.E0R.3US,C1V7V-H87)?;65M8F5R.C(L,"PX.W9?<VAO<G1?;65M8F5R -M.C0L,38L,38[=E]I;G1?;65M8F5R.C$L,S(L,S([=E]L;VYG7VUE;6)E<CHQ -M+#8T+#,R.W9?9FQO871?;65M8F5R.CDL.38L,S([=E]D;W5B;&5?;65M8F5R -M.C$P+#$R."PV-#L[ '9?<W1R=6-T,3I',CD =E]S=')U8W0R.D<S,#US,C1V -M7V-H87)?;65M8F5R.C(L,"PX.W9?<VAO<G1?;65M8F5R.C0L,38L,38[=E]I -M;G1?;65M8F5R.C$L,S(L,S([=E]L;VYG7VUE;6)E<CHQ+#8T+#,R.W9?9FQO -M871?;65M8F5R.CDL.38L,S([=E]D;W5B;&5?;65M8F5R.C$P+#$R."PV-#L[ -M '1?=6YI;VXZ5#,Q/74X=E]C:&%R7VUE;6)E<CHR+# L.#MV7W-H;W)T7VUE -M;6)E<CHT+# L,38[=E]I;G1?;65M8F5R.C$L,"PS,CMV7VQO;F=?;65M8F5R -M.C$L,"PS,CMV7V9L;V%T7VUE;6)E<CHY+# L,S([=E]D;W5B;&5?;65M8F5R -M.C$P+# L-C0[.P!V7W5N:6]N.D<S,0!V7W5N:6]N,CI',S(]=3AV7V-H87)? -M;65M8F5R.C(L,"PX.W9?<VAO<G1?;65M8F5R.C0L,"PQ-CMV7VEN=%]M96UB -M97(Z,2PP+#,R.W9?;&]N9U]M96UB97(Z,2PP+#,R.W9?9FQO871?;65M8F5R -M.CDL,"PS,CMV7V1O=6)L95]M96UB97(Z,3 L,"PV-#L[ '9?8VAA<E]F=6YC -M.D8R '9?<VEG;F5D7V-H87)?9G5N8SI&,@!V7W5N<VEG;F5D7V-H87)?9G5N -M8SI&-0!V7W-H;W)T7V9U;F,Z1C0 =E]S:6=N961?<VAO<G1?9G5N8SI&- !V -M7W5N<VEG;F5D7W-H;W)T7V9U;F,Z1C8 =E]I;G1?9G5N8SI&,0!V7W-I9VYE -M9%]I;G1?9G5N8SI&,0!V7W5N<VEG;F5D7VEN=%]F=6YC.D8X '9?;&]N9U]F -M=6YC.D8Q '9?<VEG;F5D7VQO;F=?9G5N8SI&,0!V7W5N<VEG;F5D7VQO;F=? -M9G5N8SI&. !V7V9L;V%T7V9U;F,Z1CD =E]D;W5B;&5?9G5N8SI&,3 ;&EN -M:SI4,S,]<S$U,FYE>'0Z,S0]*C,S+# L,S([;&EN:V9U;F,Z,S4]*C,V/68S -M-"PS,BPS,CMS='5F9CHS-SUA<C$[,#LP.S,X/6%R,3LP.S$[,SD]87(Q.S [ -M,CLR.2PV-"PQ,34R.SL <U]L:6YK.D<S- !T=5]L:6YK.E0T,#UU,30T;F5X -M=#HS-"PP+#,R.VQI;FMF=6YC.C,U+# L,S([<W1U9F8Z,S<L,"PQ,34R.SL -M=5]L:6YK.D<T, !P<FEM87)Y.D<T,3UE<F5D.C L9W)E96XZ,2QB;'5E.C(L -M.P!C;VQO<G,Z5#0R/65Y96QL;W<Z,"QP=7)P;&4Z,2QP:6YK.C(L.P!N;VYP -M<FEM87)Y.D<T,@!C;'5N:V5R.D<T,SUE8VAE=GDZ,"QF;W)D.C$L.P!C87)S -M.E0T-#UE8FUW.C L<&]R<V-H93HQ+#L <W!O<G1S8V%R.D<T- !B;V]L96%N -M.G0T-3UE1D%,4T4Z,"Q44E5%.C$L.P!B=F%L<SI4-#8]969A;'-E.C L=')U -M93HQ+#L 8F]O;&5A;C(Z=#0V &UI<V]R9&5R960Z5#0W/65T=V\Z,BQO;F4Z -M,2QZ97)O.C L=&AR964Z,RP[ &UA:6XZ1C$ +6QG %]S8V-S:60 97AI="YO -M &9A:V-U+F\ 7V5X:70N;P!C97)R;W(N;P!?96YV:7)O;@!S=&%R= !?;6%I -M;@!?97AI= !?;6]N8V]N=')O; !M8V]U;G0 7W9?8VAA<@!?=E]S:6=N961? -M8VAA<@!?=E]U;G-I9VYE9%]C:&%R %]V7W-H;W)T %]V7W-I9VYE9%]S:&]R -M= !?=E]U;G-I9VYE9%]S:&]R= !?=E]I;G0 7W9?<VEG;F5D7VEN= !?=E]U -M;G-I9VYE9%]I;G0 7W9?;&]N9P!?=E]S:6=N961?;&]N9P!?=E]U;G-I9VYE -M9%]L;VYG %]V7V9L;V%T %]V7V1O=6)L90!?=E]C:&%R7V%R<F%Y %]V7W-I -M9VYE9%]C:&%R7V%R<F%Y %]V7W5N<VEG;F5D7V-H87)?87)R87D 7W9?<VAO -M<G1?87)R87D 7W9?<VEG;F5D7W-H;W)T7V%R<F%Y %]V7W5N<VEG;F5D7W-H -M;W)T7V%R<F%Y %]V7VEN=%]A<G)A>0!?=E]S:6=N961?:6YT7V%R<F%Y %]V -M7W5N<VEG;F5D7VEN=%]A<G)A>0!?=E]L;VYG7V%R<F%Y %]V7W-I9VYE9%]L -M;VYG7V%R<F%Y %]V7W5N<VEG;F5D7VQO;F=?87)R87D 7W9?9FQO871?87)R -M87D 7W9?9&]U8FQE7V%R<F%Y %]V7V-H87)?<&]I;G1E<@!?=E]S:6=N961? -M8VAA<E]P;VEN=&5R %]V7W5N<VEG;F5D7V-H87)?<&]I;G1E<@!?=E]S:&]R -M=%]P;VEN=&5R %]V7W-I9VYE9%]S:&]R=%]P;VEN=&5R %]V7W5N<VEG;F5D -M7W-H;W)T7W!O:6YT97( 7W9?:6YT7W!O:6YT97( 7W9?<VEG;F5D7VEN=%]P -M;VEN=&5R %]V7W5N<VEG;F5D7VEN=%]P;VEN=&5R %]V7VQO;F=?<&]I;G1E -M<@!?=E]S:6=N961?;&]N9U]P;VEN=&5R %]V7W5N<VEG;F5D7VQO;F=?<&]I -M;G1E<@!?=E]F;&]A=%]P;VEN=&5R %]V7V1O=6)L95]P;VEN=&5R %]V7W-T -M<G5C=#$ 7W9?<W1R=6-T,@!?=E]U;FEO;@!?=E]U;FEO;C( 7W9?8VAA<E]F -M=6YC %]V7W-I9VYE9%]C:&%R7V9U;F, 7W9?=6YS:6=N961?8VAA<E]F=6YC -M %]V7W-H;W)T7V9U;F, 7W9?<VEG;F5D7W-H;W)T7V9U;F, 7W9?=6YS:6=N -M961?<VAO<G1?9G5N8P!?=E]I;G1?9G5N8P!?=E]S:6=N961?:6YT7V9U;F, -M7W9?=6YS:6=N961?:6YT7V9U;F, 7W9?;&]N9U]F=6YC %]V7W-I9VYE9%]L -M;VYG7V9U;F, 7W9?=6YS:6=N961?;&]N9U]F=6YC %]V7V9L;V%T7V9U;F, -M7W9?9&]U8FQE7V9U;F, 7W-?;&EN:P!?=5]L:6YK %]P<FEM87)Y %]N;VYP -M<FEM87)Y %]C;'5N:V5R %]S<&]R='-C87( 7U]D8F%R9W, 7U]D8G-U8F, -M7U]D8G-U8FX 7U]L9U]F;&%G %]?8VQE86YU< !?7V5X:70 8V5R<F]R %]E -M<G)N;P -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -% - -end diff --git a/gdb/testsuite/gdb.base/m68k-aout2.u b/gdb/testsuite/gdb.base/m68k-aout2.u deleted file mode 100644 index b9209610c25..00000000000 --- a/gdb/testsuite/gdb.base/m68k-aout2.u +++ /dev/null @@ -1,2208 +0,0 @@ -begin 777 m68k-aout2 -M 0(!"P @ , 'B0 " @ !-^ )!='[P $(@+E -M@4GS& 0CS " !*N0 (@9G &80 *DA42%,O DZY BF$ZY C9M[\ -M PO $ZY F0%B/+P!.N0 )MA.5O_(2.<P $AZ :Q(> 2'H!BDZZ 3;? -M_ @M0/_P2'@ ($AN_\@O $ZZ 3S?_ ! ,@ "!G"$'Z 79@ $T -M#&X!"__*9O D/ '__4KO_, H+__@ !H( @ ( +0KO_0T*[_U$AZ 6)( -M> +R[_\"\Z 9@O.@&@+P!(> 3KH S-_\ &"U _^@O+O_,+R[_\"\Z -M 7@O.@%X+R[_T" "T*[_Z"\ 3KH HM_\ &"8 E*[_S"\"("[_Z-"N_\PO -M $ZZ )#?_ Q(>@$B2'@ $AZ ,E.N@!F4(\M0/_L2J[_U&8$6(]@(DAX -M O "\Z 1@O.@$8+R[_U-:N_] O TZZ $3?_ !Q!^O[(+4C__"UY ( -M /_X+7H ;/_T2&[_Z$AX $@;O_HT>[_W$Z04(],WP ,3EY.=2!O Q(> % -M8!P@;P <2'@ 1V 2(&\ #$AX $E@""!O !!(> #3D!E DYU+QA(4$AX )( -M> 2'@ !$Y +WP !_ 1(> !3D +W5S<B]L:6(O;&0N<V\ +V1E -M=B]Z97)O 88W)T,#H@;F\@+W5S<B]L:6(O;&0N<V\* )6-R=# Z -M("]U<W(O;&EB+VQD+G-O(&UA<'!I;F<@9F%I;'5R90H $V-R=# Z(&YO -M("]D978O>F5R;PH @ H !( ' !0 $[Y ER 3E8 -M $* 8 DY>3G5.5@ 0H!@ "3EY.=4Y6 !"@& ).7DYU3E8 $* -M8 DY>3G5.5@ 0H!@ "3EY.=4Y6 !"@& ).7DYU3E8 $* 8 -M DY>3G5.5@ 0H!@ "3EY.=4Y6 !"@& ).7DYU3E8 $* 8 DY> -M3G5.5@ 0H!@ "3EY.=4Y6 !"@& ).7DYU3E8 ' 8 DY>3G5. -M5@ < !R & ).7DYU3E8 &'_ "0D(Y *P4!/\ $ K!2$_P @ " -ML%0S_ # *P5C/\ 0 K!8,_P !0 "L%IP!B/ *P7' '(\ K!@< @C -MP "L&1P"2/ *P:' *(\ K!L< LCP "L' C_$+( K!T(_Q :0 -M *P>$*Y *P?!/Y *P4 "L( 3^0 "L%( K""$_D K!4 *PA#/Y *P -M5@ "L(@S^0 "L%@ K",,_D K!: *PD"/Y *P7 "L)@C^0 "L& K"@ -M(_D K!D *PJ"/Y *P: "L+ C^0 "L&P K"X(_D K!P *PP"/Y *P -M= "L,@C^0 "L'@ K#0(_D K!\ *PU"/\ *P4 "L. C_ "L%( K#D -M(_P K!4 *PZ"/\ *P5@ "L.PC_ "L%@ K#P(_P K!: *P]"/\ *P -M7 "L/@C_ "L& K#\(_P K!D *Q "/\ *P: "L00C_ "L&P K$( -M(_P K!P *Q#"/\ *P= "L1 C_ "L'@ K$4< (CP "L1@CP "L1QP -M 2/ *Q("/ *Q)"/Y *Q* "L3 S^0 "L< K'(3EY.=0 3E8 "\+ -M+PI"@$'Y *R#$J09PA82%* 2I!F^$J ;Q1'^0 "L@A%\PP (%).D%E*M\IM -M]B1N__@F;O_\3EY.=4Y6 O"D7Y *R%$J29P@@6DZ02I)F^$*G2'D "5 -M8?\ #F)&[__$Y>3G5.5@ 2KD @ \9@IP 2/ ( /&&\3EY.=4CG@,!. -MN0 *\A*0&<,3KD "MH3-\# 4YU2'@ /4AZ !9(> "3KD ";.2'@ 8TZY -M FV$U#-C@X.#$@9FQO871I;F<@<&]I;G0@;F]T(&%V86EL86)L92 M+2!P -M<F]G<F%M(')E<75I<F5S(&ET"@ $Y6__A(UR" +BX "& 4(^T " " -MLA@O+0 $+P<@54Z04$\J>0 "LAA*C6;B3KD ";P+P=.N0 )MA83TSN((#_ -M^$Y>3G4 $Y6__PNC4AX Q.N0 +PA83RI 2HUF!'#_8!HJK@ (*VX # $ -M*WD K(8 @CS0 "LAAP "IN__Q.7DYU !.^0 )N!(> $3D!E\DYU2'@ -M 4Y CP " $1P_TYU 3E8 $AY G!DZY W(%A/3EY.=4Y6 -M__A(UR" *FX "'[_2HUG<# M ! "@ 0-G.C M ! ( &9C P+0 0" -M F<$?@!@#$A53KD ">46$\N ! M !))P"\ 3KD #AV6$]*@&P"?O\P+0 0 -M" V<0+RT "$ZY P'EA/0JT "$)M !!"E2MM @ !$*M P@!TSN((#_ -M^$Y>3G5.5O_\+HTJ;@ (,"T $ @ %F)F \,"T $ @ %G)$JM AG'B M -M 2PK0 (8Q1(54ZY I8EA/,"T $ @ )GTC M ! ( %9P1P_V "< J -M;O_\3EY.=4Y6_^Q(UR# *FX #!PN LP+0 0 H "2#( ""9CP@+0 ( -MT*T #+"M 1C "\(&T !%)(*T@ !!%&__\,!@ *9@ !'DA53KD "EB6$]^ -M_["'9@ !#& 00P+0 0?A; AWX&L(=F,!U&__]"E4AX %(;O__$"T $DG -M+P!.N0 )LY^ ;"'9P U@!M " $'#_8 SC M !!^$L"'?@*PAV8@2JT -M"&<:("T !+"M AF)$J59B P+0 0 H "$9A1(54ZY IYEA/2H!G!G#_ -M8 C# M ! "@ (1F /\F2%5.N0 *6)83U.5;1 @;0 $4D@K2 $$4;_ -M_V!,,"T $ @ =G,B 51("PK0 ,;"@@;0 $$(8,!@ *9Q @;0 $4D@K2 $ -M$"C__V <2%4@;0 $< 0$& &2%5P ! &+P!.N0 )_!03S M ! ( %9P1P -M_V $< 0!DSN(,#_[$Y>3G5.5O_P2-<PP"IN @H;0 (+"T !)R,*TP !# M -M ! "@ (1G!'X 8 0N+0 ,*H=*E6P$?@!@ BX5("T "-"M R0K0 $L(=L -M"DA53KD "M 6$]*AF\@+P9(5! M !))P"\ 3KD ";.O(!G"@!M " $'#_ -M8 )P $SN,,#_\$Y>3G5.5O_X2-<@@"IN @P+0 0?A+ AWX"L(=G'C M ! " -M@ 0)F!'#_8&AP[\!M !!R H!!.T $# M ! ( &9DY*K0 (9@I(54ZY -M J@EA/("T !+"M AF-# M ! "@ (1F*"JM Q*E6P$?@!@ BX5("T -M"-"M R0K0 $L(=L"DA53KD "M 6$]P $SN((#_^$Y>3G5.5O^T2-<@P"IN -M @0+0 22< L # M ! ( "9Q8@>0 " I1!\&X *T@ "'X(*T< #&!Z+P9. -MN0 -7!83TJ 9PX ;0" ! N/ (!@'DAN_\0O!DZY XAE!/2H!M!BXN -M__!N!BX\ $ " '4( O $ZY O"%A/*T "&<, &T " 0*T< #& @('D -M @*40?!N "M( A^""M' P";?]_ ! ;0 $ ! K;0 ( 1,[B# _[1.7DYU -M3E;_]")N @@:0 (T>D #" (D*D !&H&(T@ !& &L)%L B* 3EY.=4CGP, @ -M.0 " $P,0 $9@8P/ 28"0,0 #9@8P/ .8!@,0 "9@8P/ *8 P,0 ! -M9@8P/ &3G%!^0 "JZQ@!B-Q B)8L_P 9O!.0DS? P-.=0 -M $[Y KZ 3E8 '(!(\$ K(<(&X $%RH Q.7DYU3E;_Y"Z'2KD @!8 -M9QH,N0 ( @!89@ Q'X#(\< @!,8 N"U\ KT/_T0J[_^$*N__Q( -M;O_H2&[_]$AX =.N0 -Z!/[P ,0KD K(<3KD #H82&[_]$AN_^A(> ' -M3KD #>@3^\ #$JY *R'&<$?@%@ GX"(\< @!8#+D " ( 6&9.?@,C -MQP " $Q.N0 .C!*@&8V2'D "S@2'D @+$3KD #EP4$](>0 +2!(>0 " -M L1.N0 .7!03TAY ("Q$ZY GE%A/3KD #H8#+D " ( 6&8$< %@ -M G +B[_Y$Y>3G4*(%!L96%S92!N;W1E.B!-0S8X.#@Q('5P9W)A9&4@=&\@ -M03DS3B!M87-K(&UA>2!B92!A9'9I<V%B;&4N( H 4V5E($9L;V%T:6YG+5!O -M:6YT(%!R;V=R86UM97(G<R!'=6ED92X* $Y6_^Q(US#@*'P @"P*E0J+@ , -M+"X "& 0O*T "&0$*$U@!$GM 0J5$J-9@1^ & $+BT #+Z%9.!.N0 -(0N -M &=$*(<@1T*00J@ !"%& @A10 ,($8@A2A'6(=*C6<>O*T "&,,*(U)[0 $ -M*FT !& (($<@C2X-*E5*C6;BF\T@1R"-*(U,[C#@_^Q.7DYU3E;_Z$C7,/ J -M;@ (*%4L%&8$> !@!B!&*"@ #"XL 1F!'H 8 8@1RHH R\AV=TN(5E.$J& -M9VA*A&8:($8@* (6( O $AY ( \$ZY U7%!/8$XJAEB&*D8L%68$> !@ -M/"!&*"@ #& T2H=G,$J%9AH@1R H A8@"\ 2'D @$$3KD #5<4$]@%BJ' -M*D<N%68$>@!@!B!'*B@ #+R'9HQ"E4A43KD #5"6$],[C#P_^A.7DYU3E;_ -MY$C7,( J;@ ((%5*B&8$< !@!" H PH4")H 1*C&8$?@!@)BXL Q@(+Z! -M918JC$OL 0H54J,9@1^ & 8+BP #& 2*HDJ22)52HEF!'( 8 0B*0 ,OH!B -MT+* 8LPJB"",(4D !$SN,(#_Y$Y>3G5.5O_D2-<P^"@N A8A'X(N(=D!'@( -M8 96A.2,Y8Q*N0 " +!F!'H 8 H@>0 " + J* ,NH1D%"\$3KD #/(6$]* -M@&8&< !@ #"*'P @"P*E1@(+Z&8@R^A&042>T !"I#8!"\A&4(2>T !"I# -M8 0H32I%*A4F+0 $2H5F!'X 8 8@12XH Q*@V8$? !@!B!#+"@ #+Z$9+J\ -MA&2V("T #)"$?@BPAV(0*BT "$A43KD "W:6$]@+BHM @N!=Z$($4F$):$ -M*T, #"!'((-2N0 " '0K1P (2%1.N0 +I183R!%((0@12 0T;D @"D4KD -M @"HN+D @"89 92N0 " 'A8A2 %3.XP^/_D3EY.=4Y6_^!(US#\)"X "! " -M?@/ AV<6+P)(>0 " 1A.N0 -5Q03W 8 \+2Y ( M&4(M+D @"X8PY^ -M%B/' ( 1' 8 TBP"688@1B@0F;D @"D4[D @"H*'P @"P*E1*C6< -M *(N+0 ()BT #+R'9#@J!MJ$NH=F%-B#4[D @!T2%1.N0 +=I83V!PNH=C -M%"\'+P9(>0 " 5=.N0 -5QP &!N*$U@5+R'8SPJ!]J#NH9F%BP'V(-3N0 " -M '1(5$ZY MVEA/8#*ZAF,4+P)(>0 " 79.N0 -5Q03W 8#!)[0 $8!0O -M DAY (!F$ZY U7%!/< !@%BI42HUF /]B+P0O!DZY M2%!/< %,[C#\ -M_^!.7DYU3E;_\$C7,, H;@ (+"X $"XN R>AG((OH%E($OT: JARB&4KD -M @!T4KD @"H2&T !$ZY P'EA/6$P@#$SN,,#_\$Y>3G5.5O_@2-<X^"IN -M @@#7X#P(=F$+OY ( M&4(N_D @"X8Q9(54AY (!NDZY U7%!/< !@ -M #T1^W__"@30?-( "P(2'@ 2\$2%-.N0 ,L!/[P ,?O^PAV8&< !@ #* -M+BX #%B'>@B^A60$=@A@"%:'Y(_ECR8'N(-E$"\#+P1(4TZY Q0& )Z\ -MN0 " +AD8BA\ ( L"I4($8J$& *2>T !& "*$TJ5$J-9@1^ & $+BT #+Z% -M93HN+0 (O(=EY+R'8MHN!-Z%OH-E)DA43KD "W:6$]3N0 " '3;N0 " *0F -MAR\#+P=(4TZY Q0& R+RX #$ZY O"%A/*D!*C6<>6$M9A"\$2%5(4TZY -M ]"$_O Q(4TZY P'EA/( U,[CCX_^!.7DYU3E;_Y$C7/. J+@ ,+"X -M""1&U<4F? " +!@""9-8 1'[0 $*E-*C68$?@!@!"XM R^A64 ,8H;0 ( -MO(QF'$A33KD "W:6$_;N0 " *12N0 " *AP 6 *2\C&6\+@S>E+R'9+BU -MQV,:2JX $&<0+P9(>0 " D=.N0 -5Q03W#_8'BUQV8N2%-.N0 +=I83U*Y -M ( =-NY ( I%2Y ( J)N42&P !$ZY P'EA/< %@1DA33KD "W:6$]4 -MN0 " '0@%-&Y ( I%:Y ( J" 'D(:1E)Z*)(=(; $3KD # >6$](:@ $ -M3KD # >6$]P 6 "< !,[CS@_^1.7DYU3E;_]$C7(,!*N0 " &QF(DZY X -MIB/ ( ;$ZY TA"I 2HUG.DA53KD #5"6$\N.0 " &Q3A]ZN A,>7 ' -M ( ;$PY< < @!L+ <O!DZY XX%A/*D!R_[O!9@1P &!,2KD @"T9@8C -MS0 " +1!]6@ (\@ @"X*H<@.0 " +B0N0 " +0CP " '#?N0 " *12N0 " -M '12N0 " *A(;0 $3KD # >6$]P 4SN(,#_]$Y>3G5.5O_X2-<@@$JY ( -MQ&<6*GD @#$('D @#$(] @#$8 CDJY ( P&YP+CP " $+P=.N0 -M..!83RI <O^P@6822'D @)Y3KD #5<6$]P &!<2KD @"T9@8CS0 " +0J -MAT'M 0CR " +PC_ @ @# 0?5X "/( ( N" Y ( N)"Y ( M"/ -M ( <-^Y ( K%.Y ( P"IY ( O'X0W[D @"\( U,[B" __A.7DYU3E8 -M "!N @@N0 " ,0C[@ ( ( Q$Y>3G5.5@ <A8CP0 " $1.7DYU $Y6 -M_^@NARXY ( 1$AN_^Q(>4 25 $O+@ (3KD #BV2H!L"B/' ( 1' 8 )P -M 2XN_^A.7DYU3E;__"Z-2KD JZL9C@J? " IPP+0 0 H $#9@0@#6!H -M2^T %+O\ (%'&7D3KD #8\2H!F#'(,(\$ @!$< !@1BIY *NK$J59R0@ -M53 H ! "@ 0-G%EA-N_D JZP9>1R&"/! ( 1' 8!A*E6822'@ %$AX -M %.N0 /9!03RJ (!4J;O_\3EY.=4Y6__A(UR" 3KD #B6+@!(> $+P=. -MN0 /9!03R/ *NK$JY *NK&8$< !@7" 'YX O $ZY O"%A/(\ @*4 -M9A@O.0 "KJQ.N0 ,!Y83T*Y *NK' 8"X@>0 "KJQ!\'P (\@ JZP+CP -M @*<*GD JZL8 8JQW(4WH$,AP "!1QE\G !3.X@@/_X3EY.=4Y6__PNC4JY -M *NK&8*3KD #8\2H!G+BIY *NK+OY *NL&0@2I5F$DAX !1(> !3KD -M #V04$\J@%A-N_D JZP9> J;O_\3EY.=4Y6__PNC4JN AG9DJY *NK&8J -M*GP @*<,"T $ * ! V<*2%4@;@ (3I!83TOM !2[_ "!1QD-F#<*GD -M JZLN_D JZP9"9*E6<8(%4P* 0 H $#9PHO%2!N A.D%A/6$V[^0 " -MKK!EVBIN__Q.7DYU 3E;_V$C7/. N+@ (;P9\(+Z&;09^%F *8D -M;@ 0+"X #" '4X!R >&A+P%.N0 .,983RH 2_D K(@2_5\ "952%(O!B\' -M3KD #EF3^\ #$J :U9*AF<V0>[_]")&(-D@V2#92>[_]"P49PYR ;R!9P@J -MABB\ Y&$*G2%0O!TZY Y9D_O Q*@&L<2HIG"@R2 Y&&8")(LO!4ZY -M XUEA/< !@&BXY ( 1"\%3KD #C66$\JBR/' ( 1'#_3.X\X/_83EY. -M=4[Y FX$AX 9.0&7R3G5.^0 )N!(> ^3D!E\DYU3OD ";@2'@ 64Y -M9?).=4[Y FX$AX $!.0&7R3G5.^0 )N!(> V3D!E\DYU3OD ";@2'@ -M;4Y 9?).=4[Y FX$AX &Y.0&7R3G4@+P $5H!R_,"!T+D @4<+T !$AX -M !%.0&40(#D @4<(^\ ! "!1Q.=4[Y FX $CGP,!.N0 .G @ -M+P$0Y8@@? "LB @< @ +R\!'"\O 1PO+P$<+R\!'$Z0W_P 03KD #JX -M3-\# ]_\ "$AX (M.0$[Y FX$AX &Q.0&7R3G5.5OOX2-<@@"IN A! -M[@ 0+@@P+0 0" 686,"T $ @ AG" !M ( $& $</]@:C M ! ( " -M9TX";?_[ !!![OP *T@ "$'N_ K2 $*WP 0 Q(52\'+RX #$ZY ] -MX$_O PN $A53KD ">46$\ ;0 $ !!"K0 (0JT #$*58!!(52\'+RX #$ZY -M ]X"X ( =,[B" ^_A.7DYU #R.IP 1.=0 #R -M.E04 "CR &0 #( E@ 9A;R.E0 ![R &0 #( @ 9@1P 6 "0H!.=3_P -M !. ____X G_P #\+R\ _$'O 0@* $0(, ,0 (9RP@ -M.0 " $P@P Q 1F"$ZY [YF 6#$ V8(3KD #KZ8 @,0 "9@)A6DYU -M0>\ !" 8#$ "&<J(!@,0 $9@A.N0 /&!@&@Q -F"$ZY [!F ,#$ -M F8&3KD #MV+U<! -_\ ! $YU\A#PP/(HO &$YU\AC0P/(0G !.=2)Y -M (%U# I__X( .9P@Q?!!C "!@(DII__YJZ$AH " O/$ " O.0 "LJ!. -MN0 .+;?_ PS?!!C__PS?!! __P@D2%1 0A40 ((5$ #"%1 ! A40 4 -M(5$ &"%1 !Q.=2)Y (%U# I__X( .9P)@(DII__YJ[DAH "0O/$ " O -M.0 "LJ!.N0 .+;?_ PS?!!C__PS?!!!__PBD"*H 0BJ ((J@ #"*H -M ! BJ 4(J@ &"*H !PP*?_^" #F?V,V@ (/_\3G7R$/# T?P 8\AB\ -M ")\X /%"#9(-D@V2#9(-D@V2#9(-D@V2#9(-DC_ #@ ^$(GS@ X -M(-D@V2#9(-D@V2#9(-D@V2)\X "-\ \<(WP #Q0C? (( -MT/(\B \CR0 !.=2/\ . #X3R&-# \AB< -'\ +")\ -MX , "+8(M@BV"+8(M@BV"+8(MB1_ $PB?. #Q0BV"+8(M@B?. @ -M* 8 H /(T (T"-H !P)6"-\ G$(!!!Z (3KD #S>("C__$'H -M A.N0 /-Y.=4A " #V8: D ?_".0 !(0 @ ]F"@) '_PCJ $ !. -M=0 "!O 0B;P (("\ #&],(@F2B&P 1$@;* ;0 0#((" $ &<$ -M$MA3@"()" $ &8>(@#DB& "(MA1R/_\0D!3@&3T( $"@ -@ A+84<C_ -M_$) 4X!D]$YUL\AN$& "$MA1R/_\0D!3@&3T3G71P-/ 8 (3(%'(__Q"0%. -M9/1.=0 !.5O_X2-< P"PN A,+F & PO!DZY O"%A/+@!F!' 8 XO -M!B\'3KD $_X4$\@!TSN ,#_^$Y>3G5.5@ +RX "$ZY P'EA/3EY.=4Y6 -M]H!(USS\3KD %XV($ @4!U0__]"KO_X?@$M1__T0J[_\"UN S_Y"UN_^3_ -MZ"UN_^C_["UN_^S_X"IN @<'6=&)FX $# K !!^$L"'?@*PAV8@2JL "&<: -M("L !+"K AF*DJ39B8P*P 0 H "$9AI(4TZY IYEA/2H!G#'#_8 . -M>' 8 .<G0 )&L !"X30>[VQ"U(]K!![O;$+4CVM$'N]L0M2/;4# 8 )6< -M BA3AVHL,"L $ * A&<*( =$@+"K QM%B=* 1(4TZY I8EA/)&L -M!"X34X<4QE*"8 -NB!N_^@H4%BN_^A*C&8&*'D @4D'!QG V@4X=J+# K -M ! "@ (1G"B '1("PJP ,;18G2@ $2%-.N0 *6)83R1K 0N$U.'%,92 -M@F#$(&[_Z" 0' !8KO_H4X=J+# K ! "@ (1G"B '1("PJP ,;18G2@ $ -M2%-.N0 *6)83R1K 0N$U.'%,92@F #28@;O_H+!!8KO_H2H9J1%.':BPP -M*P 0 H "$9PH@!T2 L*L #&T6)TH !$A33KD "EB6$\D:P $+A-3AQ3\ -M "U2@D2&8 H@;O_H+!!8KO_H*'D @4H2>[[WRHY (%*" &3'P 0 H@ -M11DP& !,?& & "F;F8 B"HY (%+"!N_^@L$%BN_^A)[OO?2H9G "X -M2H9G:' /P(8@11DP" #HCF;R8%@J.0 "!2@@;O_H+!!8KO_H2>[[WTJ&9P -MBDJ&9SIP#\"&($49, @ Z(YF\F J*CD @4H(&[_Z"P06*[_Z$GN^]]*AF=< -M2H9G#G 'P(8@11DP" #FCF;R0>[[WR8(N<-D P4'!Q3AVHL,"L $ * -MA&<*( =$@+"K QM%B=* 1(4TZY I8EA/)&L !"X34X<4QE*"N<-EQF -M"]9\,& _G1536!.($U231 02<!\>+"&8NY!^@ P<@VP&%3)__QFX# [$@9. -M^P "_H+_7O[*_P+^/OZ"_]S^@O_<_U[_,/WN_LK_,'AU<W!O;&EH9&-854]$ -M0B[[TT(N^])"+OO10B[[T$(N^\]"+OO.8"8=? !^])@'AU\ '[T6 6'7P -M ?O08 X=? !^\]@!AU\ '[SE)-$!5)P'P@L(9GWGPCL(9GX'PKL(9GPGPM -ML(9GQ'PPL(9GUF!<2J[_]&<:2&[[ "\N_^0O+@ (3KD $SJ3^\ #$*N__0, -MK@ #+_\&X4("[_\$/V#2#Z_"U)]JHM4?_H8!PM;OO$_^@O+O_P2&[_Z"\N -M A.N0 3GY/[P ,4DT,%0 J9@ HE)-2&[[R$A53KD $^>4$\J &=T2J[_ -M]&<:2&[[ "\N_^0O+@ (3KD $SJ3^\ #$*N__0,K@ #+[R&X4("[[R$/V -M#2#Z_"U)]JHM4?_@8!PM;OO$_^ O+OO(2&[_X"\N A.N0 3GY/[P ,(&[_ -MX"P06*[_X$J&:@A$AAU\ '[T2I%8$@@;O_H+!!8KO_H2H9J.D2&'7P ?O1 -M8#!\ $*N__!@%A =2<!Z,)"%W(8B!N6!W('<@"U&__ 0%4B 0?D @7="# -M @ 9M@,%0 N9@ O%)-#!4 *F8 (I234AN^OQ(54ZY !/GE!/* !G:$JN -M__1G&DAN^P O+O_D+RX "$ZY !,ZD_O Q"KO_T#*X R^OQN%" N^OQ# -M]@T@^OPM2?:J+5'_[& <+6[[Q/_L+R[Z_$AN_^PO+@ (3KD $Y^3^\ #"!N -M_^PJ$%BN_^PJ1& V(&[_Z"H06*[_Z& J>@ 0%4B 0?D @7="# @ 9Q80 -M'4G >#"0A-J%(@7E@=J!VH!@VGK_#!4 )&< _@)"KOKX+7P @5$^O1"KOKP -M+7P @5$^NQ@ 9H'7P ?O38 &7AU\ KZZV .'7P "/KK8 8=? 0^NM* -MA6P">@$@;O_H*!!8KO_H#"X 9/KJ9Q ,+@!$^NIG" PN &GZZF8N2H1L#"U\ -M (%1?KT1(1@'DHN^])G"BU\ (%1_KT8 Y*+OO09P@M? "!4GZ]$HN^\YG -M%B\N^O1.N0 4)!83RA&F<"YQ6\"*@P,+@!8^NIF""8Y (%+& &)CD @4H -M2>[[WQ N^NM)P'((L(%G"'(0L(%G%F! 2H1G0' 'P(0@0QDP" #FC&;R8#!* -MA&<L< _ A"!#&3 ( .B,9O)@'" $3'P 0 H@0QDP& !,?$ $ "DJ$ -M9N1![OO?)@@@#)"#T(4M0/KX2B[[SV< !;:YPV8R8 %K@RN ?KX; % -MHGH!+47Z^& !9@M? "!4OZ]& !8PM? "!4[Z]& !8 0+OKJ2<!Z6+"% -M9^AZ;["%9\!Z>+"%9]!@ 5D2H5L GH&2B[[TV8X(&[_Z"U0^N M: $^N10 -MKO_H2&[VV$AN^MA(;OK<( 52@"\ +R[ZY"\N^N!.N0 8?A/[P 88#8H;O;4 -M=A#6C"!N_^@HT%BN_^BYPV7R2&[VV$AN^MA(;OK<( 52@"\ 2&[VQ$ZY "( -M<$_O !0H0$JN^MAG"BU\ (%4?KT8!Y*+OO29PHM? "!5/Z]& .2B[[T&<( -M+7P @55^O0,+@ Y]MAO%DGN]MA![ !)@@@0TH09P SE*#8/1![OO4)@A* -M%&<$&!Q@ G@P($,0A%*#2H5F!DHN^\]G""!#$*[__U*#+47Z\& .2A1G$%.N -M^O @0Q"<4H-*KOKP;NQ)[OO4#"X ,/;89Q8J+OK<4X5J$$2%8 Q![O; *@AX -M!& X>@!(;O:^< P!2\ 3KD 'B04$]"+O;">&2ZA&W8#(4 /H; I![O:_ -M*@AX!6 (0>[VOBH(> 8M1/:X4X4H!4JN^MQN" PN ##VV&8$>BM@ GHM($00 -MA5.$+43Z["!$$*[ZZDHN^]%F!'H!8 )Z ! N^\Y)P,"%9P #O"\N^O1.N0 -M4)!83T'N^]0B Y*(T('0KOKPT*[VN"(&DH M0?KX8 #DDJ%; )Z!DHN^]-F -M-"!N_^@M4/K@+6@ !/KD4*[_Z$AN]MA(;OK82&[ZW"\%+R[ZY"\N^N!.N0 -M8LY/[P 88#(H;O:T=A#6C"!N_^@HT%BN_^BYPV7R2&[VV$AN^MA(;OK<+P5( -M;O;$3KD (E&3^\ %"A 2J[ZV&<*+7P @57^O1@'DHN^])G"BU\ (%6?KT -M8 Y*+OO09P@M? "!5OZ] PN #GVV&\62>[VV$'L $F""!#2A!G +64H-@ -M]$'N^]0F""@N^MQN"B!#$+P ,%*#8!9*%&8(($,0O P8 0@0Q"<4H-3A&;J -M2B[[SV8$2H5O""!#$*[__U*#* 4@!9"%+4#Z\& <4J[ZW$JN^MQO!$H49@@@ -M0Q"\ #!@!"!#$)Q2@U.$:N!*+OO19@8X? !8 *9S! N^\Y)P"(,P(%G(B\N -M^O1.N0 4)!83T'N^]0B Y*(T('0KOKP(@:2@"U!^OA)[OO48 ")$J%; 1Z -M!F &2H5F GH!2B[[TV8T(&[_Z"U0^N M: $^N10KO_H2&[VV! N^\])P"\ -M+P4O+OKD+R[ZX$ZY !EKD_O !1@,BAN]K!V$-:,(&[_Z"C06*[_Z+G#9?)( -M;O;8$"[[STG +P O!4AN]L1.N0 BCQ/[P 02>[VV PN "WVV&8,+7P @5= -M^O123& >2B[[TF<*+7P @5?^O1@#DHN^]!G""U\ (%8?KT$"[ZZDB 0?D -M @7="# 9RHF#& *($,,$ !E9PA2@R!#2A!F\"!##! 968$$+P 12!# -M2A!G$%*#8/8F#& "4H,@0TH09OA"KOKP2B[[T68$>@%@ GH $"[[SDG P(5G -M $.+R[Z]$ZY !0D%A/(@.2C-"!(@:2@"U!^OA@ #P(&[_Z" 0'4#[U%BN -M_^A)[OO40>P 28(8 U"!N_^@H4%BN_^A*A6H&*CQ_____2HQF!BAY (% -M)'@ 8 :XA6P(4H0=7/:O9O1*+OO19@1Z 6 ">@ 0+OO.2<# A6<(( :0A"U -M^OA33"8,F<1@?GH!+47_^&!V2>[ZZD'L $F"&!J($U231U0^NH0+OKJ2<!X -M>+"$8N!!^@ ^<A2P&%3)__QFTC [$@9.^P " G#Y>OK>_A[Y</F"^7KYBO]2 -M^7KZWORP_A[_UOEZ_];_POF"_V[Y>OF*>'5S;VYL:6AG9F5D8UA53TQ'140 -M $JN^O!L!'H 8 0J+OKP2J[Z^&P$> !@!"@N^O@O+OKT3KD %"06$\M0/:J -M+R[Z[$ZY !0D%A/G(6<@" #D(R<@)R$G*[VJDHN^]%F>F V4X=J+# K ! " -M@ (1G"B '1("PJP ,;18G2@ $2%-.N0 *6)83R1K 0N$U.'%/P (%*" -M4X9JQF \4X=J+# K ! "@ (1G"B '1("PJP ,;18G2@ $2%-.N0 *6)8 -M3R1K 0N$U.'(&[Z]!304H)2KOKT(&[Z]$H09KQ@-E.':BPP*P 0 H "$ -M9PH@!T2 L*L #&T6)TH !$A33KD "EB6$\D:P $+A-3AQ3\ #!2@E.N^OAJ -MQ+G#9'!3AVHL,"L $ * A&<*( =$@+"K QM%B=* 1(4TZY I8EA/ -M)&L !"X34X<4W%*"N<-ER& V4X=J+# K ! "@ (1G"B '1("PJP ,;18G -M2@ $2%-.N0 *6)83R1K 0N$U.'%/P ,%*"4Z[Z\&K$8#Q3AVHL,"L $ * -M A&<*( =$@+"K QM%B=* 1(4TZY I8EA/)&L !"X34X<@;OKL%-!2 -M@E*N^NP@;OKL2A!FO$HN^]%G/& V4X=J+# K ! "@ (1G"B '1("PJP , -M;18G2@ $2%-.N0 *6)83R1K 0N$U.'%/P (%*"4X9JQ@RN ?_X9A @ -M;O_H(%!8KO_H(()"KO_X'!UF /($)TH !":',"L $ * A&<P,"L $ @ -M )F')7K @O"DAX HO*P (3KD %*(3^\ #$J 9PI(4TZY I8EA/,"L -M$ @ 5G!'#_8 (@ DSN//SV@$Y>3G5.5O\<2-<\X$AX ,A"ITAN_SA.N0 -M4#A/[P ,>O]\ "AN A(> E2%1.N0 80A03RX 9P _E*'*$<O.0 "!3!( -M5$ZY !A6%!/+@ ,- D> !F$DA43KD %"P6$]3@"P 4H?9QWX ( ;E@$?V -M"2#_."\Y (%-$A43KD &%84$_9P"1,4DP0$DG <G.P@6)@0?H :G(*L!A4 -MR?_\9E(P.Q(&3OL O]Z !P )@ F "8 )@ F !8 . R "P !P !8*X !P " -M.GP 6 \.GP !& V.GP V P.GP !F J" < &<&.GP !V >.GP "& 8" < -M &?0.GP F ,<W!N;&=F94=%*B4 2H9M#G(RO(%L"":-NH9L BH&4H982P@' -M %G /[\"H< "8 #_0GX 2H5M4$ON_S@L+@ 0(D8BK@ ,2I5F$G(!*H%@ -M#%"N Q@*%BN Q@(B 54X!R!["!8A@P.PH&3OL O_H_^C_Z/_B_^+_Z/_H -M_^A2AUB&6$V^A6^X3.X\X/\<3EY.=4Y6_]Q(USSX)&X "'HR+ 4J;@ ,)BX -M$& ,NH-G #R6)52A5*&*$IX & "4H:Z@V< -A(> E2%1.N0 80A03RX -M9P Q%*'*$<O.0 "!3A(5$ZY !A6%!/+@ ,- D> !F$$A43KD %"P6$\L -M %*'V<>ZAF:R> %^ "\Y (%/$A43KD &%84$_9P"9,4DP0$TG <G.P@6)" -M0?H 2'(*L!A4R?_\9C0P.Q(&3OL O]V !P ) D "0 ) D !8 + @ " -M!P !8*X !P "6)5@' @' !0E6 4" < %B58 QS<&YL9V9E1T4J)0!2A5*& -M" < 6< _S *AP )@ /]V2H1G /\,2H1F /\23.X\^/_<3EY.=4Y6__1( -MUP# ?@!\ ")N A@%%*&WH<B!^6!WH$2&4G!WH%R,)Z!$!%(@$'Y (%W0@P -M ( &;:2H9G$@P1 "1F#"!N P@AU))( E@ G 3.X P/_T3EY.=2)O 0@ -M+P (;S)"@0@O !V<$$L%3@"! Y(A@ B+!4<C__$) 4X!D]" (" 6<" -M,L$( 9P(2P4YU B+P (9PX0 >&)$@#AB1( X8D2 ")O 0@+P ,;S ( -M+P =G!!+!4X @0.2(8 (BP5'(__Q"0%. 9/0@" @ %G C+!" &<" -M$L$@+P $3G4 (&\ !")(<O]*&5?)__QF /_X4XF3R" )3G4 !. -M5O_P2-< P")N AR ! 12< N $'Y (%W0@P )X &9$0?D @7="# W@ -M9Q9221 12< N &#H<@%221 12< N & .( =\*["&9^Y\+;"&9^9!^0 "!=T( -M, "> !F!' 8#)\,)R'8 [<AB &Y8#<@' PD(?<@%))$!%)P"X 0?D @7= -M"# G@ 9MQ*@68"1(8@!DSN ,#_\$Y>3G4 !.5O_\0?D @7=T>X -M"! 0<@/ @4Y>3G5.5O_\0?D @7=T>X "! 0<@' @4Y>3G5.5O_\0?D @7= -MT>X "! 0<@+ @4Y>3G5.5O_\0?D @7=T>X "! 0<@3 @4Y>3G5.5O_\0?D -M @7=T>X "! 0<D# @4Y>3G5.5O_\0?D @7=T>X "! 0<@C @4Y>3G5.5O_\ -M0?D @7=T>X "! 0<A# @4Y>3G5.5O_\0?D @7=T>X "! 0<@? @4Y>3G5. -M5O_\0?D @7=T>X "! 0 H "73EY.=4Y6__Q!^0 "!=W1[@ ($!!R%\"! -M3EY.=4Y6__Q!^0 "!=W1[@ ($!!R(,"!3EY.=4Y6__QP RN ?P (4\!$ -M $Y>3G5.5O_\("X "')_P(%.7DYU3E;_\$C7 , @;@ ($BX #RXN !!3AVL, -M'!B\ 6;V4T@@"& "< !,[@# __!.7DYU3E;]O$C7 /!*.0 "LM!F!DZY !@ -MDB@N @J+@ ,9@ $ DJ$9@ EG@ ?@ L/ "LM J/ "LM\O!2\&3KD &$H -M4$]*@&824H=R#]J!W(%R!KZ!;>)*A&=82'D K+02'D J[$3KD (OX4$]^ -M#P:' *RT"P\ *S.4AY ((5$AY *NQ$ZY "+T%!/+P=(>0 "KL1.N0 -MB]!03WH/WH6^AF74(#P J[$8 #GB \ *RT& Y0@!"( Z8%$@-"!!H -M K+!8 #@$AX "\O!4ZY !A"%!/2H!G $V+P5.N0 4)!83WYXL(=N ,8 -M+P5(>0 "KL1.N0 B_A03RX\ *NQ'P 2'D @A6+P=.N0 89!03RX 9@ -MMG 8 #)B\'2'@ 4ZY !2N%!/2H!F "Z< !@ ,,+P=(> "3KD %*X -M4$]*@&8 *!P & O(O!TAX -.N0 4KA03TJ 9@ AG 8 "V"\'2'@ -M!$ZY !2N%!/2H!F;' 8 "P"\'2'@ !4ZY !2N%!/2H!F5' 8 "J"\' -M2'@ !DZY !2N%!/2H!F/' 8 "D"\'2'@ !TZY !2N%!/2H!F)' 8 " -M>" &<@:P@6(6,#L*!D[[ +_0O]<_W;_D/^H_\#_V'X 4H9R![R!;0#_#DAY -M ((6$*G3KD &&04$]*@&8 .)(>0 "LM!(;OW\+P5.N0 5Q!/[P ,/@!M -M ':2D=G,$AX 0%(;OW\2'D @7<3KD (M 3^\ #$AX 0%(;O[]2'D @< -M3KD (M 3^\ #$J$9@ !UDAY *RWTAN_<PO!4ZY !7<D_O PN &=P($=* -M$&=$2KD @A(9PXO.0 ""$A.N0 ,!Y83R/' ((2$AX #!![OW,3^__T")/ -M,#P "R+84<C__"\Y ((1$ZY "+0$_O #A*A&8 6Q(>0 "LNXO!4AX -( -M>0 ""%I.N0 6Y9/[P 0/@!L!G 8 !4DI'9PQ(QR\'3KD #AV6$]*A&8 -M 3!(>0 "LOU(;OW,+P5.N0 6&1/[P ,+@!G #>($=*$&<T2KD @A,9PXO -M.0 ""$Q.N0 ,!Y83R/' ((3$AX #!(;OW,+SD @A$3KD (M 3^\ #$J$ -M9@ U$AY *S#"\%2'@ !4AY ((8DZY !;ED_O ! ^ &P,0GD @@2< !@ -M "T2D=G$D)Y (($DC'+P=.N0 .'983TJ$9@ C$AY *S&R\%2'@ !DAY -M ((:TZY !;ED_O ! ^ &TT2D=G#$C'+P=.N0 .'983TJ$9E9(>0 "LRHO -M!4AX =(>0 ""'9.N0 6Y9/[P 0/@!L!' 8#Y*1V<N2,<O!TZY X=EA/ -M8" @!'X'L(=B&# ["@9.^P "_)[]YOX\_J;^XO\^_X;_ND*G+P1.N0 4KA0 -M3TSN /#]O$Y>3G5.5O_\+H<O+@ 0+RX "$AX %(>0 ""().N0 6Y9/[P 0 -M+@!O,DAX @(O+@ ,+P=.N0 BI9/[P ,#( ("9PPO!TZY X=EA/?O\O -M!TZY X=EA/( <N+O_\3EY.=4Y6_[1(UR#@+RX $"\N A(> "2'D @B+ -M3KD %N63^\ $"H ;0 ODJ%9@H@/ "")9@ "R2&[_Q"\%3KD #B&4$]* -M@&8 )P@+O_45( O $ZY O"%A/+@!G "&+R[_U"\'+P5.N0 BI9/[P , -ML*[_U&9B*FX #"P'W*[_U"!&$+P "E*&($9"$$A5+P=.N0 6C)03RP 9S)( -M;0 $+P9.N0 6C)03RP 9R!(;0 (+P9.N0 6FA03TJ 9PXO!4ZY X=EA/ -M( =@%B\%3KD #AV6$\O!TZY P'EA/< !,[B#@_[1.7DYU3E;_M$C7(. O -M+@ 0+RX "$AX 1(>0 "")=.N0 6Y9/[P 0+ !M &:2H9F"B \ ((HV -M 8Y(;O_$+P9.N0 .(903TJ 9@ !>" N_]14@"\ 3KD "\(6$\J &< 6(O -M+O_4+P4O!DZY "*ED_O RPKO_49@ !/BIN PN!=ZN_]0@1Q"\ I2AR!' -M0A!(;0 ,+P5.N0 6C)03RX 9P !"DAM ! O!TZY !:,E!/+@!G #V2&T -M%"\'3KD %HR4$\N &< .)(;0 8+P=.N0 6C)03RX 9P SDAM !PO!TZY -M !::%!/+@!G "Z2&T ("\'3KD %HR4$\N &< *9(;0 D+P=.N0 6C)0 -M3RX 9P DDAM "DO!TZY !:N%!/+@!G?DAM "HO!TZY !;'%!/+@!G;$AM -M "LO!TZY !;'%!/+@!G6DAM "PO!TZY !;'%!/+@!G2$AM "TO!TZY !; -M'%!/+@!G-DAM "XO!TZY !:N%!/+@!G)$AM "\O!TZY !:N%!/2H!G$B\& -M3KD #AV6$\@/ "LOU@%B\&3KD #AV6$\O!4ZY P'EA/< !,[B#@_[1. -M7DYU3E;__"Z'+BX ""!N P@ATAX HO!TZY !A"%!/+@!F!' 8 @@1T(0 -M4H<@!RXN__Q.7DYU3E;_^"Z'(FX "$H19PP@;@ ,((E@(DJ'9@1P & J<C"^ -M@6T.<CF^@6X(<C">@1*'8 02O !_4DD0$4G +@!R"KZ!9M)"&2 )+B[_^$Y> -M3G5.5O_T2-< P")N A*$6<@#!$ "F8*(&X #!"\ ']@-GP 8"!R,+Z!;09R -M.;Z!;P1P & FW(8B!N6!W('<AWXPG(=221 12< N '(*OH%FU"!N P0AD(9 -M( E,[@# __1.7DYU3E;_]"Z-*FX "$H59UP@;@ ,#!4 "F80$+P ?V!0$+P -M 6! 0A!@/")-4DT0$4G <D:P@6?N<DZP@6?H<E2P@6?<<EFP@6?6<F:P@6?6 -M<FZP@6?0<G2P@6?$<GFP@6>^< !@#@P5 IG!' 8 1"'2 -*F[_]$Y>3G5. -M5OO<2-<@P"IN @N+@ 0($=*$&9J2%5.N0 C'!83RX 9P8@1TH09E9(>0 " -M"*1.N0 C'!83RX 9P8@1TH09CY*.0 "KK1F,$AY ((J4ZY ",<%A/+@!G -M!B!'2A!F"$AY ((M& "+P=(>0 "KK1.N0 B_A03RX\ *NM" N PB .F! -M1(#0@0: *RP2\ +P=.N0 82A03TJ 9A0O!R\N !1.N0 B_A03W 8 ! -MR"\'3KD %"06$]\#K"&;P9P_V ;)(>0 ""+9(;OP 3KD (OX4$](54AN -M_ !.N0 B]!03TAY ((PTAN_ !.N0 B]!03R\'2&[\ $ZY "+T%!/0J=( -M;OP 3KD (LV4$\L &Q<#+D " ( 1&902'D @C%2&[\ $ZY "+^%!/ -M2%5(;OP 3KD (O04$](>0 ""-Q(;OP 3KD (O04$\O!TAN_ !.N0 B]!0 -M3T*G2&[\ $ZY "+-E!/+ !*AFT.+P<O+@ 43KD (OX4$\,K@ $ #&8 -M .1(>0 ""-Y(;OP 3KD (O04$]"ITAN_ !.N0 BS903RX <O^^@68*3KD -M &!.8 LDAX !A(;OOH+P=.N0 BI9/[P ,<ABP@6<63KD &!.+P=.N0 -M.'983W#_8 A$AN^^A(>0 "!N1.N0 B_A03R/N^_@ @;T2KD @;X9PXO -M.0 "!OA.N0 ,!Y83TJN^_QO5B\N^_Q.N0 +PA83RI +R[[_$A5+P=.N0 -MBI9/[P ,L*[[_&<4+P=.N0 .'983TZY !@3G#_8!(CS0 "!O@O!TZY X -M=EA/( 9,[B# ^]Q.7DYU0KD @;X+P=.N0 .'983TZY !@3G#_8-Q.5O_\ -M(#D @A$3EY.=4Y6__!(UR# +#P @CB+CP @EH*GP @F]2KD @@"9@ ! -MV$AX +!.N0 +PA83R/ (( DJY (( F=Z+P9.N0 4)!83U* +P!.N0 -M+PA83R/ ((!F=<+P8O.0 "" 9.N0 B_A03R\'3KD %"06$]2@"\ 3KD -M "\(6$\CP "" IG+B\'+SD @@*3KD (OX4$](54ZY !0D%A/4H O $ZY -M O"%A/(\ @@.9@9P & 41(52\Y ((#DZY "+^%!/+#D @@&?@ @ -M>0 "" )(<'0 +P9.N0 6C)03RP 4D<,1P ,;>)^ "!Y (( DAP=# O!DZY -M !:,E!/+ !21PQ' QMXBPY (("GX ('D @@"2'!T8"\&3KD %HR4$\L -M %)'#$< !VWB?@ @>0 "" )(<'1\+P9.N0 6C)03RP 4D<,1P ';>(L.0 " -M" X@.0 "" (&@ )@O "\&3KD %HR4$\L " Y (( @: G"\ +P9. -MN0 6C)03RP (#D @@"!H "@+P O!DZY !:,E!/+ @.0 "" (&@ -M *0O "\&3KD %HR4$\L " Y (( @: J"\ +P9.N0 6C)03RP (#D -M @@"!H "L+P O!DZY !:,E!/(#D @@"3.X@P/_P3EY.=4Y6 !(>0 " -MKK1(>0 "!N1.N0 B_A03T*Y (&]$JY (&^&<.+SD @;X3KD # >6$]" -MN0 "!OA"N0 "!OQ.7DYU3E;__"Z'?@!(>0 ""?8P!TC (@#I@42 T($&@ " -MLM O $ZY "+^%!/4D<,1P ';=9(>0 ""?A(>0 "!N1.N0 B_A03TAY (* -M $AY *RP$ZY "+^%!/(_P @H" *RL"/\ (*!@ "LK0N+O_\3EY.=4Y6 -M__0@;@ ($BX #[(09@0@"& &2AAF]' 3EY.=0 3E;_]"Z'(&X #")N @> -M&+X19@A*&6;V< !@"A 12< 2($G!D($N+O_T3EY.=0 3E;_]"Z-(FX ""!N -M Q@%BI(8 @0%; 19P9234H59O1*%6<&4DE*$6;FD^X "" )*F[_]$Y>3G5. -M5O_X2-<@@"XN AF!BXY *O1$J'9Q8O+@ ,+P=.N0 85A03]"'*D!*%68$ -M< !@*"\N Q(54ZY "-"%!/+@!F"$*Y *O1& ,($="$%*'(\< J]$( U, -M[B" __A.7DYU $Y6_<A(US#@+"X $"UY *S//_T?@$M1__X+4;__$AN -M_=Q(;OW@2&[_]$AN A.N0 <E8@;@ 8(*[]Y"IN !0J+@ <("[]X'X%L(=B -M?# ["@9.^P " "X # , $8 6 !8("[]Z-"&*H!*AF]62^[]["A%0?9I(/WL -M+@@8W;O'9?I@0'X!*H=*AF\X*D4H1MG%&OP ,+O,9?A@*$*5+CD @H@<@B\ -M@6T,? A@"D*5+CD @H<? ,J1RA%WH88W;O'9?H@14(P: @!4SN,.#]R$Y> -M3G5.5OW(2-<@\"HN ! M>0 "LSS_]$*N__@M1?_\2&[]W$AN_>!(;O_T2&X -M"$ZY !R5B!N !@@KOWD*"X '"XN !0@+OW@? 6PAF( +(P.PH&3OL @!$ -M P # !R (8 ADJ%;0P@1R N__"0A2" 8 8@1R"N__!^ $ON_>PL!& (($80 -MG5*'4H:^KO_P;?(@1-'N__!"$&!D($="D"!$$+P ,#I\ &ZC6\6?@'>A-J$ -M+ 4@1Q"\ #!235*'OH9E\D(U2 !@-B!'0I L.0 ""B!^"+J';0YZ"& ,($=" -MD"PY (*''H#+@8J1-R%($<:T%*'OH9E]B!$0C!8 " $3.X@\/W(3EY.=4Y6 -M_^!(USS@*&X #"XN !1.N0 7C8@0"!0'! J1TJL 1G & ($<0O M4H<J -M1V 7(:_ P2H5G &.&L:9S%-*+@JYQVP 8 :_ P4DQ@\GX(M<=L""AY -M (*.& .*'D @HT8 8H>0 ""CQ*%&< 58:W&#V2JP "&X.( I6@$2 L*P -M"&\ )H:[ ,&L8V? !?@%@!AK24DM2AT7T> Q*$F;R2H5F# PE #!G^KP5 -M9P)231K\ &4H; (V<M33$J,:P8:_ K8 H:_ M( Q$@"A 2&[__' , PO -M $ZY !XD%!/?@!)[O_\8 12AU),#!0 ,&?V? *^AF\$?@)@"'P#OH9N "\ -M2?9X_$'N__Q62"X(&MRYQV/Z8 IG !D(JPK (;C9^ "9'8 @:]+@,4H=2 -M2R *T*P "+Z ;>X:QB9'2C2X#&= OHIL/"X+)DH:]'@,4H>^BVWV8"P:_ P -M&L9^ & &&OP ,%*'("P "-"*1("^@&WN?@!@!!K34H=']'@,2A-F]$J%9C0, -M)0 P9_J\%6<J4DU@)B1N @J+@ 0(!1^!;"'8@#^QC ["@9.^P "_G;^O/Z\ -M_I;^K/ZL0A5,[CS@_^!.7DYU3E;]W"UY *S//_T<@$M0?_X+6X $/_\2&[] -MW$AN_>!(;O_T2&X "$ZY !R5D_O ! O+@ 8+RX %$AN_> O+@ 03KD &/8 -M("X &$Y>3G5.5O_\+RX %$*G+RX $"\N PO+@ (3KD &6N3EY.=0 3E;_ -M\$C7(, J;@ ,+"X &!XN !<,!P P9@9*AF< ,XB;@ 0<@&#D2!N @@$'(# -ML(%B7C ["@9.^P " @ L !0 $@,!P U;0 H@P' #5N0$J&9CQ*K0(0;P -MD$'M P@+0(0$# (_TG ?C"0AW(!2H!L"$2 P(%$@& "P(%*@& ,2JT !&9B -M8 9*K0 $9UHN+0(04X<L!V ,2H=M$A*\ #!3AU.&0_5H# P1 #EGZDJ';092 -M-7@,8$(;? Q P@;@ (#*@ ! 1F!E*M A@*$JM A!O"B M A ;O P -M" Q2K0(08!)*K0(0;@P;? P Q^ 2M' A @+0(00C4(#$SN(,#_\$Y>3G5. -M5OLL2-<XP#U\ 0#]^#U\ 0#[\$AN^^Q(;OWX+RX "$ZY !^BD_O Q*KOOL -M:B!(;OOJ("[[[$2 H /__+P!(;OWX3KD 'RV3^\ #$AN^_!(;OWX3KD -M '_*4$]*KOOL;@I![OOP+4C[Y&!T2&[[Y"\N PO+OOL2'@ DAN^_!.N0 -M@3)/[P 4("[[Y&<H?@&PAV9*+R[[[$AY (*7$AN^Y1.N0 BO!/[P ,2&[[ -ME$AX ")@("\N^^Q(>0 ""G%(;OM$3KD (KP3^\ #$AN^T1(> ,3KD (#N -M4$](;OM (&[[Y' ,"@ D'P"@9P # H__XO $ZY !XD%!/?@!+[OM 8 12 -MAU)-#!4 ,&?V)FX $)O-? .^AFX>0?9Y(/M +@@H2T'N^T!62"P(($<8T%*' -M4DV^AF/T(&[[Y' ,"@ E6 +@!M)N.'0?/8 "P(+P8@;OOD< P,'@&+P!. -MN0 >)!03UA-6(95AVKB0C/8 "!N !@@C2!N^^0P* $2, @;@ 4((!![OOP -M("[[Y+"(9PHO $ZY " TEA/3.XXP/LL3EY.=4Y6^R1(UR#\*FX %"HN ! L -M+@ ,+BX ""!N !A"D"!'2J@ !&8T?@ H#6 *($00O P4H=2A+Z%8_)!]7@ -M*@A@"B!%$+P ,%*'4H6^AF/R(&X '""'8 "=CU\ 0#]^#U\ 0#[\$AN^^Q( -M;OWX+P=.N0 ?HI/[P ,/6[[[OW\=!&4KOOL<@ R+OWZZ8F4@4P\( ( $T1 -M<A#BJM2&M(5D B0%+@6\AV,"+@9,/'@' -2:@:' :DU'(0XJ=2AT2'2&[[ -MZ"\'+P)(> *2&[]^$ZY "!,D_O !0@+OOH9R9^ ;"'9D8O DAY (*ADAN -M^YA.N0 BO!/[P ,2&[[F$AX ")@'B\"2'D @J<2&[[2$ZY "*\$_O Q( -M;OM(2'@ #$ZY " [E!/(&[[Z QH__ !&YV,"@ !$C 1(!J!'X/T(?H@"@ -M?@!\ & .(&[[Z$IP: 9F"%*'5(:^A&WNOH1L"B!N^^@ < !2@8N!"P$XX8J -M!..%( :0A2H 8! @;OOH,;!H!E@&4H=4A52&(&[[Z' ,"@ KZ 9>*9: " -M(&[[Z.F$V6@ !"!N^^A*: $;#!(;OM&,"@ !$C 1( "@ __\O "\(3KD -M 'RV3^\ #$IN^T9G"B!N^^@ : ! 9(;OOP+R[[Z$ZY !_RE!/?@ ^+OOR -M4X<L!^.&0?9I(/OV+ A@!%.'588@1DI09_9(;OM < P-GL@^_8O $ZY !X -MD%!/>@!![OM + A@!%*%4H8@1@P0 #!G]'P > .ZA&XB0?99(/M *@@H#4'N -M^T!62"8(($0B11"14H52AE*$NH-C\%.':S+CAT'V>2#[]BX(0?5H "H(0>[[ -M]B@(+P4@1W ,! O $ZY !XD%!/6(98A56'OH1DY$(U: @;@ <((8@;@ 8 -ME(8@@D'N_?@@+OOHL(AG"B\ 3KD (#26$],[B#\^R1.7DYU3E;J0$C7./PF -M;@ 0+BX "'8P0J[__"!')U !":H 0,J ( !&<,#*@ ! 1F 9> -M*&X # RL " (;!0,K $ !&86#*P ! AL#"!N !1^"(^08 & -M,$'N_]PB1S \ <@V5'(__Q![O_<0^[_O# \ <BV%'(__P,KO______Y&X( -M0J[_X& 2P,K@ )__Y&T(0J[_P& -X@+O_D<A]*@&P(1(# @42 8 + -M@7X?L(=F1" N_^12@&H"T(?J@"P ?@!+[O_(8 1"G5*'OH9E^'P%OH9L "2 -MY8=!]GCH+@A![O_H0>@ %"P(($="D%B'OH9E]F!R("[_Y%* :@1^']"'ZH L -M 'X 2^[_R& $0IU2A[Z&9?@@+O_D<A]*@&P(1(# @42 8 + @7(?DH!P >.@ -M4X N!N6'P;9XR$: P;9XZ%*&+@9\!;Z&;!SEAT'V>.@N"$'N_^A!Z 4+ @@ -M1T*06(>^AF7V2&[_O$ZY !S:%A/2J[_X&<V#*P ! 1F""XL A2AV & -M+CP !-$2&[L<$AN['1(;NQX+P=(;O_<3KD &<P3^\ %& (0J[L<$*N['0D -M+NQPU*[L='@ 2JP !&8&2JP "&P4#*P ! 1F:B L A2@+"";V ,K -M $ !&8:+BP "%2'GH(,AP @!C!BX\ " 'P!8!9^ "PL A4A@R& " -M &,&+#P ( 2&[J:$ANZFQ(;NIP+P8O!TAN_[Q.N0 :.)/[P 8*"[J;-BN -MZF@,K $ !&8 @ J+NQPNJP "&\$*BP "'X 2H5O'$OK Q![NQX+ A! -M[NQXVH@@1AK04H=2AKR%9?0J;NQPV^[L=+OL AO!"IL B^C6P80>L #"P' -MW(C;R"!&$+P ,%*'4H:\C67ROJP "&8 *0G1P(0( *0AR= B^@FQ,OJ[L -M<&0*%C9Y(.QX4H=@ G8P0?9Y(.QX+ A@"KZN['!D#%*'4H8@1@P0 #!G[KZN -M['!D!GX!+4?__$JN_\!G $N?@$M1__\8 !)$JN_\!G $<2J[J;&\&=C!\ -M & &%B[J<'P!+@9!]FD@ZG L"& (OH1L#%*'4H8@1@P0 #!G\+Z$; Z'X! -M+4?__& -XJ+ (FH=*AV8>? !+[NIP8 12AE)-#!4 ,&?VVH;:KNILW*[J -M;& "? "ZA&\"*@0@!42 )T "+JNZFQO!B@NZFQ@ B@%O(1L$DOK S;QQK\ -M #!2AU*&O(1M]+R%;!I+ZP ,V\<@!I"NZFP:]@D@ZG!2AU*&O(5M[)RNZFR\ -MKNIH;#I*AFP$=C!@!A8V:2#J<%*&:@)\ $OV:2#J<& *O*[J:&P*4H9230P5 -M #!G\+RNZFAL(GP!+4;__& :0>L #"P(W(=@"B!&$+P ,%*'4H:^K (;? G -M1P(0+R[__$G#+P,O+@ 42%-(5$ZY !F(& C9*K (;0 !'B "T*P " R -M " &P ^^1^ $OK Q![NQX+ A@""!&&M!2AU*&OJ[L<&7ROH)L&DOK Q! -M]7@ + C;PB!&$+P ,%*'4H:\C67R*@2XK (;P0J+ (NJ[J;&\&*"[J;& " -M* 5\ $J$;Q)+ZP ,V\<:_ P4H=2AKR$;?2\A6P:2^L #-O'( :0KNIL&O8) -M(.IP4H=2AKR%;>Q+ZP ,V\=@"!K\ #!2AU*&O*P "&WR)T<"$)2')T( ")RN -MZFPN!KZNZFAL/$J'; 1V,& &%C9Y(.IP4H=J GX 0?9Y(.IP+ A@"KZNZFAL -M#%*'4H8@1@P0 #!G[KZNZFAL!GX!+4?__"\N__Q)PR\#+RX %$A32%1.N0 -M9B!@ $2+"P "$2&#(( ( ; #ZR R& " &P ^KZTAFXZM(9F"!8N['A^ -M 6 $=C!^ $OV>2#L>& *OJ[L<&0*4H=230P5 #!G\+ZN['!D!GX!+4?__$*K -M A!@;GX 0>L #"@&2^[L>"H(8 @@11"=4H=2A2 N['"0A+Z 9>Y^ $OK R4 -MABH"8 8:_ P4H>^A6WV)T<"$+ZN['!D+!8V>2#L>%*'2_9Y(.QX8 J^KNQP -M9 I2AU)-#!4 ,&?POJ[L<&0&?@$M1__\2J[_P&<&?@$M1__\+R[__$G#+P,O -M+@ 42%-(5$ZY !F("XK A!)ZP ,V<=@!AC\ #!2AR K A#0AKZ ;?!"JP ( -M)T<"$$(S> Q,[CC\ZD!.7DYU3E;_U"Z-*FX $"!N !1"D"!N @M4/_X+6@ -M!/_\Z>X ?_X*T !"\N A.N0 =,!83RJ (!5R!;"!8A0P.PH&3OL @ P -M P # P # ,$AN__A(;O_83KD '5X4$\O+@ 42%4O+@ ,2&[_V$ZY !K -MNBIN_]1.7DYU3E;_O$C7., H;@ ((&X %$*0?@!+[O_P0>[_\$'H ! L""KT -M> !8A[O&9?9@%# ["@9.^P " % +@ N % 4 !0)FX $.GN '_\"= 1( -M5$ZY !VHEA/)H @$WX%L(=CRDA42&[_T$ZY !W1%!/+RX %$A3+RX #$AN -M_]!.N0 :[I,[CC _[Q.7DYU $Y6_]A(UP#X(&X " RH @ $9@ ! -M(GX 8 @,1P %9 Q21W , =*L P,9^X,1P %90A"J $8 _DI'9UI"KO_\ -M>@ Z!W@%F(63R6 .W(4AL&P,F Q2KO_\6$DL+O_\O(1EZ@RN !?_\;!SE -MABU&__0@+O_T0K (#%BN__0,K@ !3_]&WJ< P!^N(D:@ "& "4D=P # ' -M<@22@")!2K"<#&?N0F[_^BXH P,AP __]B"' 0X:\]0/_Z#(< ____8@;A -MCU!N__H,AP____]B!NF/6&[_^@R'/____V(&Y8]4;O_Z#(=_____8@12;O_Z -M< P+O_ZD:@ " QN '_^F4N? !*B6TH< P+O_Z=B"6@"X)Y8=#\'@,*A$R -M+O_ZXZTH$>:LC(4BABP$68=JYDSN /C_V$Y>3G5.5@ < $R+@ *XZ"!N0 " -MLT1.7DYU3E;_]"!N @M4/_X+6@ !/_\,"[_^ ) ?_!F&B N__@"@ /__]F -M"DJN__QF!' 8$1P 6! ,"[_^ ) ?_ ,0'_P9C @+O_X H #___9@I*KO_\ -M9@1P V <("[_^ * ___PR 0 &4$< 1@!G %8 )P DY>3G5.5O_D2-< -M\'P (BX #" N A^#-"'>""8@3!\ !#1P"X0XZ\J$.BMC(<@ABP%64BQP&3L -M3.X \/_D3EY.=4Y6__!(UR" *FX ""!N PM4/_X+6@ !/_\Z>X ?_X*H K -M;O_\ !!^"$*U> Q8AW(4OH%M]# N__@"0'_P9VPP+O_X D!_\ Q ?_!G "2 -MZ>X 2__X!( /_*T "'X"*T< !" N__@"@ /__\ @ 0 K0 ,2'@ -M"TA53KD '4Z4$]@&$JN__QF7'X#*T< !& *2J[__&8:0JT !$SN((#_\$Y> -M3G4@+O_X H #___9^!^ BM' 0K?/___ T "" N__@"@ /__\K0 ,2%5. -MN0 <VA83V#"("[_^ * ___V>>("[_^ * ___P@ !-G"'X$*T< !& 2 -M?@0K1P $2'@ !$ZY !TJEA/("[_^ * ___P" @ & _TY.5O_@2-< -MP")N A\ $'N__ N"$'N__!!Z 0(@@@1R"Q: !8AEB'OH%E\C N__ "0'__ -M9THP+O_P D!__PQ ?_]G1G "8"YP!& J2J[_]&8^2J[_^&8X2J[__&8R< -@ -M%$JN__1F'DJN__AF&$JN__QF$G 3.X P/_@3EY.=4IN__)GW' !8.Q*;O_R -M9[QP # N__(,@ @ !DJG %8-1.5O_<2-<PX"AN Q\ $'N__ N"$'N__!! -MZ 0*@@@1R"T: !8AEB'OH5E\BIN CI[@ !__ J@"MN__0 $"MN__@ %"MN -M__P &'X00K5X#%B'?!2^AFWT,"[_\ ) ?_]G8# N__ "0'__#$!__V< (IP -M # N__ "0'__!( #__*T "'X"*T< !' ,"[_\@" $ "M Q(> / -M2%5.N0 =3I03V ,?@,K1P $8 1"K0 $3.XPX/_<3EY.=7 ,"[_\H"N__2 -MKO_X@*[__&?>?@(K1P $*WS__\ 1 AP # N__(K0 ,2%5.N0 <VA83V"^ -M< P+O_R@*[_]("N__B KO_\9YX(+@ '__)G"'X$*T< !& 2?@0K1P $2'@ -M!$ZY !TJEA/< P+O_R $" "M Q(> 08 #_7 $Y6__1(UP# -M? ,@;@ ,/BX "G , <N $Q\ $ *<##2@!&!8 !,?' ' "E'._^!, -M[@# __1.7DYU3E;_W$C7./Q\ '@ >@ H;@ 0=@ V+@ *) -3@BIN Q@,"\& -M( *0AS T"@ "@ __\O ' ,!4O $ZY !Y^$_O PN +Z&9 )21"P'4H54 -M32X%OH-ERB9N !0P//__P$8V@'(0XJXW1@ "-T0 !$SN./S_W$Y>3G5.5O_< -M2-<X_'X > !\ "AN !!V #8N HD U."*FX #& X+P<@ I"%,#0* * #_ -M_R\ < P%2\ 3KD 'GX3^\ #"X #(>RT%X 90A21 2'LM!> %*&5$TJ!KJ# -M9<(F;@ 4( =,? ! G$#:!3'QP!P )Q @!TQ\ $ "<0-T$ DQ\< < -M "<0< P!$2 Y8@B -*!T('0AS= 1,[CC\_]Q.7DYU $Y6__PP+@ * -MP.X #M"N !!.7DYU3E;_^$C7 (1^ #XN K>K@ ,( =,? G$'(0XZA, -M?' " G$(""3.X A/_X3EY.=4Y6__@NARXN AG&"!N QP # 0WH P//__ -MP$<PP'(0XJ]F["XN__A.7DYU3E;_^$C7(( N+@ (9R0J;@ ,+P=P # 5+P!. -MN0 >@Q03RX ,#S__\!'.L!R$.*O9N!,[B" __A.7DYU3E;_^$C7 (0P+@ * -MP.X #M"N ! N $Q\ "<0<A#CJ$Q\< ( "<0@(),[@"$__A.7DYU3E;_ -M_# N K [@ .3EY.=4Y6__A(UP"$,"X "L#N XN $Q\ "<0<A#CJ$Q\ -M< ( "<0@(),[@"$__A.7DYU3E;_^$C7 (0^+@ .< P+@ *[ZC0K@ 0+@!, -M? G$'(0XZA,?' " G$(""3.X A/_X3EY.=4Y6__PP+@ *P/PG$-"N -M Q.7DYU3E;_^$C7 (1^ #XN IR$..OWJX #" '3'P )Q!R$..H3'QP -M @ )Q" @DSN (3_^$Y>3G5.5O_X2-< A"XN @@!TQ\ "<0<A#CJ$Q\ -M< ( "<0@(),[@"$__A.7DYU3E;_Y$C7,/ H;@ (."P GX ? !+[ &>@ Z -M+@ .< P!"@ 8"0O!R\%< P%2\ 3KD 'L@3^\ #"X ,#S__\!'.L!R$.*G -M4H:\A&782H=G)DOL 8J!N.%V\4O!TZY ![IEA/+@ P//__P$<ZP%*&<A#B -MIV;D.48 DSN,/#_Y$Y>3G5.5O_D2-< ^"!N @^* ">@!\ #8N Y#Z & -M> X!V 8?@ ^$>>OWH4P//__P$<RP'(0XJ\J!U*&O(1EY$J%9PPP//__P$4Q -M@&H&4H8Q1@ "3.X ^/_D3EY.=4Y6_^A(UP#T(FX "'P >@ Z*0 "4X5K.%Q) -M+@EP # N YX$)B XX7:AR)%*@=^ #X1Z:]T$.6NWH8@!W(0XJ@R@ *' #_ -M_RP'54FSQ63>(&X $#"&3.X ]/_H3EY.=4Y6_^A(US#@?@!\ "AN A+[ & -M>@ Z+@ .8"0O!R\%< P%2\ 3KD 'JH3^\ #"X ,#S__\!'.L!R$.*G4H9P -M # L *\@&722H=G)DOL 8J!N.%V\4O!TZY ![IEA/+@ P//__P$<ZP%*& -M<A#BIV;D.48 DSN,.#_Z$Y>3G5.5O_D2-<P^"AN @^+ "? J+@ 02^P -M!G@ ."X #G8 -@=@)"\%+P1P # 5+P!.N0 >?A/[P ,*@ P//__P$4ZP'(0 -MXJU2AKR#9=A*A6<,,#S__\!%.8!J!E*&.48 DSN,/C_Y$Y>3G5.5O_D2-<P -M\"AN @X+ "?@!\ $OL 9Z #HN YP # $* !@)"\'+P5P # 5+P!.N0 -M>R!/[P ,+@ P//__P$<ZP'(0XJ]2AKR$9=A*AV<F2^P !BH&XX7;Q2\'3KD -M 'NF6$\N # \___ 1SK 4H9R$.*O9N0Y1@ "3.XP\/_D3EY.=4Y6_]A(USC -M?@,B;@ (2^D #'P,+4;__-O&8 13AUE-2I5G^"9N Q*AVU 0>D #$*N__0@ -M!^. D*[_]"U __@J2"P'Y8;<B" N__A)\PH&(!4"@ __\X@" =<A#BJ#E -M )5KO_XN\9CW..'5(<W1P "2FL !F8H.'P 3I\ )@#D'K 8QL]@&V/Y2 -M3%1-( QR #(K *P@67F4VL B I A2@'( ,BL NF)D($@;@ 0((!":P $ -M3.XXP/_83EY.=4Y6_^Q(US#@? H;@ (+BX #$OL 9@("\'< P%2\ 3KD -M 'MN4$\N # \___ 1SK <A#BKU*&< P+ "O(!EUDJ'9R9+[ &*@;CA=O% -M+P=.N0 >Z983RX ,#S__\!'.L!2AG(0XJ]FY#E& ),[C#@_^Q.7DYU3E;_ -M\$C7,, H;@ (*FX #$'L 8L"' ,"P B!&,# *_@* #__X#\)Q!(0#M -M 9P # L (R+0 &LG *_F8(.WP 0 "8" [? " )P # L (@1C P"OX" -M@ __^ _"<0.T "'X /BP E6':QSCA]Z&($=P # 0+P!(54ZY !_4%!/ -M58>^AF3H?@!@$$*G2%5.N0 ?U!03WP0WH8P+ $2,!\$)"&OH!OXC L 1( -MP+"';QHP+ $2,"0AP* #__R\ 2%5.N0 >]103T)M 1,[C# __!.7DYU -M !.5O_P,"X $G( 2D!G$"!N PB;@ (,MA20;) 9?A.7DYU3E;__"Z-*FX -M"$A53KD # >6$\J;O_\3EY.=4Y6_V C[@ ( ( 1"\N Q(> O2'D @K> -M2'D @JT2&[_8$ZY "*\$_O !1(;O]@3KD (S@6$].N0 C!!.7DYU3E;_ -M:$C7//PJ;@ (*"X %$)N__XM3?_X2H1M"G[_+4?_]& /1$A$*N__1@ #J -M/7P "O_R/7D G9._^P]>0 "BM#_[CUY (PSO_P+7P G90_^ M? "BM+_ -MY"U\ (PT/_H0J[_U$*N_]A"KO_<+7P G9V_\@M? "H=;_S"U\ )V"/_0 -M( 12@&H"5H#D@%2 /4#_QF ) ]? "__(]>0 "=BS_[#UY )VFO_N/7D -M @M4__ M? "=B[_X"U\ )VG/_D+7P @M6_^@M? "=CC_R"U\ *)8O_, -M+7P C"0_] M? "=D3_U"U\ **&O_8+7P C"P_]P@!%* :@1^#]"'Z(!4 -M@#U _\9@%" N Q^ K"'9P#_#GX*L(=G /]T+"X $$'N_^PN"$'N_[@J"$'N -M_^Q<2"@(($=P # 0(@9,0! ($4P@"!'< P$$Q 8 94A52'OH1EWGX"+4?_ -MM'@$0?9(N"@(8 P@1$I09@Q3KO^T581*KO^T;.Y*AF\R+P9P # N_[PO ' -M,"[_NB\ < P+O^X+P!(>0 ""N1.N0 BJ @;@ 8?@$@AV !78\+0 "0>[_ -MN"X(0>[_R"H(0>[_N%Q(* @@1W ,! @12!00? * ")'< P$2)%(E%#\0H -M,"D I!0W$!4AUB%OH1EU+QN_\9D!#U&_\:\56(((&X &""-8'!X #@&!(0 -M $ XXP&A @8O!$ZY O"%A/* !F"B!N !A"D& !/(@;@ 8((1P # M -M (O $AM 8@;@ 8(!!<@"\ 3KD ("P3^\ #"!N !@@4#%M ( B!N !@@ -M4#%M 0 !"!N !@J4#J&0J[_P$JN_[1K 1&< P+O_R+4#_D' ,"[_QBU -M_Z!![O_@+4C_F$?N_[A%[O_(0>[_U"U(_Y1*4V< _AP # 3(%(P, H" H -M /__<@ R$R!2,C : *! #__Y"!+4#_L' ,"T BU _ZQ*KO_T;"Q@.C M -M 1(P$2 :@1^#]"'Z( M0/_T8"0P+0 $2,!$@&H"5H#D@"U __1@$" N_Y!^ -M K"'9\Q^"K"'9]P,;@ "__)F*G ,!,@;O^4(%!!\ H ,!#1;O_^< P$R!N -M_Y0@4$'P"@ P$.E(T6T ! RN ?^P9UP,K@ '_K&=F("[_D'X"L(=G -M #0?@JPAV< ,Y@ #0< P$R\ 2%5.N0 ?@103V Q1"IW ,!,@;O^8 -M(%!!\ H < P$"\ 2%5.N0 ?9A/[P ,8 "[B N_Y!^ K"'9]!^"K"'9[9@ -M +:/"T !B\N_[!P # 3(%(P, H H /__(&[_F"!02' * $AM 9.N0 -M@+!/[P ,.V[_L@ "("[_D'X"L(=G''X*L(=F *2< P!B\ 2%5.N0 ?190 -M3V GY"IW , 8O $A53KD 'V83^\ #& F9";O^J8 8]?"<0_ZH@+O^L -ML*[_L&4$("[_L%: D6[_JB@N_ZS8KO^P0?5*!D)H__XL!%6&:P !M' ,"[_ -M_B(N__22@"U!_YPV!"0N_ZQ3@B@&XX0N!IZN_[!2ARH"< P$R!2,# * * -M #__RAN_Y@H5$GT"@"\@FP"*@9*AVP -)^ & ,Q(;O^D( :0A4AT"@!( -M=7H&FH=2A0*% #__R\%3KD 'C.3^\ $$IN_ZAG&$'U2 9(: $< P+O^H -M+P!.N0 >D!03TIN_Z9G "20?5(!DAH )P # N_Z8O $ZY !Z0%!/8'9( -M;O^D( :0A4AT"@!(=7H&FH=2A0*% #__R\%3KD 'E(3^\ $$IN_ZAG&$'U -M2 9(: $< P+O^H+P!.N0 >FQ03TIN_Z9G+$'U2 9(: "< P+O^F+P!. -MN0 >FQ03V 2("[_D'("L(%G /\L<@JP@6>*2?5(!CBN_Z0^ W , -!]0H& -M2FC__F8$/@-31[YN_\9C#' , >0KO^@.@!@ GH ("[_P+"N_[1F0"X&5(=P -M # %OH!B-# L *P;O^J8BIP # L )R #(4@(%G'#H'2J[_]&T&OJ[_G&X. -M< P!0!U $*!CP%8 Q3AE6$2H9J /YL? @+O^LT*[_L#M )P # M )! -M]0H&2FC__F8(4VT F "4D9P # &0?4*!BX(2E!G\$I&9T)X #@&< P+0 " -MD(0O "\'2&T !DZY " L$_O R=;0 "("[_D'X"L(=G"'X*L(=G"& .( 3I -MB& $( 3EB-%M 12KO_ 5$M8KO^46$I8KO^8("[_P+"N_[1O /OJ("[_^+"- -M9U(@0# M *P4&)((&[_^#%M ( B!N__@Q;0 $ 1P # M (O $AM 8@ -M+O_X7( O $ZY " L$_O P@;@ 8+Q!.N0 @-)83R!N !@@KO_X3.X\_/]H -M3EY.=0 3E;]R$C7,. L+@ ,+7D K,\__1^ 2U'__@M1O_\2&[]W$AN_>!( -M;O_T+RX "$ZY !RU"!N !0@KOWD*FX $"HN !@@+OW@?@6PAV)\,#L*!D[[ -M ( +@ , P 1@!8 %@@+OWHT(8J@$J&;U9+[OWL*$5!]FD@_>PN"!C=N\=E -M^F! ?@$JATJ&;S@J12A&V<4:_ PN\QE^& H0I4N.0 ""RAR"+R!;0Q\"& * -M0I4N.0 ""R1\ RI'*$7>AAC=N\=E^B!%0C!H " %3.XPX/W(3EY.=4Y6_<Q( -MUR#@+"X #"UY *S//_T0J[_^"U&__Q(;OW<2&[]X$AN__0O+@ (3KD '+4 -M(&X %""N_>0J+@ 8+BX $" N_>!R!;"!8@ GC ["@9.^P " $0 # , ' -MB@"*2H9M#"!'("[_\)"&((!@!B!'(*[_\'X 2^[]["P%8 @@1A"=4H=2AKZN -M__!M\B!%T>[_\$(08% @1T*0($40O P.GP ;R-;Q1^ =Z%W(4@1Q"\ #!2 -M35*'OH9E\D(U6 !@)"!'0I!^"+R'; @J/ ""SE@$BH\ (+/6 *($="D"H\ -M (+1B %3.X@X/W,3EY.=4Y6_=PM>0 "LSS_]'(!+4'_^"UN S__$AN_=Q( -M;OW@2&[_]"\N A.N0 <M1/[P 0+RX %"\N !!(;OW@+RX #$ZY !CV" N -M !1.7DYU $[Y FX$AX -.0&7R3G5.5O_\+H=![@ ,+@@P.0 " L ( -M !9AHP.0 " L ( (9PH >0 " ("P& $</]@$DAY ("L"\'+RX "$ZY -M ]X"XN__Q.7DYU $Y6_^@M?'______["UN C_\"UN__#_]#U\ $+_ -M_$AN_^Q(;@ 0+RX #$ZY ]X"!N__!"$" N A.7DYU !.^0 )N!(> % -M3D!E\DYU(F\ !"!O @@+P ,;TPB"9*(; !$2!LH!M !$,@@( 0 9P02 -MV%. (@D( 0 9AXB .2(8 (BV%'(__Q"0%. 9/0@ 0* V "$MA1R/_\ -M0D!3@&3T("\ !$YUL\AN%& "$MA1R/_\0D!3@&3T("\ !$YUT<#3P& "$R!1 -MR/_\0D!3@&3T("\ !$YU(&\ !")O @@"'+_2AA7R?_\9@#_^%.(<O\0V5?) -M__QF /_X3G4 "!O 0B;P (( AR_Q#95\G__&8 __A.=4Y6__PNAT*G2'@ -M!DZY "-4%!/+@!G$"\'2'@ !DZY "-4%!/8!A2N0 ""TP,N0 $ @M, -M9@9.N0 )O!(> &3KD (U&+P!.N0 C>Y03RXN__Q.7DYU $Y6__1( -MUS" *GD @ 2HUG'"AN A*E6<4+QU(5$ZY ",JE!/+@!G[" '8 )P $SN -M,(#_]$Y>3G5.5O_T(&X #")N @2&+(19@H,&0 ]9O0@"& 22A%F# PH #W_ -M_V8$( A@ G 3EY.=0 !.5@ 2'D @+$3KD ">46$\O+@ (3KD (WX -M6$].7DYU 3E;_\"Z-(&X #")N @J2& ($!6P$6<&4DU*%6;T2A5G -M!" )8 9*&6;D< J;O_P3EY.=0 !.^0 )N!(> 43D!E\DYU3E;_W$C7 -M,( N+@ (+6X #/_T( ?E@"I !H J],*$ M5/_XV_P J_,+57__$AN_^A( -M;O_T+P=.N0 -Z!/[P ,2H!K0" N__BPKO_L9@H@+O_\L*[_\&<P+6[_[/_X -M**[_^" N__!R^\"!+4#__"JN__Q"ITAN__0O!TZY WH$J ; 1P_V $("[_ -MZ$SN,(#_W$Y>3G5.^0 )N!(> E3D!E\DYU3E;_V$C7, H;@ (2^[_X$J, -M9R1*%&<@*HQ(5$ZY !0D%A/*T !%!-*KP J)L<@(K00 $4$T@.0 " $2P -MN0 "H_!D$B Y ( 1$'Y *BA"AP# !@!BA\ *B;RJ,+Q5.N0 4)!83RM -M 1032J\ *B?7(!*T$ !$'N_^ @#9"(YH!2@"\ 2&[_X$AX ).N0 CJ9, -M[C _]A.7DYU 3OD ";@2'@ >4Y 9?).=0 -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M $ H(RE-8W)T,2YS(#$N-B X."\P,B\P."!#;W!Y -M<B Q.3@U(%-U;B!-:6-R;P " $ -M " -M !D ! -M !I;G-E<G0Z(&)A9"!B -M;&]C:R!S:7IE("@E9"D@870@)2-X"@!B;&]C:W-I>F4],"!A=" E(W@* &)L -M;V-K<VEZ93TP(&%T("4C> H 9G)E93H@:6QL96=A;"!A9&1R97-S("@E(W@I -M"@!F<F5E.B!B860@8FQO8VL@<VEZ92 H)60I(&%T("4C> H 9G)E93H@8FQO -M8VMS("4C>"P@)2-X(&]V97)L87 * &9R964Z(&)L;V-K("4C>"!W87,@86QR -M96%D>2!F<F5E"@!F<F5E.B!B;&]C:R E(W@@=V%S(&%L<F5A9'D@9G)E90H -M<F5A;&QO8SH@:6QL96=A;"!A9&1R97-S("@E(W@I"@!R96%L;&]C.B!B860@ -M8FQO8VL@<VEZ92 H)60I(&%T("4C> H <F5A;&QO8SH@8F%D(&)L;V-K<VEZ -M92@E9"D@870@)2-X"@!R96%L;&]C.B!B860@8FQO8VL@<VEZ92 H)60I(&%T -M("4C> H <F5A;&QO8SH@8FQO8VL@)2-X('-T<F%D9&QE<R!F<F5E(&)L;V-K -M(&)O=6YD87)Y"@!G971F<F5E:&1R.B!O=70@;V8@;65M;W)Y JVL -M 0 " 0 -M 8" -M -M -M -M -M -M -M -M -M -M -M -M -M K-, "!:0 @6K (%O "!6, @5O (%@@ " -M!8X "T *P @ #!X #!8 "T *P @ "T *P @ "T *P @ # Q,C,T-38W -M.#DP ",@*RTN,#$R,S0U-C<X.6A,) P,3(S-#4V-S@Y, C("LM+C Q,C,T -M-38W.#EH) *&YU;&PI # Q,C,T-38W.#EA8F-D968 ,#$R,S0U-C<X -M.4%"0T1%1@ (" @(" @(" @*"@H*"@@(" @(" @ -M(" @(" @(" @(""($! 0$! 0$! 0$! 0$! 01$1$1$1$1$1$1! 0$! 0$!!! -M04%!04$! 0$! 0$! 0$! 0$! 0$! 0$! 1 0$! 0$$)"0D)"0@(" @(" @(" -M @(" @(" @(" @("$! 0$" -M -M -M -M ! @,$!08'" D*"PP-#@\0$1(3%!46%Q@9&AL<'1X?("$B(R0E)B<H*2HK -M+"TN+S Q,C,T-38W.#DZ.SP]/C] 86)C9&5F9VAI:FML;6YO<'%R<W1U=G=X -M>7I;7%U>7V!!0D-$149'2$E*2TQ-3D]045)35%565UA96GM\?7Y_ -M -M -M -M ! (*# ""@X @H/ (*$ ""A$ @H2 (*$P ""A0 @H5 (* -M%G]_?W]_?W]_ ((% "\ +P O $Q#7U1)344 3$%.1TE. -M1D\ 3$-?0T],3$%410!,0U]-15-304=%4P!,0U]#5%E010!,0U].54U%4DE# -M !,0U]-3TY%5$%260 3$%.1P!,0U]D969A=6QT $, +V5T8R]L;V-A;&4O -M "\ +W5S<B]S:&%R92]L:6(O;&]C86QE+P O "YC:0!*86X*1F5B"DUA<@I! -M<'(*36%Y"DIU;@I*=6P*075G"E-E< I/8W0*3F]V"D1E8PI*86YU87)Y"D9E -M8G)U87)Y"DUA<F-H"D%P<FEL"DUA>0I*=6YE"DIU;'D*075G=7-T"E-E<'1E -M;6)E<@I/8W1O8F5R"DYO=F5M8F5R"D1E8V5M8F5R %-U;@I-;VX*5'5E"E=E -M9 I4:'4*1G)I"E-A= I3=6YD87D*36]N9&%Y"E1U97-D87D*5V5D;F5S9&%Y -M"E1H=7)S9&%Y"D9R:61A>0I3871U<F1A>0 E2#HE33HE4PHE;2\E9"\E>0HE -M82 E8B E92 E5" E6B E60I!30I030HE02P@)4(@)64L("59"@!# &1E9F%U -M;'0 0P!Y97, ;F\ +@ ""B0 @HH3F%. $EN -M9FEN:71Y ""D0 @I- (*40 !);F9I;FET>0!);F8 3F%. -M @8FEN87)Y(&5X<&]N96YT("5D( @8FEN87)Y(&5X<&]N96YT("5D -M( @9&5C:6UA;"!E>'!O;F5N=" E9" (&1E8VEM86P@97AP;VYE;G0@)60@ -M (&QI8F,@8F%S92!C;VYV97)S:6]N(&9I;&4@)7,@;&EN92 E9#H@)7, -M7UA8+F, "B!?=&EM97-?<&]W97(@9F%I;&5D(&1U92!T;R!E>'!O;F5N=" E -M9" E9" E9"!L969T;W9E<CH@)60@"@ ""RP @LP3F%. $EN9FEN:71Y -M $EN9@!);F9I;FET>0!.84X 3L %A &>P"AK2 >' T 5S -M.]L2+C^CGYWB8;+<XBIC!+R4)M6;87 EEL+C=;D4"RPA'QUJ8+@3.Z*)TGUS -M8/'7W\;*WRL&:8<W)+@&[6:3;NL92=MODXV"=5YTFC;%;K<Q-I!"Q<@H>8XD -MK@[>A,$;D\-GP5?#RZ;WM9#@[BPV3-FR7PT0EM1=L+=XT&,&92PRFI$L>;6R -M23$ _B$HRQ&O9':DX48 (PEW4QW. $5WCL+>K<\"+?2%BI@W<X5[><Z4BIP6 -MYI'3M,T-X$,.74P^^_E4^MR=*>L9B2FOG?1H?'WU>D^'D0)E_IK=4.<3RO05 -M'9*K:&*D@&AC4$6S25MP*,WQ+QV0DT,>20"BWB80PD!J% P4GO"^;T@!R\"# -M05[^X&C]_&:B0\"Z)J&Y]>9[+VJ]$ETM/?JAN2<,Q@#=(0#0_6;A>O&?_9ZW -MOPW0T5#_.K06G=.1.$O6I.3T03_N!9(H-;]4CSYX']Y32L+\QM,I!/!J_2AA -M-;L66 \>9'95LV0ON9>1WH]Q%":^I*_]!B92R719S%5#)/4S4;\BA&/'9)"K -M8O0% -R+,2B^<IQ3JS4C CRJ\S]'J!H!3(FNR>6CGMS+X'^1,JU\!=WQK#60 -M'N&*M]#Y6 S,%6;E*> "G3EN0U1-, U\R@%F(;Y, =L9'$$4F\,AT*2%7H [ -MDQ+_3WH/A4BV2."13SAULF_&4P%X<9VUK*0@ HU=Y&(*#J^*(FX ;4;0'6&[ -M0>(^DIS5APH1(U18B6/!*@Q*CQM<"(.ASA839E]&2<10EL4->>Z[44>KY7"B -M,Y\>Z<]#$82]V$,*B>$2E\ 6J??K%A;,>2=7SY[HUH, #)F!<'U,4"T9^@_- -M;S8TYBE<@@?"WIU'3%+9@]'-0\?J"MY+EA?=D371>@OH!;79K<BI1G/2L46& -M@N?&@+:!K^OC!FF=7OBRQ*>4]JQ P"WWL\\:A;CQ UJJK&4Q&^MRV&\(U$W+ -MM>Q^]O4>1<J,&RADHG,V4 :SB(!!:31)0=EU/-]2TGZY/J;LI*U))A3O;NA5 -MJ7C=8;U9.8QB=/6;0U#97)QZ1M$!C<*8:^KK.&+:E-XI[(J0FK<_)?/*&ZYK -M:,/NHXFWLZJ[#X_[S-'K;AT#:Z8JY!=':B*=LN,JFXY\4<?#[_?$5VF)?U7U -MXZ%KIYSK">@[^L\N?U<@9JMI&NH0")HU#5@WE_CDY4HBIV[CJ%9N=,+*K%;F -M#VX.$S8X.1)S8O775'BZY-MS-54* ?!8FE#:]GIRDZ1C19A<ZZC."%>@R^HD -MNB.2PXCB0C'00;J'%U#N3,EP9/G<N>]I@=#7V\1-BMZW6DI..F:4%$@T2L<Q -M:"[%'CP^2^!V%CU2["U&/@SBCGGV-^#J(IPB!.84.63@M*6O6+=\:8GJI0^^ -MOM_A ;9^M8JN\WIWQJYBC&N_LK,_D2MLJ"=:$+D6< >RNFU)<Z[AJ<1A$OF -MX9Q'@Y'U)C)0'>5*2J2"ZW:\.5_5'KD_TF_HV>\;#D-BFY2=J Q*)D)QC"=K -M?-(J;0"N)N!UII3R)SII]MQ<G^>X"I8>9WD]UL4<XQ[1X6\=AQDNA-4M1ALF -M)2O\#^OF:)#(#1+B=N$A:)VA?.Z&#*FNY;BM84&%%TCQ;.L7RT"G;?8@K/&@ -M_20K4L9922+/W]JDZR"Q45/_.L?( 5+P#G!9>G/NCW7U\=@AL).,^?!,1IMS -M1V;:47\4< .NS$\%,1P!0!=;UVUB;-69&X^5<FC. GN%YTK+$*:0%ANY.AZN -M*OKEQ^BRD%56 ^;OHYI0.P-MQHN2NI;6JZF]L-D_+;?*&-Q0T#E'C>26EG!T -MTNK:K1JV!$K>\JO-8CKS[DD3MUBM.:-)0[EL>4$W=*2N5= -+:]SWVNY:F4D -M[I)T>0 V_ -L!> !;=R=)QT0<FFD^A2.^) NA=^K E*NW(\PV_7P:\2NF"R -MGP.XAR'L)DJ!$E\/Z$Z/UL,OD(!D;2?"!!/@#M_#)!2P#9E3NG^$\>TXBCUL -M*6;Y#2 +X/F+^XOQU)4H*N8?M5,<\.B<W!53K4KAGG*&7G^#OEP)S FCE&[\ -M;.5(LX8R><]I\\H@0#_E#1;X:HE,#GGW8HS9TZ4+%3Y!4>K?W+/&RP9N1,'! -M4XR=:-DEK1.G4@&._[-QLHT5Y0/9?3$><V$_[XUR;$Q$!$> -@-.8FIO SL/ -MVJ(83Q?)I 0ZGE52J(=]4$JKU.>)A=G8M@"!+P<^M=7]*J*XK^<(,P, []\U -M7@^F9$R.2E&GB".>L0PQ=C?<7-</C_V@7-V[VN_IK^)ZV2+X-(O$'2.M!D9R -M8T%OSB]E@FI"^\ ?*(S-_XM'<1H?Y%L*B/T#YM\N>CXR!SDU@$DAROKK=(% -M-3*$*P.[U<IX(:?)',_P%]C!U#?ET'6R.&UJ]PGD[,XB/&I_44EQ]"GZ:V5* -M2E-+"IO)LC6/1X']WO&[<YEUU)#.P_I%/_P[8U4A=Z:BHMIBG)51Y/F0]+<2 -MH><PI*#QMFB-@N.4&ICMC0VWI)0)H%$71$\GS#NF-[ID">,9XDL(G1DKDC<P -M=>7=@@5 O3;W%KQ D>6<>U'-_DHPQ@>VC%&P$]2\V5?(6@'[)LNM5ZH!B&AT -MJ#$N5#@4]\H\#CFT;_ZAV0>VTVI"EL:VY-85%D3^W2[0N<G#(GK%\VL7YGY[ -M[@O?.WD'!7?!\J9\W"R13#^TT<=2^1;),AI!;\2K,)WP;E%K.+)&5K4F<9HZ -M)H>:N9\HEL6@*6_(@"92XR%O]BS>-P=^3A$E1"DZJX/%MY;I\;VX@^M,\/,T -M2.MTFQV1+"U4OBG!VHEQJL[ ^W*L>$$1WP2IJF&6\$0(&@\<0&LS9R:C&!FF -M94KTLTE:TQ!V"0O"Y!7W6'::B+A,2C+@RCO4;"5'#_(NN2Y;L9]V0YF6G]@B -MZF.#X+'-'.+I7NA>6FH\?%[;#+?0LJ\W(- 7 *2A +5&Y[KON<DX48B"0*-X -MJT"Y=419VF0(N-C,D)S*15>LDCP<[ MQX;T]X? 'BG;Q.8244>Z<AGXO7F6+ -M)Y%5*I ^^Q?!$"-S5 =0(2YM%I/57/[TK055&7F;([.[ZJTD@L=2H?$FA:Y- -M5][\>#T='0#P31(26HJ$W2%&P*/B!(!_0YO>Y&XX:J'NF8UGZ7ZN,V[>UOHP -MY.X\#;+&;Y4!U'?V_E#7L3@G\@S&8:+>0WKC1XI^<,J^@BOV(>:#="EQD[^! -M$+IY3#M=['4DI7T3Q$GO!F!LAW.TN*7#T*-\?)8[G(;OU$I<=3Q;L@X@31LD -M?VKL7.?1DI(YYVB4]*!9L& B%<E8AMV.QC_H;24=$(D<UBK]6S:M$QK2B],@ -MBW0J+F@7!/?!&620TF)YRCI' ZEUG]D Y5U#AI#9B'HF$6$ALQ&&)*C86#<7 -M9_T80?[&O$= ]S$3J,;^K%&7A8]3R,,B8C2.W"Y_"/ 'BZ;W<)$6Q<\66I0W -M[!K)AZE)^LC\@>'UM;B-X:Z3%UC2KX >2'=WO$/8=@M%PW\9JYZN1*B:VG<; -MSJW) 11"<DS#Z4638#5,^1M DLA!79G(R9PGDT"8UNVQ5YE2*R6+_4'7-$6Z -M2]71DO&=6#@V]DE;H;AQ[%J[N:IB(Q+0)R"!+0OUQP8[U5>&$]_)#\L25'?2 -MI-U94$76?330G?@7)N1" !+&[1]_BJH]Y<J?'7=0*6S(OTQ?O.Z_M:J(>B<@ -M[R<)A4BLX"+I'6::?#I0U-"U_#Y0)@EYHI'A7O.8NQT CH5\%6F\H= Y,7>1 -MU+<5 )#.&HGS,PNB3?G.*")GBS+T[2-[F$[Z*PP7S'F5MR^? C/U@>$WKC5^ -M-V:LDTHZ*LFDW@M@[KA2#K9LK_$UW)1@[L,+:-*65E>VQXMK9Z;G+QGEE8R< -MS80)L!F>AO=()C280I"P@URD+1VB&F1I\,;[1=&%EJA(Y#6-[U:\DF4 "7,! -M) 6LD&A$[:Y\9W&B8ON,6E%L'VM%/65',^A_"1^^QE>OICP!)%O\Z1V\8+QS -MY33SQK"M9[O3Y,VF/.\4^]TNTJ<FR\ZGR,\GT_Y//B) 5T7OI?D>-P#KUO4; -M'.IBAVV4MOZWA"&A(W:#2=$!B'* R'=]@!2J@SI[16_?<S *\OU$VB7(>\OV -M\,)&GET9 E7U=WLR_BA9?* ,9#4VLR*TW2C@.[U&&42 \5;?CY68L5R5/$;+ -M<08))I/Y*F9]7Q-[VNIE@",[LR(87+0IL4-)>F8_Q&I2Y\-K,EW_*!<EQ,^K -M?Z03.V43Y:!-[@&G82T"-R$[E&R0? @*NW_O88<NJLINA)WNI=1 [\&NH,=_ -MS1R/@(R>?-U^D)93=5>:YR_OT&8+RFFPS#X0D0FE,2_?>!6CZ)+?O\C4$0_' -M^O;XIW_@NQ79D L,EI .(H+EV<8P5C@+0_LV>&(J Q]P:TU^? $?97HBY%AN -MI(O5GY2$TQZ$Z@F_44\S[^R71GV5%FJ\6_3NA49CHE1+<%+51[,018TCC3OV -MB@2:$>+@+2FX_+ /)[VYA0BZ]2SG3E?J7R)10;.[W!2;F@OSVRYHV<&=LE;U -M6K:1Y6/[K*>[.")[A%8I8'3%YC'9!_0^#=1P>[+,KCEW5UU<NL*\3Y2>LZG6 -MIZ6XDE-G2?HSG T^ ;QY1NF"87I<MIGA>)<%8XP+*&S?XHA]TIM?:Q?"&3'F -MFP_3"B*3^DRQ(G;H$UJK,^C$9UJ)K1B$)HI,ED*;)W6GZS,H_A$MZNL4G\T@ -M?<V^A,CJ\%T'_'DJ,S:!HQ7-@]HV3&ES5P?;[9ZT#2Z-0GDB]!APJT)VI>MX -M87WD+N<OV#[B]FA9(5./,??^-0P3 H@L^]!#FJF%E" ]]N>)#2?*Y5LBHO:V -MK452U;-*>D*T=LX(S/=9+EDN-'D4]BTO $OU1PQJWUH*._0-H[9CR2./\(&( -M,27W6-V5!QVKN)P]232^I:-R7C@^$M:XU]KQ/8"9)2'864C7O"UGI%E2"5?K -MC0_*9"@)]4_^R:*CUSX]PNNCF,9Y';4ZS:Z4:$,1F-X2T.,"P,JA[RQR#L:I -M& 5HI ?#12&@G!S)6S_11$*VT^+=NXY/80"(0TK$RP9,3@'MS%\S':P^TK,V -M=U+-14TR"4*[NP>L>(Q2GU(3Z"'H)#ZN2)9HCDC(8;GP$?$1K@"5YZ*LBZ^D -M8?:3Z#5.]D_C?I0FBP(I: V(SX)NT42Y#PQS*>G$:Q!J0-LI^FZ\S,0$39VZ -M#=C6]E+X33K4=Z+Y<-S&M.2;06!SCD3:F8S?]MWMV,_@0,9217J"?.&<OO=W -M*CB<Y'6UJT@IB94%-[[1=(R<'-%Y6#=8; @@<"39O8M(%8MDZ?FS7&&,.]T( -M*F8@9 I[C7^4E99:TD6HOEW%FJ!\N45[X(3A35'U.;%"K$8B#'/9*SHA*E25 -M_]G5((BSLJYSQ[FQ?&?&L\X957F3;<6#S6%-D,DX'@SDM%1J^!PSWRCF9619 -M"CS'DO&ZH3=VZ@>5 +PEI_L'2CRK<M3W8!5EM.,<_/<Z)BU"16#6Z6;81Z@U -MGPV;%WQQ-EHJ421FM62C@H.]"H6\;3YEF;<%:>P_']^/EJJ._]MV\(Z%-L<_ -M =TU*QTYA]UW[R@G(O'D0H_EO<?I&UHVR8<A+XHYV$#.IRK4UEH'GK3A(\$X -MN/#=!HW]J36;'HU&PB:HCL6\RSHP$CHT8(]_,5NMW"OC.705]8P7&G9VD$<: -M^"E/FFBK?[!%L@-1DRF2PQ3"\K:%@P0\0]827"(9%H4^;V%@8-?$YZ1&MQ^' -M 5>VG*^;KJ^T^;'._ /1M<$RWY=I*_E)PTX 4KPBP(",S<X"U^[+C8\S;_C3 -M^I /'IV"]9?HJG,-+7N3F.Q/&.]BON*H%4R.B7$\BW44R<*U$$0L:L&A4^[ -MH@OW$:-2EB/XLYP#U=49NS?J"YDS'Q;PU[';,_19K(#"=:5@@^MV"GHC#\&G -MSE1LH5>'5P<2<.6B3IT1+?D1ZE:F9X865W>P++PPE50H"T3V&0A,B[?'9VU" -M-)#K_<IJY*>ZZHZJ>W[0%,W3":$E:>'=AZ,Y\!;A<V#3F\)TN?^XG76P\IOB -M2WGVEGAEB@[O/6M HT.9PC&H6\F:H--<:H7(--]5YZI,9TKC,%R/#=B'VD9_ -MLS5';E\CQ]9H]^049]:ZPJ$3&Y(H]Y^$RFI/C\XG%FB"$.N^[F2!:59L"?F? -MCL$2=?:@]GRB"-Q;3V;[95]B[U-N$PC0=N/XX.6;!%:\.&Z;0 HJ%M'F%X&Y -M07\GX_ W(.J$0P"%7J0>0@SUF6*?.FT\@83>X9/#29._1K,NYX8%"^BPT7\< -M&=NV4Y,"XA$76-4[3URQQX+;Q@A#-\$;^[7GRG/#J2<GVHT ]02'0HW(3JS" -MR<"+D6.E$3,[K>9("O!_+9EG),]AF)CDWP%:;POVQH[GFP-CSVT;MTR;B].@ -M9"7*NV$Q 9?:<>TL^*$P^%UQ\,]O5 &85X.ETWLES)0<T53#81ESI)()Y(V\ -ME]"MU!%RV.O&0SR4 ))O5I>'5+AH_<NEUAMR?%_04/Y$ ,!&9UM$ ?TU$&B9 -M1OW3=.XJ#D#3);X#P!EP8A]1L=;47,$+SS>^VXZ=EHQA[. 6VX@&L[12J -M,=O8S)N8:EF\\/'BG/"=3A1F"ZEHZU634>+WIM8O[Z0LQFD*JS+$$>J"P_ZY -MA\Q!+L.G:2#!:#Q<:2B+UM2>#V1\54#B<DTM2VMGX(4EY.T:>ERIR#QPJA2P -M,V:ZS0-/0<#M7IWK#P%POT[H!'(.D5F M)J#]*%!FV&*-AF6V/VO ];(H>Q. -M.;^4.[F8QG#;,>,F+C '4@"/&I\!\<HCVF.O5KO$/"EU%;]KB31- QZ<D]I] -M<^2DMKZMX>(6/>\/856*1M<I;8PJM@'JKWJQ+^RM53 83^W6VHL]%$<:,6RW -MF8.S!O@I&@RR6>+0KS+E.14X]O_8Q_$A%F@Y]V+_D7Z=Q^!]/-+WZNM$]="? -M'_V'+O#X-AJ*CVP#D(WP.]CFVZ"B@.J( UFE/Y4,E,6NST#AU1"61S>:'WQY -M@?A&'&5Y79!+I<$V)IVPD/]E /WY4$6.!?N-13"6K\*-Z+Y5]9WX2^3)"T)R -MCD[EYPF4"H>N)+/Q>)GK=]:7A:A8I^2QO3@ZJFSO7%7V2Q&V-$+)DYU!S7P" -ML\GS/:I4W#/>VAFMDGB-R%<7"2>CY>B4U3?619>[ &[I/A)1P/8*I]+>.@/3 -M/4&Z.9@*C/SA5OQ7@V%NLHAFX'G"R4A@U1C>S!QL*[[A'ED%/I$G2UK%5+&B -M-+8S88&L<[\L\[H;YR2I*R;^%.(6WTBXU+&%"K[DYB6#I=9WYLM;<A9'')SM -M9# 7?O YWH-EP.%[(H;R>"TR,;V,NGK*#P"WBX$= T#,0>RMG/LIPZ_=X(>* -M&*QP+(])/% YDL"4/H^']<*\O-A[ P1"UZHL&)*?N)63G]E0R+Q/I.F69P+: -M"P96[ZB!HWCCUEQV.P44N)$CKX##OJ\.!3EYRWL?T'E ):H+77VQO8,&.-2C -M*A318 N-0S/D9BII8^1PUU-J$8LY3/9UY&&<Z.O "(P]SSUHE[^FK[F;BV.@ -M@&;%;OB/]<]]7@%.4JKRXYS(,T1L72:4#%US\6PB=Q27#Q*>O?(RH6B'T!89 -M<D$@1A@KI=0E2BM-Q/+6UUW]HX9]2Z^="%A:,FA)K]KCQ;TAQQ,RW-/,[$7T -ME+0E/5X2+VG;=<O!!7NJ;I+QN!EZ*"^8*$.B/N(, 'HA "O0%5D4A#5[]3E@ -M5/AR+=[Y^F>E&#;[Q?SZ.JXM*.*/!4*H03%^<G.BW)W5+N,EUN-4R5,3P423 -MNT(T#;J;2&^L"1S+IWG]MI4MM[*>?@(9MV;0#UMY4!,Q3O8]5*J\T!1\KG]X -M7%:3(U D)__0HFA';GHOE*J.F ;QHCM]Y[.1\5L4*TX)HN,Z>G-NQ+[?]5Y2 -MW*0I/1BN$]U,83#7JB&CL@7F1PAH0-<0&3HB RQ>-R$ENB4[E15,@K5$74U[ -M/63;>I/1Q#S2K=HE92&BDF)<H*)CI0'SEPQEO02)*S8^<E$SDIKL0VWA ]$% -M=BP+Z7LNI$TGPB=8I)5,2Q6(5?M/7>V@LKI=-2)C'U@D5!_]W55+^9R(*)O* -M:+$-5(J>J1$MGW_1; Z(:,!5W,%.33]OOWB[3YSGB?N.VZ>[C8# %XTY@T.6 -M')?8$$ 9;0$H0U"X9E&"7W.MN!D:L=\KE=7< G9/4DUSPD2)U#*V)N@X:=_V -MSG9:OS&;VX8M-WHF^B0H+6E&8ZZ<>V0E[4*K"; I-\PFZ.H65UA3"PVYI!*/ -M[X,$IF^NGS3#Q /(FTWH8 "8*68E0Z1IAHA34HNIX G_9N\PNLI+Y!,=$+PO -M*"F9<<>'#4%-I+KM8R)]!)W5K'!\_30C-O[Q>VNS?>5[/DE/F5/CZ83&=L$# -MR#>0*3".3T^&^;C>57SW8C[)QSD5S28'>(:I@F?2<O##2HT$7%)12?I([SO+ -M7'39@U\_J'ZU&,W.#3U4FL2U/U^I&5-%)A$4P(.$Q-_Y6>O%TQ$,!PP)NM U -MV-@\ >)MJ4O/.5#?=OW^H@<]G]4VI7[]_?;>T8^%IE$HO(&Q"2^J\ '"2"L0 -M-)]J!B:PD=8;)>!'0!"Y RYP'VO^Q4NGWW8/-)0J9/':ER,QMZ_RT673">;X -M.;LL$[/P,-FJI5M:.+ARKA(3K%76V84\&&' ITE8P4^EQ8P;#U&^LO$0#M@> -MB-S#!==R<"()C "J<VBX,TP_:0G!#*&O,+P0T=P'9@K'^&UU#/;YJ5;<=G3" -M^DT(2+#-$1,YPJ'^1#K7=7[7]!Z4<EMO"WSA+*>7#[314PSVNW\4*7T=>!'3 -M-PG]Q@'/\HU/H %]K ]%2DCPN84_-T!A:$( ]6(P5.A!!U\"A?@Q0_ $6L-W -M"GZ%RR7*5, SK)QDU;JXM@B&5H"O1'P.734M!53B#E%H"./(?4""\W8[GU^/ -M=-8 E.445",X^LU"@[RW@[VDT.<:JNN.;B^](B?Y4T&.;E"!*]#"_'E!O-'P -M1DZ1-[H<XE '*!F .>FU20>Y0IZ-7SG)17JAN7*4-@H88.HC8^Q!5<-SJM"$ -M7HF-5M5A'9<_"^\+]>*0%^VCA'HAP,2V"R8DC"5UT,$"&[RZORG>%:&PZ8UD -M?DO[7?$$%UT9^1C&"P;-Q5;NF7[C"HQ55R8&0SI8I]XQ4'HY!/(JH2!2DV'" -M&95V7X?9(QL!Q(EV@=H)_=2ACLKD* )+4#3;79(]W[;Q!DZVFJ>,Y7:NJJ[, -M6M(*<0IEW.-372+^ >,@?_W3W(OTM[&:UM1O8@RE&OT"04R/H=I$XBQT@,V -MHFD$_WC:72]JTD\A0["ND0IX$9WQ0+^W[:_J%+9NK]ZM5Z@I>^=Z&LVB'/+7 -MX?00)8O_6+AJ.*2^MJ)H .]ZZITPD2>)&*F3O!=W[P T3V,GOX>7#*GQ.O'] -MXA,/*SY89Q@__]]MUH]'C%)0I);.@#DD$=M6!B_'F+$HZFP(0Z-H[,MS+&23 -MZ5/$)X)Y)C&"3!'!H-WKUCU*B1?Y9A L((0V4+X)BH ?M*2MQ!Z<?[,P':]* -M$KTAFLE+N1P/F75CA7RNA1L+G4]0#QV?RQB+T"54/=80#!OW=TOD".OGS2<, -MO'R^KM1)5H94;9T*JV28(/Q<&:-Y$@GYKW2F87)RD*ZPP2L1O$TDIT(6D]U^ -MFGK0<COKXX?HTT4<</SI&&*FMMEE'P[>*1,FSF2K>0)_)$#J:+8;?0MA^<ML -M<3>XRO&.3$]?D**U9/.J*;Y5H1^OIM VJR8<QR3R-BUZ]#'?V2IX:/F_)> : -M"WS_QLW7PJ>A3"@R4-58DS"X33V>I&N]NZ#EWDJL)4PF[^FZ"\':S*%+ZO_G -M0;0*4\,7B4VHA UO_X\<3HZ_)J@-_B>E6\B*U0H6+ 6F)Z[?P^CR')J)W2&0 -MQ2".L$HW$)U6.PK!/]WH/1#4C?ICM6..<]"K*A0M :I<_01/2\T:152:D>O- -M4P.%["F,K"AI&+,AJG=>_O'3'L:"Z3T ]@>T.!R15"N1:[6G81R]I54F5T8W -M,U81S#?QH3^WQRV.A-S-7RG*&IB'K+5W1<.@S&- -;;)$N[U^(P6JW$*YT:_ -M/P:0>:H.!H(+FC!-EB :>:^!,GB'OA06 .^JBJ0W.;B))B57L"#0=)7:I=RH -M[B#U/J"- =>97F?ID!^=C<"4_!>H?I$$>$&=7YI;BI1*=6'-]=LNX^2/PF#\ -MO8E+U612LUH -R^>IMGKXT'4^&EKU]?<;)K4SW(#(BR&,!1YL=3JD@&5MG"@ -M5F=MLT/J=LK @TNLK'=TZF1)5WY4;\ZQXK^5]X=:L\?@I^:@L/>R>>VHI9-> -M2Q9RNJUR3"=:@#!20S@]JKEU;+Q-<F\]%E=> Q/?B>E"#U#_T_$2A5KI-_R1 -M&T;_LCZ>-V%V1L$CKR4=53TQ)BN#]88!T#$<X%0TVV\]2%HI+6>)NDS0WV23 -MTA8TZ!_VLS.[_]:D<JA%.*A'2F'RZ_U&A "X(;_PE?V\=PHK=MG(Q6%U=^E7 -M8M'$59K_#G7 AJ)A025X )Y@)#5AE\OD65V_GXU*T#:\4MQ8T8XO('-P3 @, -M':5#80%JHMPAI,IKY?419\^35.F1UQ7XYH*.XXU_D$1$B! 9H$AN+*_K]X9F -MS1P#@\L1+_"FXA55 ._(36L(55)UA]ED;%A5MFBL%,G^6_!%SWW+(P:A0EAA -M3PT_VU@E#V9C_KA*#J_X1%F&\S?'HBP&#S[3=11VY=\-'>JV;9^?#2,SE(@$ -M*D@G"2,D<YW<!Z=8++*BT&>/'7KB++1W6\[I=9(%1L'S0!#8XO"T'[$+U9E( -MF51=B^OT7I,_72UEULWT8B$)X8;P*8(7TKM=>2?R<:N5]NTL*!CC'H'EBV-_ -MG,R-D\]2*W="_PY/NH&^A(?H]\DVU[GMXW_)V8!7FTGVQM78RT>FA>&]'3K3 -M!T!=E4;D:AOA $OL=<^=2?E3AW6^:(IRKLIJ 2G(PXO"&-D/NY5JTS"'SFO- -M8QDGM#OBM/F7Q5D*3XLA.OV*'\OUA,[\%>LS8IW3+FHJ(1IHS2C%3.\$&F+? -M*!(?'(K7G\ME*DE\$0I]DN^.>RS''# GMM[_13,8OY_L)!&2JJNR[!*<O2$H -M9<"IW%/H6"/U]5Z9H'X8B[@<D6]&:AAYX&DVM*'@;UZ>/7;(_9*_W_64L+\1 -M\%IHHJNY+T6<P[8O+HZF:8! [U^>9ZX)9M3G<]+BQ2B.U(RZX&B!1]RDS>F1 -M B>F';(R"0:H=IS_GRPPK<0F"/H>"^WF/GG[&RT.3K;05\M,5LKCQ8GYI[Y^ -MYSA:T./3'Z.#B%%YZK'41XW5-QYYE(KLKJ;H1]-6?YK+<(G&:\T)V1YX/(X[ -M7WO$/?2H\8M67:QI8@;RYH&[6I&A).KM81]_^ZB.]-+9%+4])S7TSXJEO3]0 -M+T=-S)-[SZ7WCAIOMBO&&X+42%+1EY&>%_IQJT+P&HO'9JA+?-4BJ[6;?Q-( -MG!A8T%8V]A1;<H>$X,UF).X\+)P%.7/55&4D1$D#V+W$?#=X4$&[(6X_EO^K -MG4.TY,8)G#G+3=NIN7EYN0&$T(^2A^O1(,>'^8X% <K2&*X8@Q0V@K_^$['5 -M..N04AZC/(VEHDW^FYY=Q[<FFU-O@%U8JSA%FZ9DK/<^0=V:\4&S@ T_$D^) -MP-B^I2X22&KFL+R:B'\]_V\*S^HN3[&6=:SMO&V7)#.H#;0.IHZ7U@4IV'"0 -MJK.+HXZ6B^MOHWAV3ZWT/+AH@)N+H7)O]GY4B@ZPT,^UFO@U.T!GN1+=[_M2 -ME778\8-_)0O),M^U^6CVR1*[F3*@06YCN@A;OG?)'&@+#IK!*+FWM>^+]=6M -MO74WJ S+;7@%EB/A)D!.:;#]W$"VQ6E0#2:R4_2K=P%VK>/=P2 ?O/R?.#>Q -MFNB'1J%%.X[SR[K0O-"0,1M 0(#A<J5)-IN[V \85#S VWWBZB/7<.$8"KF -M_$\?,-'I,G.)R7$Q_J36TAY<$DVC\A(J,+PP8 T:[7M\X20I<G9*5L>K^'H? -MAM:O\WZT+^:VK<V0/\$0$N;/U=_ #).\^@QK+F4/*\0[NFE1E@!1%_L\)97Z -M%+<]4-/-IX)$+3A"JC:_P9Z>6OBP.F!0SYBB90"5?+L!=RD%VI#G-6TD3'>S -MP)H+FH=S9]H1=C8Z\D*FESDZ?;-[[/@T&1:R%+[S/R]$1Q\NR(<.>5]_7P93 -M^<R38>9A/CYU#"7&O&I (<A]KDXE(@_OAI9: '7BZ[)Y7@6<%W=/"CC\\/2H -M0/\.8:ZU)PR),*$)ND![20$OX'0T4#W/.$.]:R@H==3Y@L\.E4ETGW)88!(> -M+4EYX(+8=>7#S",A?FZJ%>^[,2TW!3F374>N3N7I2ASKV/O<:-3.)=-W(A,, -M+3$ARAP<!\Y7'!E(T@I)_""9#'</-(Q5>P(]@OBK2L">CY@''P-)D!(8R5OC -M=6K+8YD&F\>B 1/PPKP9N^(:!?FXXK5H0!;?+*SO!Z]=IY7MA*6+:3DM%US: -M/H#"XE>FXG(/#OV]#;^<OTXBL(&:/XGBU]^UZB'MVBB*Z$N];#LS G#D/D@> -M")"=FX=U[J\^7"Z)G?5D"[1/[;> (RELY[R,M)/ J<$N^6KQ)]8*IYM<$V;> -MT9;_4&.1&431KJ:SSMKH"A"+]WAA:[W][T)HML'=)BBEC=,=)M$OB),@$@?9 -M:@1C_T?K)+$(V_YWOD[K@;&BX:XN753^_5-/9,WPL.2D(IIP,S3OK\19R;PD -M0_F^>O?G*:>?=*R;'@N0O 8I ! #8 GP$] @X#% 1.!;T'7PDV"T$- -M@0_T$IP !8 +0!# %H < "' )T M #* .$ ]P$. 20 0: $1X!32 -M"F,*2@J, /$"X!?F"V811!"G T(>QQY&$9L,$24-)>T<V Y[#)X-&!XI$ZD) -M9B.3#)P;'2)S!2T3W"2)).D)@QHP).40I0Q:%9@E3!+U%:\;\2&Z&I (#@ S -M"A\1, M_!$L49P*;'#8/AB2#&98/H N_ BP%JP.((FP=UP=L$K,-5Q&?%^@$ -M#0NU &$!DQO\#_T48 RN% XA(!B3(K$/?"06"7L #B8P",TB\AFV$0X$SA=D -M%VH3>@D<##TES!'%%?T1V"/;"]PC[1P!#"\F9!8&#M02"1D5%V8E&P(+%%,( -M:!QZ&M\F51%9%R4#'AQ$#[,8HR#. )T)U!?_(<8=1"5O)M(4(!J_'T8"JP#T -M'T8$K ZN)3P!Q &1%V@=&@75 O$F8P1F"Q,6:AX]#7,#<0B\!LT0B12?#E<+ -M?!2N'MHF?!U0(3P/<0G?#=H*F L?"^@<_ [7&G,@"A$"'!(?_A':&2@5AR%E -M%"$5<A[N FP4>Q6G#R$8U"-V%0H&-QO'$#\)$" $&:D7L $B)OH NR,0(A(2 -M+P'B'Z\/Y@!,"T,EDQPQ&W,6K@S9'7D<2B"A"E0A! :0!&,?X1+P(;L#VQ9> -M(V\,%@F$&4@%%PBP'(D%N LG)K(%M 3.&5$CD@)W#&X#QB8$#Y0>>A4;$5T( -MK@JH#:$A>P#*$W !&1=\ !$BCQ*\#/@F< %G#[\0JB @$[ C,AG.(*H/'@KS -M!1,*YA7%(3 = 0T!&U@!\0MN"T86LQQC$?0C1QAX#OP2@PLO#6@14"-M"7\+ -M+Q#7"KX2 0=,)FXA"P%K!Q$*%16 !^@8FA8J(]P2=2$F'?0*E0$A#2 !$PH9 -M")T0"0K2'P028B'-$/L;\@Y<&;$!5!D_"$D*<!BA'U8>H!7B)6,0V V*'U0' -M? _F"ZP-@1D0)E0(?B+B(]47O"!X UD$2 2< FP2^P"8!$0=0Q*)#S$// HG -M$3$.;!$,"K 0]0;A&D,5*QRS#'87922T"\T#EA^3'"@5501*&P4?AQ7P'BH; -MQ"2T"R\%4B.))> 7" "D(LT"*P&R(/T361L)"4 !'09I&CD:6"<%&Q(F>@FK -M $<3/12S$2PC& ^Z(+4%]P.L%L 4V1LY$(P+G0C;"?X:? "Z"'T4?!H/#ODE -MEQ$7&+<8PQ\=%]H*>B,K)@L%(@ R#]@1(1\*!987T27R <$: Q;4!JL6>P@\ -M"Z4.\ CY(F<3.!5= S\+:B/I")(@:1?G""@+Y1GQ$W$*T1QR$O 8:P7%!KTF -MG U( 'L1B2(K),X+=@CV)N(.;""Y!B(/JQPT#5L2RA5)",( 0'['R$4]!Z; -M(L\@#B)J!>LDN1-,# \5U G8"TD L #5"B\FTP%5&I<3[@B?(8 FMA6E!MP, -M'!;Y"LX&VAO] J8@1 HQ%($0%P./"R47. >C'E81+AT!%Y(+5@:&%(T:8"'X -M(L4"TP@-!*$1"03$&)<D?@ZA"M((Q24M(:@"!P%&$R8)S@#P"P$7Y!QC%D 6 -M*1*6 9 >] F!"M ;RR:A'W@3" TS&,L O M4#BP"S@HI CD1C23_'D<:3A"% -M'+81V@W3)NP<E@MM''43M ..!)(:]B4'%M81ZP@2)?8'Z"5^)CH:LB8\ VXA -M0P'?#O,>)0FC$OX8QAD=!MLA?R6U'>H7L"$T#IL:,27M(A<<% ]0 H,-TB/L -M!_P)T ^^$H8BF@KN%2TDZ1&-'O,>@Q] )/H#?0F3": "4P*($F@EU00M&2 6 -M4"26"/,@727) \,#'0ZO(AHF.PPN&!\:Z!RL%JP&^Q&3)#H5X"&O!] +Q!UE -M#KP6R")(("DB<Q!:(H<$VPZM&<L )B,<!IDE PI@$-0*Q091(2,<^Q%0 :8- -M,R2C'P42X!C]$P A!*($YH(R0QR'PLB!Q8=&^ 'G29C$"<=C@!J!OD8R!D^ -M%PPE5P;/(C<F5PK."J8BN02:%YH%.0DH O8(UB9])HX!0 ^-"N<.EP2H'R,8 -M.@?P$7X>(!Y_#]<$[AR6$*L")PEE'3@.2027$"4"9A-W#B8"V081#'(#]P1N -M&2T,82:1$M4 $PN##/($,@B/#F,E/B;Y!/H8#!/X!UX3T1\\$J$5T!",!^\; -M[ O2'H@.\Q0R'&$<M"8O&JH7Y2""%0T"TP\G'E8(8 9J%6@0PQB>!241!!1> -M&B@%G@, (B 9A L@)#0%>P1/)5,(XA-\!/87VQ6+(K,)RP$3'_L2/@// *4: -MU >U X8G"P6- $X9AAX( *L$?P $%0 +( P9'38E;1*? C0<^ M.)48"U@GG -M&:@9(A:/((X:!!^M P 1'1\, T E_QI0$1,>!B%& 4P K2 Q(3( !!FB#:4, -M*!.& I0%]!JG&&(92Q_R'OD@:B3?(\D($1.=#3P:YQEO&AL0-P2X'T40(@YL -M&R0(C0,E!(( A1!)&>\'$P/>%80AM0$L"08-OA.9%.X6VB'?&:T ,160%9@? -M@ UQ%R\4[!=+%@ 7(B1'":X&.R)[!+PF:Q+P"@TBEABM(&P;Z QY&% (^1B3 -M""XD.@[U)"(.&"0(&(X-YQNI% 8>+ LA'-XE' D#"UP"@17^!/<(=1VD$OTD -MX1N6" X/#@$#%0\%Q0QH%L@-%P[##:<7Q28/!"P0-0Z:)@D*R1C[!B<7^"5B -M :,BT!*' (L3\B35&-(9[P?@ " 99PJ /T, "#V!Q$.%1T%&0<-PPQZ#.4- -M5Q^3'1( #1CH#@,F? R> Y,8R!^B(^@0'P5/#H$6>AK@"FL/C0:1 )L*Z1E! -M&+X>MPG>#^L* !.G!)( 31D_!U45,Q\J"HL!+1,>"0P:/":# .L8K"9J%TT1 -M@2-[&),A;B22'XLFS!D%&O8.]1>H">$"LQIR!N$,<R*J'',7P!S\%CT1E06_ -M)FD8WA)'$H$,]A:[%&T4GQH#)H(!J!$Z ","A1__)"\6) G1%' 3XQ_Y!\(B -M#!96':$,+ JL"$8<3P[!&/<4+14M(!\/P0[U%CDEI1,#$ID6X!$*)(@7#!]% -M"@ ,P!_#%LH)YR"W#X<"41GT%L<&*1%,(/($M2*P#H /_1:> $H6>Q3L :4& -M!0*, IP6,P=7#O$ >B*W&64EU ,]!3<&^ Y'&G<+Q1V@(PLB[Q'2#4X2R N: -M#_4;[!7Y%UL+D05V"_L*50G.!"X*Y@-2(?H-L@3%'$@"JPJ\#OP6E@\Q$.@A -M#A7:&B0*E!M'% \:G SY%KX'>P@] ?05=1;[&[\/:P-)(E\=[0)I"VD(QP!] -M&F8@WP=E" (CR![['J8BY0,[#88? B**%B<@8PC" 8L?F@;B'Y$@I1K=!N\/ -ME@II$)0-TB:5%5T061P+!Z0B=!%:! H#MA/(%*H +1'3!L\=& ^Y(X,F\Q;U -M'HL/8 ]D%]D .@) (QP"F ]/)+4AN1[<%@$#"@'A!V $M!/M'K8=I2/G)>X* -M@1&%!PP8QQ#K# (@I1:U#+XF PY!"" +,!8J $TC>AB) ]4+WQ&\%!H&=A ? -M#'\%=A1_!O<CRQ1! L(*OB#N)J@)\PK_"<T-3 IM#H$*H@<' (H#GB.>(4T1 -M9B'<&, F*B'M)4P#Y1;6'8<E"R"J!H$*S2.%(#T&O292 -4>S0LE!8,(Y!CP -M((D3:12E",L9\R9I"Z8D%P.?&?4%L!\N(? 7LQZR"!P7V!1A H0-O1<S&]8= -MDQ+Z$?H+/B22&B8$V R(.<7X14*(VT9W@A;!B@%$P[##^<:?Q! $V\#]PR0 -M%:42U@K '64"% /W#6P7X!LT!"$4V@6I%<< ?QU.&=4=A!3A!' 2-@;-"9T3 -M]"*P#^0=QB:V!UP:\@VZ%8 /"1,8!O0FA048#38'U1R3!DX>CA2;)4$$7@[V -M!V$-#B$2&0 _@HZ);492A-@ 8T*$!T\)#L@* #'(78 H1C8&:T5J0>F"_L4 -MCP(O$UX!.P82(ID<$B&N#L8>/ S.!P(<9 I(%7TEDB(B#CL8A1=\#AH!(!!N -M%J0-DQP&$S B-ABS#T$CP!\1$0D1;PP7#>(&DQ>.!XD<SQAR"&@9HA;6#-\/ -M0@)M#W\5B!LR%$ ?90G[&%$;GQU !+P3(@FI'* .A!;!)<@EIQO0 ;L=O"$1 -M%^(?PQ;!#( >1"0Z$-<DCA(\'(0B( ]M D@DUQ<B&FD6RP5Z)J8;L F:"$ 4 -M7P;R&;PG!R;D([P:3122#=@9)26?!E(50@][",$9?1/I&H@B/17_#\8&R RX -M()\4PB;[&N07?P1B%'<A-1:0&?D3^AK@ <P!VP4Q"MD?8!FB'J8;:B:E)*\. -MT29J$&</ P)S)=D(90"@!2\ERB%P)%,C!1RU'_L7@1N<'YT6?1VV"7< AP%T -M&)X1_0?K(],%+!6'(XLBDB,B("@1=A\L'T4<,!&"%^P!*009&T0EE0$W(O<B -MLQ=:#^TE;0G,$F<13 T-#<L""R.V'.D?0P.V#-\!HQX%"ND2% 6Z)( &GB80 -M E //1W(%+0"7PL.'*,,_!ST)'\#ZB1V 9 !Y2;B!.D -!M_#((*0A./#-L0 -MC23D&LP4VQU4!)<D#!,Q([D%/ $R"%$FQ!^P ]\;SA8K&OH8S FL!/4?=0** -M#?H>30=5'8X"7 0,'_$?Z0;Q':(/UP;1"HP?10 ! 70#2PR=%ML62 ZH"6D@ -MI!+F Z(/ZQ_5"CP9IPSF&TP@3@+U#,L/.QZ8 >@<AB3O"<PB#AU=(<X;#0WG -M(:D751^9(W$7"1=^"]\/Q@P[(Q,BU!X[": 12!YA T(6D"37 ?L/E")?%E<C -M/ P;'6,/R0K5'NDA8A?*&6D8M *F%2@5OB0S%P,* @!J!Z(3F@N3)AD$/@(^ -M)" A"1Z9%!\E00VR)F4<: .8(8P3J"8+)7@BU2"-(-T>M X%(7X+X!Z%$2( -M' 8Y$2H%3A-Y(J<CB!TF T0-@B0Q)"X,SP.0 2(%V1%,%Q\0,@^C%O(AQP"G -M(*P)LQL4$XT9=PH@ A@*JP#!'.8+@1YZ Q$/_A!8!+TBE :6$;T9!0T=&1<% -MXA?)!+T$;1/^#5<$-0>F&A,<_Q@)&WH6QP4Z!"H'CP)' & B30P$$L <A@4> -M&LH7MB/>#T@-:!0= J4=30/I#FL%U L &WD/\Q0K"\X'Z!= #Y$A? HC%V$4 -MU0#4$:P*;Q4H')\BAPK"&JH@CQH4%A4DT@2A!W0&C1MF)14:G@??$$H=8".) -M"A4<#1_?( P%K!K0)/L4XR9F$3,6X P/%YL<D! 3 ]X#>2"D'O,>' PC(&<B -MJ1-P%I$.]Q!< T,@)PYJ#<0DKAMO!U0<1!%+ @(8SA.8 @< EP1?!X ;_0") -M%F@D/0G>'T 2'AW[#'T?2AQ$(T,+[ &M$)L";1)/ D0EQB'4'JP8DR#Y$VD) -M9P','*L::1ED)O\#)0.3(?@170 X)%<:_ ]-(&07V"8S#>\"M 3K 20#00QV -M)+X.G $3!$L%RAK%!#@A;Q_+!703)@LZ)8T6L@#L(/L5*"#)(B\.( !F&+ / -MI0,I"2T<7@0D Y\81 <U"049R0#J&V\$#1^,$+8B4P17"N$4XR/6$P(A7P>[ -M)>4B]PN+!D<!/0'\$?\ENA) &K@': 3K)F@<Y@"P 3T,<171"R %EP(A(4(D -M+"->$E,2<@E<#_ %GAOY "8)10@A 6<6 B#<',8&4002)G(![ &J%5 DV!;' -M&)4-?P-_) (!,P]O !(<M@="!PT!8!^5#>XFP0[_(PX=30XR(1,@LA!Q#*H" -M:0 F%SL-,!GN!@<0SQAR!]@C!17G$JD671,L$-@5;!B$$TL+F0?%'^ )$PX= -M%O 8,P0;"4 4"A/Z$#TBG0VQ(1L4@P4@)=XF2QD@ 5X;M"$[&1T3(!"@ [D6 -M[1+4%W84C"%+ XD(:!XO"SD0IB;7":09R@$K![<.H21T$;<0?1"Q&^@!*0^I -M(5<!PPZ]"X07(A=$#^\5EP*O)"LD#AK4$W8?X087%RHBFPZA)((-MPYN!BP8 -M&0%#%;8.ER*((+D:Z 7X#6,EL!OV'90B=0P-!@84!Q%.&JH<ZB1+ C($WB&P -M"NH8<!WG!#LB>A$^!;0(YAZU()4.70NH$E,!PPWH!BP=GQEM#\T?) %!$: & -M?B/B 7,>[P38(Q8#Y0<L)104\!5(%XD03A.##9(?(@A;!Y\<^R+N&BD15@WG -M"!PBM0C0&>,"'P"D%MT2^![B"%$&O [*(54,/PW3"/P;(1Q,$/8/XP-Z'A$E -M;!X #T7=R*F'A0C)!H[#2H'R -Y#Q09OA7C!^0EJ0;A"U\"0!*&$-T'UQ;T -M"MHBMPLL"#@'SB(]#!8"' Q[)*T5M W2$SX,=ATP F$5DB;N)D<6' =A $# -MT!-S"^ C]@.[$2<+ 0.J!%@5DQ4+!1H70@>U(TPA+!=)(V$0[1#- D<0BPVU -M(UL#F J%%1X#P1<Y"SP752#@!4$!"2-7!-D-(26Y%BL<$AB,$C@EZQ0Z(@H+ -M[R30'^ -U CM"[@ 4Q.#$!(( 0RW('X8(@5R!EH?P!5* ^@<G0.Z#"<CAQ@? -M!F8<*A.$%2X(HB8H ($#N!M[#!<)\0!$"$D7!Q;0'V8862$&$M, *26[ O04 -M+A%C&!L#/!L] 7T5'2%,%IP?:!7X)MT/[Q]5)K45.B2>)4T1IPSS)G,+[0.H -M"+,&&R,;$38,A@Y8%B,3/PY&#$<@LP\ #J<7Q1>Q',L+2Q4/ 50+ 1!5(#,* -M"!"T$ZT5RP_W)ID,5!W" N(1T0=]%6,!9"!H AT#JP^I$U$=YB,V%$8'IB(Z -M(5@)TQ>9!98@_Q[8$W 75@<X" T#4 A0(X@@D!:(!/0*N F-!\T"(Q22"!(* -MX1DY&WL4^!W"!6T%&! 7 X,1QP\E#$0/)PWL#P0+^@CG'E,0/PZ"'K<7^P($ -M#^L.Y0&;&K4=D@-?&/T) B7M%T4'6PF<!(P>XR$.&(8)5P2U)9(AG!OD%FX6 -M_":?#=,F'!IU!O<,HAO8".T<GQ3T(S\0= /M!R,2WAM0&A<*R2$1(ML:*0A; -M'VD'NB*9"^H/%A* 'B\DC!ML'X #2!Q7"6\#G1:*(:\BBP:Z&_ 3Q02I%O81 -M@R'.%GTC00/F'X,8>0- #\\,E1E"".\ERA60!0T=( V"%H<"\PZH&1 <\QD* -M!IT-7R/V'K@7 "&F$4D2$Q8?%I@9_P*##&0'B2&3 :09NAM)"]P98!C*%'($ -MBR;9 2P#(!X$'WP:81IZ$?@9=@MQ%5P/[1; :\>9@-)"Y@$"!XD)*XG P@5 -M"%<21@!Q'(0-.")>$ T',1H-&B$6-P,;$N0BFR.J!'$"+0W?$&T/O@ID%P@' -MUAG#!,@8F0H[%+H1J@(F"M@6S"8R!#0-&QC"(=X=S@Z!'30$Y!>F)405M@KS -M(,P/;!7. &D+TB53 (H&=AYL)ELF70XB D89U@4M'CT"$@F\#3L#M@U@$M<= -M$B:))?('!!/K"Y02!0Y$$L<: QU&$'\B3A_;!F0(D <2"E(.32.((%P>="4* -M)L ;)QC3(QP!7@V8!\ # !9S$5,+4B!@ \<'2A%C(BL=R@YD&4P2D!G, BX) -M42,I"9X4'A2+&=@)5A!8)387-0Q"#Q4-F@ 3&,4;?!CA .,5RB8Q$&@"&AH^ -M"L %.A"-" 6F1<+$B@*PPL#)10DZB5B!BT#N@SO#FLE)A)7)CX3*PG&&<4@ -MK1$L#&( 7 QA)+\#9B/0&\0 6A/O$+04X!,X&X4&CP7P&XLBO1L]&J()T (^ -M&",5\@#A!FP+AP4B)JT%VPH6#N8)M2("#6DEQ0\S =48UR"^%4\5IAIB$1P! -M#P^N V,?GQI! Y(): A5'',D>!93)>T(N0V0#R$FHQ<6%5\8R@#>'_$E2P8' -M'+,$9A-R">@;4A;U(Q4DQ08&)P@=2!R+&>L#/QB\#KD!B@=5 "41P0NF%/X> -MU"-=&:((E1CL(3X(TP>@"XP@N@7.&<</% 0> 7T"C0]J(> B82;H%ED+U!II -M%O &(@AU"0\9,QYL 0D5(!3Y $,B+ B:&043^@IG$5$8<@\K)8\/Z!VD#]L) -M;Q".("L* 25N$+(0+188!U\BVB$$!P !\AH'"HD7$QA^)1X<1P/<%!P5V2-) -M&J,*@!PL(= 0TPB''X<3#@-_%/ 9FP#A&HP;8P45!0$<K@0@&PP81B1\ ! 8 -M(!D>&[00"2(0%EL772:V%+$0#@Y#$WP6O1(($G<69A]J)1@%=1"J'0D!AP+B -M#VD1]A"O'9H"$0'8&ATF/QJ2#)H<V1WN&I8'?R4U&DD?&A< )<4*3!VW'5PB -M3!@Z#WT < 2Y%7,*4PF>%TL)TP3.$!D/U@M\ D84>" 2!#@D 00) EH=$0@1 -M&U8-,P'I I(=31@7#*H*L254!A( \@D3#1D#"Q2:#!$8Q0 8!3 @^03!"U4F -MLR.)#L</ 0R,!0,4U![V$:\0!P8]'#44^2/$$,TBQ@]O)MX9?PA4&C\*!A4S -M"=X3& =-!OD,+Q8,)KX&]Q._"YL80@GH&S,,]@>2!UP7)",1"7P@=PR9!+H+ -M'A,4'/$4J!<!#!\.P WV'I@&"@*H)=(FK02)$(P#?2,T)CP-!P)L&;4#K2'V -M <X-PQG^!<DF=1T/'306O0[K(TX$>!E')O,5GR-8#WTDD078"\$;.0J%%GL) -M&AJ:"3 %Z G;)?<=*!Y;(.\+V0+O'N <ZA(T"LD4[0HY%S$*Y!0A$F\BS@_N -M"-4BO"&^ @L;( K,$+$@)@[4(. 9(1VP&$\-E20&((HA9P ](]<=$@_L(G<F -MIA !'_LFD25E#3\1:0@L"3(FDA@B&%8ABP)'$!<(E"#&)1\@C"/[!CP,ZAT) -M)+4 YQ[,)5, 4Q*+$-$5( [C$O(&[ EF!U4-^A@='ID #B"("B075Q1 %;H! -M@Q:(#)8'50FM'X 6TAA $J,;+!6F'5DDI1ZD#<L*NQ9E LD(!0I?'3 3B!,G -M(G,0<R;*#[X%/0L3!E8 #"&&%#H@P!A8$A D/02:'$ 2\0-W! T2^B%_&G07 -M7!Q_'1DF'B:* L4/F@,?!7@)71X;'MX$N R$'V<AI!W=!RLB_!89""@ O0D, -M&'\ VA@)%3P 0#""J8E/Q%9#A,-1R3$$OXACR;X!<X(&0W7"0P#21.8#^D7 -M?AHA#T@<I2-K)M8B7!Y!).P?T0B?%O .DR2))MPCXQF((.DB?1H@%]0/MB2> -M$QT6> -%CL(N1#N%?X89@&R!,4=)0EZ%@H29@K\! D1! P1!C,'R1G/$T,= -MTP1*$X4 %PD=%G<<+PG'%D<!)02J!VL!JQ7_!#D.7 (L)B44B!W '0<BYQ5U -M HP7?26[#FL9_ ;@$,H)W +V&D,EP0R%)&TFHAX9(HD,(A 4#10+DQQ" #\. -M5Q!F!IL4:R<!&04B+ ,^&,P4Z0O0$Z@=@!WE!N@*D!B_$?< \R",#A(CH".$ -M$$,&4B5W(U@4!!?$(YT7XA'M <X"Z1QV&8 ;XQC+!R$#I 0K 24!NQH7 $$. -MQ!#_ N\E@R('%8 BS!Y$(5T0FA[1)&4<4@A #&40JQ=B$L0$*A*X'#\%T *5 -M)4(042-R I )(A2P!T\0^R#"('D+1!3Z%&0=G@KM(8(?<18J#XDEW0D^ B$# -M91JH(@(.]@AT$^$)J I$ ^P*C09F&\D?I1*, Z$B1R0X!A@B518@($(EC15N -M$@4FAR,M$_@'!Q#Y(<4".B;O&60#0"&0 T8C1QZP%Q,!?0K+']D@S@/C%JD8 -MR@2^$X\4Q!L0 : 2V1<X!1$=?07; T<'B!;V%G$,R H,%( %M ]!$, :H@E4 -M'K,D* 2A"(4-(Q]R(+PFHP&W%< ?0Q;<!,TE@AZG%U$C8165 \H$I %T$T ) -M*"6^(^8$?R+O%&H$S G&(:$FPB )(A0=XP_.)=LFL 7_(#H/KQ=+)CH9M2!( -M$(8>Z@B*)!,8EQ#^"NH,QPW@'5L83PA<$-H(R@>W G,1;A8Z#54.(Q$Y(6(* -M^ADS'VH;11;7&@XAK!>I"ZD"" \.%&LCUQW0":\*YB5Z(@DF2!@\ R0@- (! -M HHA& P?(H$+X02*!/,>S!^R%@ <20]1)=\)*0+T)?PE!0L$&UP+JP7K&.,< -MEAU''^X%U 7>"#LF<26F'=HFCR&M&T\)+A+^))P&S287#P029";5 ZX#80K= -M%4< #P(0#C 6]@%? %<1]<$E ?4AV %J8,00=; /$%8!'J#"8?K0,M"6T< -MSA%K'<\B\A%F"9,"L!;K(#(-(2* $545CPOU 6P/K""5$(<@J!9<%Z<'HQT^ -M(1@)&"61!7,@$PH"#RD#)!8T!BP5]@#]"$0<P1B'(HXE$@P$&CH#6Q,Y =8& -M( ]*#<X6Y0!$"-0F;@;1&D4ERPQ] 7$D4QL/&N('SQ#?!\H9S!_-"8@)*1T3 -M <$ R@_ >H4VB) '&$3E"'@%PP5I1,;%] 1'QBS%NX%]!W6#4@8WAA% :P' -M4!/S&"H)=17(!UDB9"5D'C8/*25["D0>4!/"'O05L10D$ (CX@$-'_T-_2 I -M&% +2QX #78?RAV0)G,@# ?"%^X-C"/N(,0%)"##)&$.D!KI)E41% >O(7$7 -MTQ^J$ 04H0\5))\CB27H'#@'J0H)#F,91 AY"2D65B'T%0D;D Q+![HDY1*: -M%0X9C1H'(4HB1R U _X !!T;!E<12A4W"HP-E@#8(@DCNB/ )4<)+ #)%+<7 -M!A6O#>P'$P"4$YH6EPU7"EX1(Q<J'$D#-@$P%* 3"B&K#Q\9K0<2'[D7W03D -M(K0D\0U>&\,2D!8\#DL(/P&6&P49_B:N%#<$6QNA%4@DW )]"]<2 @BE(8@9 -MT" =&U<6G24; '<1&R(/";\DV11]&$L9N06^'K@ $1_%!E<0ZR.@';$*Y!*1 -M!%D,Z"7?".TD22:F&Q(.# WA((<.=B%( [@9)0<")(0)11]J)9<23P-4'AX+ -M#@+(&R438AV, TT!12&6%QL>I@"&#_P@@ HB#2$-G@AD#R($CQXI"[42GA\4 -M"ZX.>AA6&_8(WAS7&_0 W '-$24::0T_'?4-S1!3$60'OP!@$OT3:0>C!L(6 -MK J" > 5D2!S)+\4DQ1H%=4!8A_K!XLD-A3:&44,/@CV'547S!ZP$M$EWB;2 -M!L8 MPP.(H<%8@:@&ET411HM!9$9'0NM&),1S0F)(+\,IA)H)+T+=@DO%6@< -M#PGP'R\<OA!'!JX.EPZ&(B$>1@NI!! >5@K#&FX8NR.'%Y\5S!5]&*$&DB4" -M <T/EA%*(AX* @]F)A0;&P"6&-<> @TS!3 ?P!=4&NP2_ @[#0(.> 2U ',6 -M$"! #.P!=B,S(C83MA0B$^060AJ:&_0E/0PI#N$/H!-D'.,:H 4")88D_R9F -M)M$-[R'_"4@:[11B''T,CPU&(64)O@8S#MP+*B,[%U >FQ:]'3L;T0(@(T @ -MSQU6$=L(+@W2!BD;VA:^!\P%RP:D%9<".@,7"A(,"!,G$J,<F 8)).X=<Q#K -M#Q@F2AK8(5 /G!O5%F0E8P,6'2XEP0#;'(L(EPD'(=T4D!_"%7D8LAO! CL+ -M:"!1'!(F/0] $](*N@8$(UX!BPV0#/$(X!7@![04_A3#'3\/+R+7!6,3 R:W -M )\&[PG&%)X?_0;7 HD2VQ8$%R(?E1\J#R0#N0!;%)$"2B"Q!3,, 15!"F " -M] ZF$\D-:!7A"VT0Y PE!C 0E"9W&H05J!I\ VL+G@5_$Z()M0Y\"(,6UA>9 -M&&,E$Q%9(8H$^Q@M(>( *!)@%@HF0P!8#6$7>B%=%!<?(217&I,*712=!,0* -M)@7G FD77"#V :P)AR..$LT"%@2>(^(@:R5*&A,$%QJ4!I *>@R]'T@:<AVB -M"Z$1/B3T ;(=7P)G(VP4.A[K"FH/:!,\'J\(KR%\%+(&$"#%$*\<[AC;'=X@ -MSA_@"!4"&Q.I';0%G!2; >(0_R.U'S\96@= #LP3;!03$0<:EP3B(*4-'PY! -M&F(;C2)5#>H.T1 R #P7;A\K(7\"4!'H$ H-3!W!&N$*B0Q0(2@8N0OC&SHD -M$ ==##H2^Q@L#RT$% ,V(3(9" >!&E$B)P&O&04<K!O!!-8:)R.,$7,4"!$G -M$; 5'@0H(.0"\@P_ 6<">A0:'0\'#P1R%S4 - 82(!8A/0OA#[L0?@1.";4, -MN@\@'8(:O QO#DP7?PAF!)L/]@N^%A $+AZ?)+(!H1%\%QH,41_7(C(1UARZ -M"-H*(R7+)GD* 0\##L<1001#&LP<1P,((G89QP<$$V09X@:N$N &R1-Y)?P! -M]")X$P81S0T="D<':B'3%Z<7KP50#R@7\1A+",@-8P[K)FH"$2'V$\\2:272 -M&] %> 5I"]DDR!\7 .@;\@4($\023AF6):(3@0RL#(4*;!*@'C03ZP6M(Q0! -M&0"0%=T/XA9R"*P+%B9: XX.?!6](0\@40JV#VH!,!D&! 0C\PA<#FL)9@=: -M :H+:@>A#6L9L #U&-06\PEV)<(8O0.W )8(81TU%TX%@@K+ 3,D[!:J%F$% -M.PRZ" \F\A@@!MH2E0SA \8A7R*^ '4810CB$-DB(PU< K,761&9">@+M0\I -M#? %YA9@>CIAY7!CDC.1ZX![@.HAZV%)D4B0SE(6<*WPE;'=T!.QDO'04) -MB .O#>\'AQ(I(L\C-AP$!\H8#1 O(C4)]PY )=D6-QCS)(X/)@XP#Y <10GS -M)>0#X0CF%J<(- ;4'-DEQ1YO']88KPBQ)HXEV@-T"G4.W M7"'\53!R^(P$= -M%0(#)2,+<QOC(VH!% Y)$V,'<P?\ EL4!!P'&W<>(!%A)HD4CA;9(U$.>1A* -M#_P$YP?7)<X.*!0\#=(B0Q_.$]\B-1JA# H.N1Q,$Q,2"Q!'!J,CFR/>!40+ -M6AM/%08-A2&T&W0D;0X#'!01'R;N'G8 :0N+'7(+A@^4([8:B13<#>,$711B -M&,T;7@[))0@F;Q*['2@ETAM>#]H0#@_E!*80P E^(08,! 5S&<(CRQTW'X$2 -MDQ,* H<8. S&$ID%S2*<$OT)6P6H((<#"":K(%4D! TV"MX,,Q1*#H(3A08" -M"C,CQB1?(ID)LQ!V"_83$!ZF(D0?G YO'74CB0*;'GX67PC5$^(57R.##4X! -MI@^:&O84; 3 !ZT!=PK% ^00.P5;$]0=] .L"/<B'"-C(F@8U@JQ'_,4X!%" -M&W,.+QO9!OT 8!P8!-X#>R(D"2 32 BE!88><0OA("<9@!NF 2L<?0:3(! ? -MH0:&&?,<QA0:)9TF] NA)=0%I0D>'4($4!G5&GH(U@(%$;(1.Q]T"TL6E@W^ -M'G4*6AO()&P7O00, -D#U!9Y(WH$^QIN"ZT83PHS"/$G"P &U\.T@VS)+D< -M A^!'5$5-1^L #D2T!BD QL4-"9' @(@L1G-"$TA(A+W%C\;S JF&<0520/Z -M'!,AUQCO%3H58 !O!&T=.P(\"E(<S@Y8&;(&01.N!X\?K!^P -L4$2:;!+@1 -M)P-H$X4ENA@,$#@ ]QMN!K@-:PY5 WP- ]")A8ESPPZ!$@*)A^-%@PD(Q*V -M&Z<2V #X&U #1"O 8$*@@L['S,9[20@&;,FH! S%0 1XA_J)"T<8B8+%98, -MJP3W&(@ A@CV!)$7OP)U">T".P0R#^,82Q?]#]L>;QA]$1(!^ @Z$&P # &, -M(&@:PQ2S![P(G1?3'68AJ03['(@0T@P''!4<RQ;6!UP$32 E $D16 (3%A$3 -M/R-G&8$8T 2O$O<$O"25!Y,2%B""!.0D&@CX&(4-M!LY(<\4VB),'%\"6R3X -M'( 5NR;N#V$;80(1(6T*P!=D(U '4 (=(&<0, ER#A,!#2*:))()2 =: .$= -M& E-!XL!J@@+#0D?+1A-(=D5XP@E HL:Q0<&%Q8B7P\P!WT3TQR#""<1417M -M ;4BO0TN%: ?] EM#MT2KA3K'=(#00,\$-X7M0>7&RD- R7W!!\?-2*R'KP, -M7P>5%E,DBB'&&9DAPPH5#*D:"0]@%BT#"",!"B0%?"$ #8H@MAD')40.&"&F -M%X4"/0.U(. ;ZR&M"H,9'2'S'=(#! !9"N(< 1JG)0X>?P82!94@5@YH%.@2 -M,B*4(S4CRQ7X"3LC(!TX(XL5-1^/!-,$F2#Y).,BB07V X,24A\+)7X TA]] -M%/,AN"'4#L\;WQ9P#V,41A+3(&,%ZQ[.#"H;* G"%GX ]010%Y\(" TS'S<; -M41XH!M(16!YX#'H)T!#(# AU@>)'@ /\!.''%4:,@!!'] 5OPP[#:P?8 R* -M(A$F!0#V#0<?RPH$"0,4"AX%%_\*@A-C(T0/?R#!&38+S \$!V4+216E(3@! -M=AX)"!009QGH%W,001T#%/8._1TY$%@/VQH-"Z89K!\&&NP,$B.W#]0#W",D -M'50)?@ON&,T/KA-5&!L*6";-! X+YB+[#JH0&PQG#V(*>@[W)2D$O0&* P\3 -MYA]K$V8,.Q>"(\X;=QOC%8X3=10[(:X*Q20N#C,+4Q/E)!8C#PE&$)0B;@ ? -M&L,)E1W6 A 7G0W!$DX5)QHA$/82%0>("(8#R T0'>87R!2+)3L(2B":$$T" -MWR/'$;4=11I9"DL8OA[C'NP*# '>'W\*=Q*I!) 5%16*!G\*$QG7!ZPAD15Z -M%Y0=)R)O!+@3S11R F$C!A'(!(4(,P L ^DDL2 ^ ,0%[0!Q#>47!AH<%X0* -M4 WM J 6RB*,#*T/2!"2 > /9 YT)#H10 G^$NX2W!7?(XT9$P6?%"P48POP -M"CL5AAU9"2,+B!US"J@:X A< 98+V!3""B :Z1&*"KPBIP^<#((9=PF<'O<@ -MA C"',TE/AW*'=D390^$%/D/0 @%(B@AM@!\!9<&:Q3X'C(&W0HU'/8 X2/& -M'BX Q0I8)3L;E@D.(PP!L0'*'LLB@ IF#/(?FQI<%D<4!!T7'T@D%1HH'L@ -M'"'7 @T+6AUA"8H<31XZ(MX ! ;P$'$ :R++%L4@8P[0&^0A\A9A![P@C1C' -M$GD3&QG5!U0;T LI$5$1712;' , ,"1I'J0;TPLC' DB6R80):<)L0H!$2XB -MZA=U#A,E0Q+S&.P8Z!5F(V8(TA^=$)(.&ACC!& C60&P(80F= &[$?83;0-- -M%T83Q1\,)2@CN2#"'"P ?@:(!)@DA1(N$?H#+AP7!]@1:Q9Q'68"AA=O)NLA -M9B8_'FH!%1G&'; #A0T8'XH,50Y-&48#B0Y)$$T2Q!H;)H$1 01C(&4"G1K? -M E(!8064#3L6(Q^5!)<0DP&)&%X!P1<K#T,%D RD ,T+SQ@; +P>*R.'!4\' -M8@;_(,(!O "B"<T.K0T:"L4 YQH(&Q$9&B-! ZD$EQZ'%!(5)"-:(MDFIP.U -M"GH#C266%)\'!1QJ$,,.M WW)$(910ND#*T2\AJ_#FH4K15G(*H!"",7"K(% -MWQJ>!A4*GR0E%',DAP/U(;<=BAR>"@44WPU8#R0*O15()C -W DI'Y\5M1=J -M ^D R1>,$R<4F1,+#3LF?A= ("\"%!,<$;PF.P5-"W<==!Q6 2<+S! Q)=T, -MR!%'&8 >D".4(+\9X0Q4%30?FP=+&AH;>AV" W,0LP+[#_T"M!WA$:L*&R#[ -M"!$4J22I<C!4,$!$.H@BF$2T1,AA"$/H QP/])JL4_Q=F(T,;L0T*%)8& -M 266!V %UB4%'U0-;A(&%08G " 8$5X-Y UR!4H,BA:_%J@:C@TF"Y@&OAMI -M%?06-1Y9!U8=3!KZ#ST9#A5G"L "QP/L(@00\B9^(C@$!PQ. N<#QP*L'RX5 -M+A?)'GD#^0QV!J07'Q5K&<<>\@G"#+X3#0@H!5X/MA_7!J$)F!M5'ST<&1(V -M&YP9/PV.(=0,?QT+%4T$- &C"CL%?AF%)K<7;":5$W(=^ 48 S82RQTR)7<% -MDB.E)N,%]1;*%DH77@V^%2\8; 0H"N,"70/]$7 &J1+F)8X!/PD3(,P-VP U -M%ZDF<Q N)3\?=0BO%O<@_B L$ZP?R2-Q"9 A,AC&&,DD#Q(?)OX$P1;B!V0C -MPR,5!3,5EB#M'+4CC"*U#M@C>A<2(@<A,Q46"1T)PP5.%101QA;N(205O"1. -M)D :@@<L&BX&CR7" (<<_A7Z&)<>E!NH#1$ N0YW%\()OR*L%$ .[AUL(70* -M?098%8LF+P$T)*<B'0P%''0<A@ C)6T3/QTF$NT- Q8]$FHA2@B0 \0?80AA -M MP6H"-J U@**0)!(4\5EA=/(,<+]!#X U4,[QL&(+(6GQIC)"H'K \6')X* -MPP8H!HL =P&""@L?_0TJ KT,T0+&(K47^R;I(MH?[B"W%_HF=Q+V%I$A9Q[Z -M'.D-@0Q'!>06>0YN%VD4;!5H"=,::R"/(X 3<Q\S%H +WQ:&%NP'C UK(%(& -M@R!Q)<X6;11))&HFV@F! Z -_B#U%#$=82:$)@T#2 :',0*/!S-!%H=L1N( -M%*DAJ L )><."P@,$]X*<0W*!4\'11!\#G0#@P5(%:\#_!9_(2,#X" Z),,, -M;!GJ U@8;A@R#TTD4"-+"2PCUA[ #2XBC0]$#(H@#@\]!#L)BAGB'7(%[P?2 -M%/\$NQ'U! ,BT0N:%,0']P[T)3HAX 4*&&,@SAWV D@A:B8V$E$)$@\S%<() -MB0XD"[,='1U%'60CZ0<P(7(;KR*P!IPDK@A(&*8$H@[8$; *G0Z#$%P#4 \E -M \TA\ "K#AH'%A""'^@1%@* !G0CO0>_'F 67!^5'=H2?!% &'H42!E9$#<6 -M60;R"I08IB'Z(L '8!_K#VX2E!#$!]41AQL<"],AZ!"X'^D<Z"&G U 23A$2 -M!1L&\!RH&$ 6Y!DD K<)C I?"180,!9M#U 6\1-S'E@5?QPC".L>; ?U(ZL+ -M9"(4$I(@= E;&E,!Y1^)'K4$IP/5!\X0M0D"%84++0*D$Z\1HQKT""4<[PN$ -M$LH<2Q^K%^P/<PV]! ,%NQ^F$!D.JB4F"XP+TP.P(KD@Q C=(DTB[0'W!C0= -M'"8#&X4C?B*_ %H,2!7!!8</G"*B$B -S0XR$DXC 13>($,AG"-Y))@>]Q?E -M'54BQPRX&V ,&PVT#,DE[22=!5XB\ XW(3D/R@ , A(D.1+! OD3,1G.&E,5 -MY18% L\;2 1J!#8B7!$['"0AW!1I!CPB8!^3%?0#CA]6(C$5)@Q;)D4)O @] -M). F"0Y+"X@#D1#)#P\:ZQK3%1 F'221$-@5)PW-%VH" 0R8#9X!6A V"L 7 -M!PRO".,4$14P&L8FO@CA'0H9_PC=)?@/2R8Y(9P.UQ>Q#^8(G AA$G$:5R%5 -M$9@1H"%C( <A.@QP"PTA@A=+)9T,]P6# Q CR ]5"$4@&!_<%&X#_2$4)OL -MQQ?T$<P-/!%?!=\C\P^\$AD1N29V&\ #QB8Z"6(8B"#)#;H.6Q/* "T5;!_Y -M&.@8!PZ]'Z4@JQQ9"'0-W 2_$CL"+P'_%DL6FQV &;TBYPB#!$ (^0?Q!&T" -M/B+ #,$*>0U@""H?)!&9!4T;Q"%?)1P-_ 1<%1@ [!U8$(4BU@2N B ;)P95 -M#-H@UA?W!7@ 3B.&!0DF>1">#>4"N 'C%1@)7PJ/ 9D%[@03(3D'51>L#9LD -M P.2$4 (B1DH'.4'XQ,9([<:L@OW(*0.[1M[![0@> 76$J8E02*%%@T(R".1 -M"0,AE2&,!*8>^B ](G8:Q0!%&T <;"*:!,4F&1/<$64&T@H$%+H&+"5A!9D9 -M*"2&!2 HPHO&[0C>Q(0( LBUQY%#7 :IQ@F!^\=?!6K$AP3NA9^'O,2+P/R -M)P,#!!T&'.4B;0E>(#L)N HK '8%#@#C)* FWP\<!#,4OQ[G$6T@( $2"U<D -M-@T?"KH.5PG'':<:/A$%(R,3"0C]!]D>4Q&A$TD/F 3!#AX;SA8E%0($\05C -M&[X>]04G!N@,HB(U"1\,*0:Z&O ",QTE$-DCC@1=(YXEPAH_!5D1W0W.#!(- -MJAZ:"W\A$B3#&64D(PHL WP!TA(R&9D/;0%Y"BH!' !C"G,DY0B/%9 5+PP^ -M&]LAS1," 1P78B1A#>4%!@9"!%P*)!2!&H\AUP8-'#(?;13X(:P 52!Q'] 9 -M_1,Q QP6) '7(I4=V!4T#0T2,AX@%JD-30YS ,\:I0P1#W<7'04J'"X!MAW! -M!@L1)P"W$V44-"+E$I !WR8% [8>@A8Q#?T00@_1#?0/+ 2['<L7TQ$Z'90> -MO #E#7P&CQET PXC:!/I#]@4O &H T\@_P2^$=,"^QO^(3H'>!*\"M</!P C -M%5\(%0W%#/D292!P"\<.,00#)0,/\0 /)+,=1Q2M!6D"PQ&_$;4 #PCJ%\ 9 -M.!ZC(D@(.!;R#E(/!A@B'5TC-04"%#D.DA/,"@($Z@$*$B D: BI!#8@:PQ+ -M%40(TA?>%>,2]!"L(+H%4!Y6#OH+$0N6 ?('%A3,(5</@!*N%Y84Y!4"(-<; -M7 ]>%OX9;1%\"=8#K@&#'L@!-@B2 Q4E- ^:&6(21 B2&W4%OQX.(_X3?0,G -M)N8+BP6 )>$DF0_+ K(@^0S8(/4%8!-X!0LB:"&))D AEQ\Q"T,A9R6 (:0? -MT1^=%/0=G1JI WPCR1RY%*,;,A*?$CDAO2$_()\EBPS,(WD0Y0PX'$ C-B9D -M&ZL(F U.$W ./A* $^P$[Q[O!5@ 4QSE'U,"<@2=(6HF"B3!%H8F/!K*&PT9 -MX28W%NP9^P^/(88)X".] +H?* $G$#X0#@['!(,'OQ !"F<.41.Y('8).1:2 -M(R4%L@F%#UH%LPRZ(M,6<2,S!#@B3@M0$PT-PAS('WLDJQ,'#5DCGA@%%<H+ -M+P%%$6T>5@XC&LH:P0/Y)P4=&@9C%FT7GA_9!JD<J04_$9P+? B!(&,.5 ^4 -M'#XF#20\!=0C9!;'!WL0XPS_%"0=TA8C %T&3QOJ 8 %>QT: H@!C0TT(#@% -MT""["+4C\P'A(\$@,0+!)3T=40O'(VX ?1'[(.D4"R*O"Q<0+!?P%C@&$PJ, -M%_@EZ" ^$D8#U0$()+D<5PW2'[0)% $8&VP0#Q2R)&,,4P^L(1P*; N/ A\? -M805M#@@6^0^"!S4$0P0(%8$DD!N4 IL98B<"%XP7JPFY&.@:<R&'$'D/BAF) -M"<PD#"9F"W4)FR#K!JHC(Q7^$ND47QCX&,86BA.&)!<87"-$%HX7X@QX%?4* -M=@C*#RD*!R.D)64&C D(!5@;- RB$&,F#!/')&$@:P)C$C$9! 4_'L\B=B % -M%G(>?!57!_$,'A>O".@9[00;":H2M CO'P$F5@VK'(T&91P9&OP52PRY"W<. -MF0R&(5DF@0MK IL$P@Q&)'@72",C'6<( 1UB(!\6Y@3&)1@(A \:(0 : B3G -M S,EC17&)&4'"@P["]8B.P_H#^P=KB';#V$&?!.N +L5V -((/\F[Q(;)!4= -MKB9X"ET+Z0ZF%D,!]0X4"9@ASB3S#J8*K1PV%OL4NA0W(A<)@A(Z(LX>- FS -M!&@@X"!4$S@4;@+< 0@2#A*($?\&Y1PR&)T4I!;7)$XF8QOP%%P?*QV_ 5HD -MUR2N&KX1\ ^3(S(7V1MI"04&A"(<'O 3,P"]$&0*(!E=&/T=+B#W ?0<*!/B -M'HD-4@0?#-T@#QM8#T@"<P'1%Q$92@HD">X#"@$L%O<!H!%@ -$8$A]_#JL< -M&!:/#;,)V"9N'O<!5QTK'U@/" =;%#86,"+#'B<2"Q5[&IH:1!O3&)(&S"%J -M%%<&R0+U(AP&)@;1!.0 :Q/# O<93PG+)8<8>QIK)0T'&@:4(*@8G!')'HX* -M)0<^![<0CAR2(" :,2 '$G<>(PLG&@0&RPU.&8< *P3: 2@>20?9%*L#-0 2 -M!40:,!1J ;4,E0>J$; '0@$<&\(", D< : 9HADC"GL3OP7-#;HEFP2_&#T% -MQ1F;$D\,N@ZC)EHF(@?"'%L ' F])HXC7 :X(<4'"!3/'5<"D@H]&UH?]2*B -M!$ 5CP#1!LP><0O&!)<44P^W&9H(WA1/ UH$3P27)BD#00ME&U\*4PK/("(/ -MZ1A*%[H$MQLE#[$9[!87'Z C7PGH(^(BBP53%&0,ZPF(%WDEE!>B!%L21 [/ -M ]$FM1S#(M\8< ^ B\4T1AE%CP5CPEN%,PA3A@N)/H/'QD>%<(A1@P$$;0A -M9 2)#TPE)P%D!=,'510_%[43'B2]#GL9 R*7%\T9%B7H(?<-I@M9!\0.#P.Q -M GL24PQO"] EO@-#&PT+PP]$!^$4GR @$ F"@.%!2@(=@3O)BT&5A7J%R03 -M+QWO%>H"#!H"%4$ LP+M$&L/I18C)'D (2!Y 08)-R67(5P>U2'7&X<B4A'& -M#EX-=P6 ')(@70Q_!RL6:1V$''XA_Q_ (V$@TQ ;&BP:7P7+).D!V1"4(LL8 -MUQ6Z![8+ZB#^(M4 ^QG6'MT$VR6C#&TAIQ2 %!0DAA06 $P9Z1]6$GH'?AG/ -M'Q0> 1^-!%P!#Q7'#R8!] FH&UD6ZAQ1!P4F,Q?#&QH89!>9%ET1\"90 5H= -M6B&'$.41!0C_'8$("1[! ML.,A-'&=0#X0%5#^<CX2:<$DX'A 'G"$H-WQ_= -M$*46K",O#Y\;D@MQ#N48>B0@#I0>* MT$NXC,16) 8(6ZAHU!*,+_1<[ _$& -MB109 ^ (@ #X!? '8P$]$$L"]2$6 HP;JR"2&5T0TR"3!<T@4B4.%1H? P"E -M&\DEK@MO&!470R64(^,1%1JW!>(96" E$P$:714K _P;7",,#*X<[ .G"QH' -M0"39"!,8SB10 >PD>!]D'2 3:@TJ&E@D2P4["\\E,!L: >L='""G)(4:]".E -M$(H0E1,6('<($2/E(O@!+Q=&'&H7R D)$:\>>PA]#+L@D!Z2"FT!;P0@$*X6 -M'"7;$R$/'1\H "D$5PK=&[$2 2', *0?""-'!A,5<PX!"[</#"#D'EP#R1^X -M$^X1-@1P!9T+P AE E<;HB:D%<LF#Q;+(KL3CA7"",,!@!G1!&T<;R+("R\+ -M^@?>(BP1;0I:!TH!(!M6%8P/.02.)D4A4R Z'I<.< -F&V\!A1V&!\\@0@?^ -M'5D*^R N!)44" !Z$D,<11_V)-H,J" <'7H@IB8")?(B3@NP((0C,27^&V G -M#18=!_$$J +Y#[4>L2,$&)P,!A(7#RTB?14D(5433R;% ?<2)@$H(:<'%@LH -M'3,7UB+U :(E1 FP"%$<]B:K$3\)= E&(?DA "#%&\,$Y03<%S<>1Q</!^4% -MPAW2'(4"S@QQ(B4*P0H=&\<:*PI""18.+"5/)L,(-!#9'50FT0-9!)L'/P)U -M!Q@3EQ'W"H\)/!0="7 =I"#^)H@F$P-4!Z88]B/[ F4/F KP $\:UA:W'HTB -M'2:Y$B\-9A9] ]HAK1SN(;4=Z2/8): &O05;"0T?R OI&QD23"8%!JX6I10Z -M#,4 O0@O#0<3=144$2$2T06]"/$/^PJ&'FX?^ Y3$V\:YB0P LXAV0&$ L@( -MTP=2"]<6#"6\(>LA*!/4):LE'0=@$]D&<Q'\$18?L EN&=0FR1AA%=P$: @W -M$!(;%@X2!Q\(GQ6:"Z0*8A8!&A(>8!/M(5('CQY !9 @'!_ $T,%2QZE&!HF -MBQFX&Q<:BQ0K'=T>NQ#Y 5@$ @HW"D$?U1.Z&IL<@R,;'-HA:1U]"V82C .V -M(.()51UB"-4 _R+N'E<7>P,T(O45C0'J%/T##2:M&"$-;Q)?!N$4 1UN')\2 -M'1*S$-D,&0R"!DH*S ZF$2H@#0>+!#44'P2;$<44GR%*$F<,\Q(B%TP;'!M' -M&P03S"27!(0EYAG0 IX PP3? 4@<% ^B%LH4NP*L(P(*RAZV$X\EUR;+'R08 -MP1"!%?,39"%5&&@<$1#8&'D6\AC$$YH9_"$*%O # @(J!18/VB X$082+!>( -M WH3"PJ1%= =<@/0%<,!: <<#507EABK)&,9H1!E$E(DSB88#I4<!"54"^(2 -M)Q3:&6D4 0BK&? @400V(GL(*P)O&L47Y25&(3@7,0@6(L8/VR%;(; ?K1'N -M!EP8?"3U&_TE$P_!$'P@Z@&,"G<'.R&T#T$$4A."".4:<1%4#;(48B*;'00; -MUA!A&;P%\AH""'<1M0I(("(!U!0W(-DC0"5<!T<1F"/>")4AT2%1!@H0J",V -M&J@ :A3M(!4C PT, GX&>";@$;T$(B)A)A\(K@MH!L<6^@%!!D(*AR(\"4\D -MC1D0&<8+1A"!#P )J0A<"_8?(A^)).4(0"+5"B0 JQ73 @P@'A?[#S<F)PF& -M"78'U16!$U,2;A2N"><?+ .W(Q@%?P6@#=8(5@SU$J( @"$"!YL%M U@%@$* -M%@*) @<@#Q?I%_LFIB;\!JXF*11I 1P>%PI (&LBZPX,&@ +>!*B ),*LP>4 -M(J,25B4N V,+_22[)(0)N@21(3P#51]R (,.V0O4&6H52 C4(LX7'P*>!+@$ -MP@#D%]H)]B6J&&T%$ALA)F\=Y0^-(T01]1)#$QXD+!HL(T$7.!&]%#(/, ?J -M!F\@Y!!W"EL%6A:M'?0EJ2!D$G$4;R" ,@_ @V!BT+]00*%5H#CB7U)GP: -M;P$]"PH3/B6C!78DR 1S&CD$2"2!&E$")!O4$3,)AR)F))43G24X)8T8)1(9 -M)8H*.29D#'L,ZB04!G($3Q9%"%,+?16%%;0'/03?"Z<4"2*%"C\F?1^W%I(F -M Q/R&KH?.P$M&J0(/AS-(5L.#QK %KT4P@O])AD4)R&8'C$7, .<#%@3;0\) -M$XX-KB5/%-T&001$ ;$&)!<Z%Y8-V13*"6LFH1W9(L08,":"!!,2RPSL'F,) -M\1\;&9X 2B,;%EH3H@M!$F\3W"0Z%7$%,@:6)/0152#^"!L2N!A+)=4"9!9S -M$8H/6Q9)#?\2IQ5)!I\9*R"8(3TC^1EG"Y4;+PJF!EP!* F/!9X'>A4*(*H0 -M-!-S)+@@WB14(*(=:R;>% 4BD0M[!S<?&@1D U,+?R:0%A<#'1'('F$>*R$< -M%.(#T0X\(Z <Q!+C(=TCQ27('HHASB-L'3H&:AFR'SX':B3> _<@>QO<!N0@ -M"A7V!;0B0 V! &\B61KX(<$$O!HC%<<*Y!Z' H8+V@Q?!@4.'@"B&V\,D2&B -M$CT!6B83$" <\P U!S0)EA6($1D5K2/M"ZP6J!P^&'XFGQ%7!#$*D27@$B8; -MPR0B$L8E?AFQ!1XD>R#B(4<7'0DV!$4G!1]$#2P7^!#A$C$7<!8]"9X/$ _Y -M"=H8 "!+#3 FPR1P%<X*M"#M"^<!_R1$&&86-AO?$W $EQ 8(\4A31OV$!<@ -MJ0<2$=8"FAAA#S@2?0YP)8H4]29\(C\%%1;O(5L"JA."!#X>A0-3%UL*6 Q" -M)PL1[P$'%'0B,1S$#Y\!S0H9&\0!,A0@"K4&VA&_)$@&B @*&$T2L0;% XT7 -MQ!PH'<$"H0OT(=4100BY()8E8QD\&ND*D@]9%"\#QQLV)KP9JQA&& $C\ /R -M")8C=PL%&XD:^2 K&3T362') XD!ER7O"1,*:@@K! $5#P39&E$D("12(0(D -M9P6V([X&1Q!*&8T>906[(.05 #"&?L<]P(!#?H+21JS$J@/]0(:']L,>B3[ -M"#DA.1S)$KD0>27V(KL.*@;K(A$ =!6D')X/3AKN'TP05!OB%'04MPHJ#>PC -M+Q8>$GD;.1&-$T$%WA;A(>\ 80]($:<@&!5Z$'8??P;2(9 EYB,Y!?L$QQ"7 -M S00>@2B#@,F]0;&!1$@4P?H)L 7MQ<4$,H#?P\^"CL']R%O"9X!3!_!"H@; -M]!.1%EX1#B),"EX*HQ,' /0#]R<#!O40* ! ! %8 _P'\ TX$] ;N -M"3T+X [7$B(5PAFV'?XBFP ! ! H 9 /H ! ( P $ -M ! 0 " 0 " 0 " 0 " 0 " 0 " 0 " &/ 0K0 -M , $ @ # 0 !0 & < " ) H "P , T #@ 0 !( !: $G -M$.$ !?40 -2E .AOP8;R "-C$%XM:\< !:$ S.T;SM/"$ "83XESEX@3^^! -MA:Q!6RUM!.Z?$+-+!Q5[R9?. ,!A +GUOZM<I/'#8RD '1 1TD$.-_WU*6 -M<WOQ 1_0;$KEG"5U@Y#C06O*=L0LQJ2" Y4, V5?4<4&KHA $D-<]3'B/W_ -M:B24#PQX!!00 )#9E&5"+-=B10&:(B873R< GQ\!OVKM9&XXE^W:I_GTZ3]/ -M P 8%Q A6R]UC[FJH3*>[)U3$XC'M8X ^$ ]C3/9C'-1OY5Z;R).DKJ'0^^ -MD.00 '&5I?%W=2EYZ&6TJP=D%;41F<RG%AO.P2=D8Z(8RN^D>R7-T>]P:]\^ -M'YWJ U]3$-',[B)AT_H(>>#&VB9GVWFK98X:QP@ @Z$ /6PP(V:&YVWD)K8X -M-<<L;#K-\<>^+AN. !00 &-18(_9N"%T+[ .4,D^0O3NEW9H"<1WY1%T .. -M@>$7LCOD>- :'$8(#WGU]*=BYXI18LW5BW?9CQ"H+D,(JK(:?(XASD#SBLX+ -MA,0+)WSKE,.M)1))80":M((ITUJER^T:N:]>&++91["WLIUC%#^, UW[ LH0 -M "8->2O_?&GOX.QH':752NMF2J00!S?T]#A&,@T ]P!M7D$E?NX]+NL2Z@\B -MX#.4_;8.P)OM>'Q94\ D9K@3H?4 $,L0F$$TB. *V\@C LI__069F\)W/.-X -MS([YW2=KO8YFB;8 B$ B@P7NXZD5J^?J09'LC9=2U_@@-RJ"O#^V4"HCH#0 -M:QIC(Q ><D-P.G?*;/&RDW,7E5<X2P\H&$Z2=O2>,5,!M:XNT>7AP\@/@$N -ME9D) ]\X_0\5Y"\C=/7LT\_<",0$L-J\S7\9IC,F ^D? DX'$*7&]JM.21MG -M+0)N/0816"GK=AC1_=-AB"+,W5\[E.Z,4+PJ<@!:X0"'<Y#[*3-S8B).-:X( -MXL)]OM.'_07Y]SM/H50_9P=%U]0F$7'"&@ -$ >A6%;;D\J:1A[XAP$4#0K -M+]TG[F-0<9FFR>D6CDHN*!<(;F\:21EN (MP?=8_,JV9$LH:7R7@-!8L,7( -M+6L7=[<<Y0333C$0-J^+TW/4:5SB4@%#$.1[N%W(TN94AS<(&(2>+QIXR5#[ -M;,?#E':86LQ)3B@IUOEETUR)53P,@Z$ #NO3K:=!3^3WE3XA71S[W#*_7QXI -MR]79KU?2V(2ZS+]DL*+]MQF%WLHQ >@0 -1!F!9[7-/%.( .UQ\[3_5K7HN> -MF#-R\%<1,$'!S/DP.CW*+5EN2] N?95: $HM@?O#T/12(BA0MP_R\U<3%!/< -M0EU]UCD9F?A9.!P DA36AK-WN7JE_F$2MV%J M_$'@A8:IP L&(P!90'GM" -M,WG5, 1K(-0)0!AXZZ5/K^=VLUV_'=^4O\8S0#][O(T 6$ G',2]%T'X9=X -MY[$OSEFY7JK:M#=9[%D"T.GA"\?D?8B$(7@NHFE(?1%#O()-?T/5$ !:_7,? -MY%0HH>'<3F*/F0=<_^F^@:X_Z]B;)-V07):O %PWF0DWYJN85#^8PDVSO",* -M63U!^-(BT#/GI_/VEE2%CZE^K[8<F@' %E(\X*S%+OX@/R/]HI^YZ@?W'B;Z -M-W\C"U%% 92[$)1X O=TP(P;70"P\,9UJ=NY%.+9<M]E#TM,=RC@%FWVD<)1 -M0\G/)Y6K5=;BYB><J+&F #TA *P+YQ>,<_" Y6"M,%5/&/BW*UC-28VK=U@K -ME?UMCGN1NN=?;3)62QNN6O9$=#F%GGQ':>L "1 <KD,L&]SG6X:LD8 >%UD -MA -_X\,A7..I*=GX1)'"X,?R2JY43>_67J<5VMH8(WV<J=-^IF^Y %= :R! -M?A^IX>$E9!*[?G:=H$;QN#R _J?/3.:BT %SK8SLUCABB</$Q07]'OB4H6[5 -M6DY)/>,X'/<0?4"U0OA.SSLA>ODE<6O >3OT;.)DJZ^;-\%*0;6-U&8! "A -M)TDQ+X'P.]_^SB1!)!Y_(L\Q"(_A +FR=3R"B!:3S3\Z:XFTA]X(GD5&:$VF -M#/W;DY'?).P3,&A$)YFT0>ZV@<K#6 )1\=EH):)]=G&- 4X0 -MUE!7R8^(: -M<&$3 1 J9..PF_^P2F%$JE0&=LR$Q,@\ H4ZTQ&F>%09'WT)[1#C?7L *4S7 -M'J;T"#, ,XS!E<Q1R#R<[Y!H-6N&Y:>V%.7RE!,[^33:C9(Z8+P"B=W2DFU9 -M4_%=3#-E5!1F_-*V.X0*+;P38:G)< ',Q"&.JM;FCKR/[K=,D;;V)!*6.A) -M1L4HC,8?,%N:%PAE@'PIA+$&OW6/IXQ5%^"4]1;T9H;DI[WV0K7F,"P :$ -M06JG*Y/%U'A]QNKCK2ML*_R$2_!UKA1U6'LT8K9ZVX,1#%4"F2\B]]ZP[ "B -M.\VD]<5/BEMEB[B-\]*!+FD0 %4Q":M8TJ8,)LM688.':ASTP76'Z'8L1$?/ -M0: %GLD(!CZ@NLCHY\_ 5>'Z1++O 7ZP)" E<]%R^8'DN 6N!Q7,@;2OC)E" -M37,&,OO6GOG1PT .R)-/0[@,L83U=>/)6_2,8I/_!B27&Z]2^8N;(8O?>#54 -MX;-ZUE\%>9+_QJ4M 11O$!,D-"+U1"1]?CV#IY3/&AZ"2T Q6?K,9:0_!WF$ -MK;MYLX#I:G%9:84BR6-96OU$GD-9:%-IT,8.Y9\X[%37-G0 *F$ OS)S"[@T -M>#PT8;ZSZ@9*E)6LC?&_:S<*_"#_GZ;S.L[4F]@#R"WLF]NIR=Y)^&G"SP@T -M=ESKDP6Q**7)%Q\@,G#O 80 )_M^MR S</;'V@X+J=Y6/6:(:SF65@3U:IF -M66B;,2A9[ZD5H'[&A3N=JI%DADTU:3BC8/>CL0%]0.\6F$0\I*=\V?N;'$%* -M)VX7KE?L8HFJ[R+[W;:B[^07X;WR,V:(@#>T+#Z_N-Z1&:QD"-3T:DXU_VH. -M9U:Y%$#;.\IX*IMH:S+%V?6O:;PF9*L0E[]MP#<\SKJDL34AC4T^CM8>Z:K -MQ-U;#]?\%#Y?"D =4?"V?&J*@Z=>22C+'9^.K02&[8R%\;^@U6C6?.LB(&4] -MLF(%VR$ KPHS)ZA_2@UAFW(QE^N@;_UKH4L+Y] :X#;/JH5F;80MH,G9$5JP -M+-T"Q DG^;G>A)BD-A_F2F&E,S_JJZ\5#Z0%(Y+5Z #D$ ![J3XEZ+ZUA<'\ -MJ/1=' <>/"NH6P@,^7%=( +6 ! (FTJVLX;J;+EE.0'!28QY=?F-W)&;(6YQ -M[B.)O=5ML+0B!H:0)[OMZN, (GP!F"Z'6[[3GW+8V2^'$A50QFO>;G#/2M@/ -MU95Q;B:R9K"MQC8D'1736CQ"5 YC_W/ S%7O%V7Y*/)5O,?W@-SMW/1N[\Y? -MW%/W 7G$)?+:>@FUW(^M.2JAEN0.2*<,P=U2WKID2U'^7>:;D#G%@OXQ R2 -M\!#R7VP1)<.+0LGYD9US"WRO!?\MA;!#=6DM*X0LIE?O$- ?X0",\0VI/IF; -MS1NN+?K#!<X8D.=B)4[#NY3)$[]8CO!7 !>7:YTM%7+KPY%]"R&MQ^.CSR.A -M\^B%?4OV'#I (G!U<9K]I+J:>F'?:A_!$ "H9:\1.J4!752F^=GZ4Z=!7N+; -M;+ I4422SWPNG#*%SX>VJ&D4NP*189F;AXCD&%/D<-H.F^^(!TV^I3<T;N09 -MH,CGE493B8DO3(4G!-CKP:'!Z 9)PI25N7IP3X%"=:4Y.F,+BR'"5MM&=!+] -MQ4G*FD7B8D,Y:/185&'[/Q-:MN6[236I.^*AP$PB%1B0ITY$V"V&@DN=O$JG -M2=$ O2,0IPF##DV'!Y%$3"H],T.1"7N3YFO(+%2:? <@E?$&B5@RDBNJ!1O% -M@F%#:BKE(V[_YH?)79O;RN*[5'&G?C-:GT\'3.&8HI.A,X%_=.(3 !RA -3I -M;%Q];YODV>?Y.V^A=V(T4<:+6>C>*]Y8SSS_6")&?!6H5W59)N=G4Q=WMV/K -MY@I?X_TY:3/HH#6H!;F']C$/0R$?0]O86O66JQL9HF@_ 00 .8AZCS0>(UC -MYSFQ[Z<7=2BN1YVK%,M]:&]F.:U]'_56^8K97OX_L5<@'Z@TCL3D6T+NS&6X -M69]"'CM;PD,3]E].P,U$G[U%^E1C]"EB.R#9K"AK@>K=<ST*_S@CJS@-EH/_ -MQU "1U&_L:R3@@;/D[V"=\0/#?.>&WT[U?]T)N'J.'B3N#.&,\ >0?C]3KPD -M,.DL49<\1.8BC?]EW8YP1?$KC=^#&D1?$&DWHJ::A=C=1!#-@!L"N203V35) -M6SDA/ QR!]I>^YW8 AH T>C03 LM!]99\?A,';CJ@]S2]1]MM;Z? TQ%/@0L -MLYE2W T>>@:+*\P^?//5(EH$ F$ O&$;@0A4&32%V)B'7L27VC0=I=JL46K -M*C*UABWBT_XOM>1B/1^1-NT*^VX(-%&\0#W=]Y9NL@!2JX#K7Y.'XQFF&?+3 -M-9\SFE;1O])NN=@ U)-> )P0 /3="5)=14+AKK0T+J.SHV\_S7INM"AW]TO! -MR-!GTOC@KJ@[9ZW)5K-LR)T+E9W! %M(BCU*OC;T4MGH37';(<7Y'($)2D78 -M:M>J3'P(X:6<=9N( .0\ !?[03A\6+R#2V%T7XB()CCJ4,!RG&TN.^TU7DB/ -MF<2]UZAY@A:$H,JT4;J.25S&)M3)\_R]LO>FIT3R3'2>(C"OVN>5DCL M_6! -MI<RHX+L?&@_UD?)\@*5# .;$)(6.%ZO.M=(OUY:\TEF5*_Z$N9<ZGBQ!%H4 -M@U*UYA.'E16]V2M\D(X0" P6QVBJ'+6@]P#VOD:-?<4;RLP1YMVXAL;2VU!9 -M879(I^H)ZE</_X]>1)POCF<A ),)[BK2.8<\:+G18RY _R-L"X_H$J;0!\A" -MP-Y\:>4QATH#3[BXL8).CAW24%@$+=/UB[:#D EVZA25T%Q--_,5FH=( U9^ -MAVHC-JQ>/[MSSSAG/OI2KT05NA E)E?#_;GM]//,CLJP_-./I2>9OR*511( -ML=[^;N+]W0O=F%*4E $"3Z7VYQQR#"H2DO.5MSY1I7.NL3"WEJR21=@I;\MD -M!'GR"GZN\H5'2I&8&@5^,N%V<LQ> U"; 5"<K?''W*TL.#U--W/&9]#J;:@& -M49OR^,0#X:*@4B,ZUQ!SJ42%V;K/$A@#<(<ZFU+<4NCELOM.!Q>F+[Y-U^$* -MJ^U/C&+L>\ZY0"'49H, H15UYLSC*?*$+P"!UQ#E9J)<'$JE/^D\/01R*#ZJ -M4:>.)=!3 _/:0^8(I8TB%N9@&F"<]OP4T%@4R)T:5]NZL9,DA<:Y[!C(C06Y -M*^(9V*#?D-A5FAL^I2B;VBE0:%A-@/1U+9QC<E;#.P 3X0 !,$S!(V;Q0=#V -MC]9#S^(+E/^1Q;_@8_G9RKG-]NF4H@LS:2=-9N4SD_;D2LK+\JBO=\J\G-.G -M*2#>EQ@U- S1#( *#IIMW[(DTS _Y\+_R4P42+E!?>T15SQ"(@/Z ,0 (55 -M,S[,%@!VKC"W0MOBV A+;38,-#Y+UW'A^0L)Z1W-CMZ%)7!K(__<6:$SO(7A -M<3UV:H81'\E^^6$>@U9.K"Y)],3(0U@PL)12HHX1?+[M]$?&*RWH<@Z[[%UO -M7[=URTK!NC@C,2"$,Q*<M$@6V@URQD!"OA^&:'"B3Q!#D!E3Q&P+'&@!*A=: -M#OG/(^AJU//&&\#;,<Q\>\X#/4N(T@OEA<_(NX;E1LJ-X8$4C0Q[,I(4]E2] -M2>'$)]R<ZK%82A'Y$Q VZ,9Z*9[T%C\*\TFFSW>E(Z.DOEN"S*)R+S401'^^ -MG1.XJ,(R3LE,,ZV\GOZZ=JPA,BY,S3(^$Y&T</[9-KM<EX5"%!K]1LS=^.8X -MA])I!]$7&@+Q_CZUJZ[#N>YO' @"OJ$ R6@& ,HIH;F;WETN&P^VQ"%Q0U"? -M0X86:RG2;*D(WT-@E1TB(* P;;2'X\)>9\6>PSM]T'@PY7^0N-@;WIW:Y-?F -M1%Y$Y83>LDT-7IY!MBFB=@X'U=BC/$9QA,+MS1SA(B< :Q AQ%^N^)Z:6BH -MC>RH""=,86GS:AHS==.M!@6K&NB;0OK>80[<;G*FRN#3Y:NZ,'I'3M>JRN8R -MPT8VA+3%]<F,-ZG&N-$[OBIC]!9#%,T:N;4]*PHZ1Z1X8;;XY-\L$3E9%]A8 -MY@ 0"H%]3-#VD0X3Y7PXEXR.3J_7I\H:@)VJ0YRHBT#+:1ZW2).N1V1#>DNC -MB?X6"Y'9P1A^IQLO 8"B#%>A%R5)\=O%???*$\1-H==B?M'<39M\!H+U=\]7 -M_DG>8MMZ_"M);D"< WZ0 )/$&I:G'Y2PC=R3HG?M-W_U"9==$&:Q*L5SL ! -M$V<MPWR*V-?(R-B$F7M=:B*^+^W/P7CF[T.<)?3Z&<DBKUF8RIBA^)EH'J7\ -M9'*1L,>6M;8WE3P9ZT0H?4V5]2+5YE2JFD8"\,YA;P 0 " 0 !P * -M X $@ 7 !P (@ I #$ . ! $D 4P!= &@ <P!_ (L F "F +4 PP#2 .( -M\P$$ 18!* $[ 4X!8@%W 8T!H@&X <\!YP'_ A@",0)+ F4"@ *< KD"U0+R -M Q #+P-. VX#C@.O ] #\@05!#@$6P1_!*0$R@3P!18%/05E!8T%M@7@!@H& -M- 9?!HL&N ;E!Q('0 =O!YX'S@?_"# (80B3",8(^@DN"6( -M $ 0 ! $ @ " ( @ # , P # 0 ! $ 0 !0 % 4 !0 & 8 -M!@ & < !P ' < " ( @ " ) D "0 ) H "@ * H "P + L "P , -M P # , T #0 - T #@ . X #@ / \ #P / ! $ 0 ! $0 1 !$ -M$0 2 !( $@ 2 !, $P 3 !, % 4 !0 % 5 !4 %0 5 !8 %@ $8 16@ -M 8<@"48 "H"D!WW$HT!&090 [L"X1I8!S08(!TN&),EC@H5""D 0%0$2L7 -M+Q#Q!9(&620, < 8 MJ$V,A4@K*%.0:RB0- #,%L!JE$-T1_QC!$AH#JAHD -M"P<!5 &@ E8.'PI8!R,4[0Q%"_8'P0+I"+8+H RV&9\+RP9<((<.9 <<(T4< -MH@"C$@< 100#C\'GQ@;"5TB[R/L)<0921]U 9LE\1:4 D+4 U[$B 51 #K -M$$$=\@D0'M8.^Q^,#QH&QQX> #X(T Z#);H@RAGP&K<890ZR&/D(]P\B$_$! -M+0]=#K$!FR0 ! $# FQ#]D0@1OH',,8HAMK!>0:#B9"$\<:#R;:"H<F,"0M -M!]P&1A:T&"T:VR#%(%(A0Q##$X\,X0N.#P,2JA)B'?0 2;0"Y,CJP^G%GX! -MB@(T&:0F=@S% Q$:WQ.0&[H0BQ@S#I,#?!:@ L60"!<(< *(@GZ(MH3&0?0 -M =H&LQP6''HDFARX!<@,SQ4J"@<!:"*7 $L+\!V!%-4;9!<](N,/B _.' 8< -MLQ/7$=$ 9 @D!;P(R!6B&14F.@XX#* !\1]0#6L+K0T[)94#[R7&$FX&]@ * -M%7H+J@VF'@(!^1'&#!T+AQS4%#D810H/#+L9L"'U)90 %@_7'GXE_0BM%[X; -M@1M2&7\)- '$%XL(0ALK&Y43G2 O(XP7("'_!4\ A* '7@,WA+K(;8"3B(X -M(^H)02)J$T,D8!7;'B0@\PHJ&E(4G0GG#ZX&/@K+(:,!SR< TA,!(-$Z,) -MB!S]"O D$!41$[,>"Q9Z#>$35@F1&DLFY"&Q'<\@FQ^X"Q,9*R&<)8(1;QSG -M %L/$!UO)B$#$R'*)-L:,A@(#44!K1''&](96 !J(J4"$0RT!M,C,!MS'F0; -M> ^""_< 90!W"-T"61J@(T88AP,F!APBD1AN!9(7XAPJ&^T<,1"5)'PE"AH+ -M&9 *D"8+ ?L7^@"/#ZH*YB/\).<'JP?6#V0-,!*-)?\,8PX&('H B130&342 -M%1 7 *@=Q@_@#>T"DP4#"+L+#0)##.$'4@$M!K@7'R,%(WT?EA-[%KX B5 -M"APF12#5$Z,F:0MH&C<B%2#U##0;A1E?(#\)K@8V&V$%6!=H#RT79!>W(:L/ -M-2*8(T<,] XY! 8,T"0. ! %$"6_#%80OQ'1(/8E7 36%<\10"8B!CX)O C* -M"0@A)0C%(]\"J1GF$Z@@;1'>'\D)'@Y)&:<@>1<W$N B2"-K &X2, LM%X - -MSAYQ"F4&1AAL%><-[05@ ?L8+PD<#XL?L0]8!PX QQ_5 EH<EA>T&0T1 0'% -M(K .WQ-$(LD5Y@E](,,"UA7P(S$- Y$%%P)0B!$!CX%+@H> X<6C!HK @T+ -MUR6N(8,.LPVN$$D7O1C^ 9<(7 #P&,0*6PZD(3L!E QK#FD8TA &$IL L )U -M"R4D2!V/$7\+3P*6!+X;$Q=>)>\-HP$R"_4 >!FB( 4&R@GI)7PCQ!/=)>\* -M:"96'3T8H21D"/D&/0Q")L(!.Q+W!,$ Q#P#.$@BAN9!O<4W1>^#M\3M!\D -M!N\D6"9=&O0>%Q$<'U0&/!2L&%, 4P'Z CL-8P8-'ED$_@W4$ET<41>C"8,B -M-B*B)(8CJ1'J !00 )@&5H9(1M2)/D*^Q4,(5D7HB'((84 'PK1(TH?YAT% -M'U(;0!RZ 2P&Y!$4%>X>*R1Y%R,6O!\ !/H6UB9< /DE9B7M)-$>^0,, (85 -M4 JK"D,5]0.S#_ .DAC\& B+Q-V!$<>LB2P 7(8)P'2&,0&EQTK(R<=,A-8 -M'DT%*@#Y YP@EP<Q$PT'$@<I"P@,Y@;H ;,:/@ Q&QT#;A% $=P#S1/2)-<, -M$1>#"H\3[Q:M'AH1WR-K%>HFE 7N 2D%$@,.(+0<Z!.T#+L46B37&]P:\ M7 -M&34$=@A+)(D6+2"\)$DF% YS%*L611?0%GX;0"4\&5T7FPS%"=(%F@RX'O8F -MQ"$.'AD3(QCP 3,@MQ R'?L=Z@G5!/,()A,5#U$00A'2"[H8/@L5$30!H A* -M(]$BNB)Z%K$&$A1H%242U1AB'CL R.P$P4>*1G.&H<BXQ/M$@<ERP2Y J,! -M5P55#U\%<1> &^876!-]$- "9!D!&W<AWQF#"<XC#!?,&*$CM <O 'D-HQ0+ -M(RL91P/[ /P"71&V'(X/KARB !@:\!(Q%/L%BR!2&7T=]@@;!!@9(1)Y#,@B -MN PA'0T.>QUS)MD@4"6K&&$FW16](B()CA_G%440$!$Z 6P"8 =Z&SH?GA", -M"9T.#@;: Z0071["),441@.( *(8<!C)$1P#$A!'&>$/+QTN%-,FY0=O$K05 -M)AUJ!C("M0#+$T(C#!ZY#3$A>POE "T@A2%C&X0E^0+'#Z@@5":@(0\/WPW9 -M!T82,PZ-!!D9#1[M![4-SB%S"L<$)@R0&P<D,@ $#E(,[0<\)+8%71KN 0DB -MC@S3!APDZ!J^()X.X@45).(9W02H#-TC>1U( NX&0P99)E +B0B;$' 75R M -M!M@$\Q%-"%8&CR0= AP101OW'ODFV!R6&S$.P!(T!X(+.A.0"ED1""3["=<0 -M7 BM#'T*929A$1L%7P'8&N<<CB3@%F<)!1ZX#YT<RP1K(Z@9:1XZ""84+R;' -M%#HCZ OQ%=\<4 LB(N0%+ =%ZD$DP=(!Z =Q@_=%?@ ! ]@"<H"W@OW##0> -M!A#C'L\</04""U@,3@C)(<$9A@+ !]8E-@S>'D<#/@#7 / BXP@')34 & 7> -M ,TB;!_[)@<!U -5#M07V 97$_ 86B *) H&S@DO&GXA*!_Y!G $.R,L !TE -MX",R)GD&*Q&Z *L)Q0, !9L1M1-6'0@$504E(I< JB9J(WH?3@1I%B\6- Q -M#@43D@\A%*@4<Q)S$> #UAG<$BP4H0#V&=X311CP$PH;VB*\$%09G@(P#[ > -M;QL^&)4,JB51 ,,;D M7#"X7" JB&/T: Q]F(^H/_ M<%VL?Q1_X)K<CP A? -M"6 3I@IN&,P/ B%&(T0BL ZS)AD5\0-'#FP8R!*6&LD7VQE$ ^\)MA ]$-$. -M*@L:(C<)MPQ%&&H<?R.E#JTB_AH""% %! ?@'%(!%0*T'=(&8A@%!]P"F@WS -M%8<<U WZ)L@#IP&N#C$!P@<2#_8 '0.4 S\2XB*3 *D<:R6?!?$1/A'D!TH& -M @S=&ML;Z".+).0E_ ;7&Z8A Q4\$Q "2A?"#N0A;A?C'.40EPA^(. "0"/\ -M ]H*K!C7%MX&*2(; *4-7@C[!P<8(1+]!,H9UA/R$Y$,)P>F')L$D!D3&48# -M, X)%8D3'0TR%O8.X #"&<@ @ 8N$)(BMP93#WH<912I!&,C?04>%\$.TPP3 -M"!HB&":0)I ,'11J%"0 !2(@!7XBI ,S!3$DS"' %"("E!2?)=H0[!WO ](C -M)0Q% *(,VQ3.)I<+D0_)#*LG!"8U&#<-NP[$"G8*O26,(N\BJ0=%(EL/[QA9 -M! 00F!ON'7@&.@>#!J0+OR,-&?H'@P<*(9$7S@<O!;D>NP7! "0)P -D":0( -M-@J='I8*UR/5'78BJ"#T%5,"_!%/#MX=<QS^ "<8H!.Z&KH!@R8%$M<, P;K -M)<@CGP"V%X$ ,06C)4<"BP4J(Q@*00=##E4 \ &]#O48(P[;'M80BPR')&,A -M'@IB"HP"APCX!2(7QB+Z .P>L 9%(5H+'A/A$D\.A":_"D42V29T&*L4I1.B -M(U\#41VR$<4C]!^Q 9L<:Q%,#TH2SA$[%J@8&QR8!1X"N2)%)2 930LP#_@# -M;B&Y#K@*?A/G 00']@]!%]\:* :O(IP4B #_$A$E$!,A)(<"Q"0.%#P&$ ,P -M&FT:ZP6#!5$"20G %S0COR#S'T81!"/ (7\%C23" /$,#0Q9#S(A%QNZ!#T; -M$!=% T\>'P*=#WX B!P.!V@&9R,#'84FU1SH'VP841$K#<4*P _K!9P7R2.3 -M%UX L12B%_,6*A;V![<D$P,%!X8;.A;! *X 1S0&/,+7QD]#J,=. :: ,8B -MHA?W&64<>0^X!)T+*PP&%M8 D24J%GT#MP N# L""PT<'V0.0A 7 *4BN &] -M#/P7+B:V$,0+6P82 %<0X@7Q#(<?\!Q%&0,?M1AQ%Y<C>0D+%L@%IQYU"$T> -MXR9['.\A7@L_!:,:& &#= :<QOV' D6: \ $O\<* V2!;@F%!&@$AT1*!0N -M(6$.+00* <H,'PFG WP>;A6<",4D2B-J&C4!M!.\!N@1Z@EH HL55@4&!\X' -M&AO[(80/4@T:'< 161W_!Y\+8P?-%.T$:2)N#EX3ZQNK&RPE]!N4$"$<F2;2 -M&U( *Q2P'04$*")3!?\6S!I1%/ D61TS$:P)#0 ($9@>4B,2& ,?3 C:!+HF -M0!#3!0<8/1'C$#P!! &]'?8"W0+U)=8"YR7X!VL3Y"2/'788BQ; (.H-?! _ -M%*H -00H .<1D23A%(0&JB/4"'T3*Q+F#2<>GQ%"%^@2C0].#S(!'B'0!G,C -M(@<1%.,?X1"W&\L=NPH8#Q(9I24#$&4FW0P'(;L2<ANO#5<9*QXM"_@D90 ) -M'<T9QQ1J#\0?VA6X&@$:1A*[&:4&XQ*\#PH(20L=$9P5>!K$"HH?CP*.%IT: -M^A+O&R,BB1S/)FXDMA3/!8TB123/)#X"/@27 M B6 =4)9 :!P9)#? +)1#S -M!^\:( 1G$RP2VR.E&>(:(Q0W B0-V1V@$><'8 -!'I,+=B,E W40<0@-$20= -M?1M5#A E>R(^(_,4E NS"*83J!NR#NX31A49(?4$# O6#:0(DR53(#X!:21; -M%S@%X@</!TT&)1GT#)<2H"$:(7<.)!P_#%,(_ !$% DJP1("[4=J"2[" 4? -MD0M7'XX151W5!3P2Q@I>'=\B"B! !*@'V \8%F0/3QGA((0:K1QP%64 %A,$ -M%50%[06T%(\/?A+R&+\&?PR3$\0ES CA)G<(W0-K!B(1-P-C&FT*(Q<C&T(8 -M( UA(;,!>076%[<:=@SQ"9(91A'!#8\-F0)C @@D [7(Q$AA"+Y$IP;?":4 -M#X BAA@='5L@9!+"#\D$I ,U"1D+T! )$*@=_ Q/!I<3W":L&K<@PAX*)+,A -M#@\Y"<D5H0$,%=L)*Q[0!08,N24;&E<>UA96(JP<5QT1(9(:1 #_&E,C0A>V -M!/\%\@X<#+PBCP*+%"X3- ^*#<,4?@WN%+\@9@ T'Z 7!@8F'B( *PB("=LE -ML@8G#&L&<PVM#K8@&PF3#+8+'"(5%^\3ZPEH".L0E":?%\$E]Q73)?H:D@1B -M'"@D)@R8)",FT!8O);L-& /@(^$>@07>%049NA.6!ST#H!0B 886>")+"#0* -M=0%*$%(7=P0((*<'?0RP(H 13"2Y$U(6?A/- 8@(MP%:)/ (P0CX$Y\AFP.. -M!FDBZ F+)#@# @DV!?$3RPHJ -063P#P&&X@'Q ,$7@F$PC&(_X0D@T"';TE -M=1=7 TT<UR(+$CX8M0_B).@F^ YE$C<#,QAO(V@4\0*=!# E4R&R"P$5_R P -M#$$..!%)!B0(50G:"(\<?@VH%'<%"PN1"FTB!"7Z#0<-/ !-"-T@X!_2%.0) -M2".H$"\"(0'#"\06L V>(NP630-Q'L@"KQT_%[,.B VZ%I8/3R'^'C@-91 " -M"GX<XA'V ;\;K!Z5$A$ [Q:S SX#"R-A%:@A3!'!"^HD41[=(A,C$PVQ& P% -MJ0:3#=D!M09$ I$&.B&1%HL7$0]H!GL7A 4@ C 3?A-U'WX8AQZ6(1T&FA,& -M $#T 6#)K\AC1_V%5X0M0$V'-P+"QFA$E$.'Q(<)/$3"@GK%UL.91[/"(<- -MER;G#<<.0",M&9H#%0NK$GHFY!Y9%, -6P3Q"Y,?,Q(Q ZP44QM*$>\?]P-B -M"0H3- GB"B 'VAF\& 8)H0HR'? A\@4.$=P>X@I^ $L=JPI](CH@=AU>#R8- -M-A]C)P8%=P5Y'1T "0Q '@P#/PY^!S<5JPS]$&$'TB'R .,%& TN(8X0\!%< -M'JP8\B2!&;D:>@_7%L$"Y2$!%=4'J0->!+<2^!SX$5(?V0EA%4H%M!5+#:D1 -M#2;S(9(&&@2<'G\78 "-(&L7!Q#\$/8E:!F4$_X3DA^$ ALC=AV;!><*^!D- -M#UX/P08P$!(>RQ_K#U8<A %3$_<C'B'< #\#@ V( SP/JR1: 2H-XA"2 BD# -MPPXH ;4;8AC0 8D!EAYW$046D!:O&!D+6 [# 6$A3!>["JD3%QVR M8:D11L -M#^<4^AL<(%88HQ/\'8D?@ ;$#>@*HAQV(8PF11!?(Y0CSA:R!*H)N!@7(LD< -M=!I])($:M1';$X,# P*.":H5415O'%(8L![2(581PQI""%<3:!7, :(! H0 -M&6X!1!#/ LX:]QM;(_H2NB)'"Z8 X@)E''$ PQ[U!;<1CQ4@):P;0"5K(P\$ -MFQN7'8H)$!HM(O\3ZAI[!2H3BQ.K";TF3PVZ!,P'0P2U)2P)$PQ! Y<)KQ73 -M)) *;!",'X(%=!JB(3$*&QR^(*P#;R:-".@#XA7@ 5X8%@<$!ZL3K0'/%S ? -MO0KL#5@:O UO FP*MQPP"6T88ABY#<\+Z"7T#P<)FR;;)E\6Y@*L$[L&81Q% -M#_($40])'],2% DF$\P@O1:((30E, P*!YD#K03>!Z@+SA2<&900F![5'F $ -MVR4""_<A&@F\!GX?T"8H%O8-^ 5Q'S,$<@1@#A(/ZQR: T\%+P/# B8:9AXT -M'[,0S!QI"_DB[AX1&",2?2+&!W,D60,$#%<2_B1A'R@ 1Y@%AH%^B ]!-D: -M\QY) IP@,@J5%,89#A.W&J8-/A*!%04/Q"6,'0P/HA8/!P<!KQFQ#MX@[1#[ -M'BP(3 ^X(A8*31X^$-(F= VC)<((I1A'(ID(7P3A' $7O2,]$A04D!/?%"L) -M"!YG'TP*]@44&T0'(R:)!%<7!2'!%,0?,P7I%8,+NR/L'. )4PF^%7<3=Q*F -M#-D:3R&Y&!P>A0 +'P .0!O](;X0IP/J%KXBG@@N! \@#PK%"+8ER ;7&&T! -M!B%T(24A\P[B'U@8@AZ!#!D,+Q[3 .HA;B-^ Q0-M17U&U<B,Q( K0/%1&E -M NT,# :A(4(6BB0G %8F! <O%_4630O_!S,50!F %$HF20 0$@H4' .G%$T7 -M>0-L('L:$ *[(B0)3 M""8 :"@=M!?0CZAEU&1P2I0R6"#< 30YP'*DDB!L. -M&;83EQOY'_L!T18! OH9B@T9(F@;"Q^9!80'Z2-](QPCHA;.%4P&TA@=&ZT3 -MFAOD(;(8)0=_ ^(#50SH#> <901<(TH%AQ>U'O\2PQ(3(48-JQIA&PD1@Q#Z -M%&(A&@NA'O 2-!IQ"4L*^Q3O)7@FK!I")ILBUQV@ JT-0R0)"XX!8PF)(M0= -MQR1N'R0@KA^[%5(@5 S^ #@!^@0@!SX"]@XN#108)!@6 *4>VQRL%.0DE1._ -M"_H-?A? )G@ENAZ7&\0@;2+[ AD&-A0V"\@7Q";* 4L1R! !%/0B$QF&%941 -M<!:X)48*51Q?'OX%AAF:%U88DAUX(M(,L2*(%-08=QA"$ALEP@Z0$9P<>Q;7 -M&2(D,1[&&,L!90V:!TPC_@<Y%SL2/Q9($VTDD2'[$!,9&PZP(A@&KAM!!QH& -M,0ST%X "F"#W H@@?A%'%6</#2;=%W82'"7=%N$9;@6@!>X@N 3/%E4$OP.< -M)$8%]!:%#F0!Y0,9"3(=20?_ S@'I18T)+(D"B+4&>H*1A2*%+P X":Q"*<3 -MF0)3$LH<M!,7)4(6_QL%)8@ /05,!A8"U@G:&GD;(PR)#0,ALQ\0(?</XP.T -M&3(2:QW/'Q<>Z!/B(S<=YQJ]'3H+)0ZR%OP K1E/'E0&Q " ! , -M!@ * \ %@ > "< ,0 \ $D 5P!F '8 AP": *X PP#9 / !"0$C 3X!6@%W -M 98!M@'7 ?D"' )! F<"C@*V M\#"@,V V,#D0/ _$$(P16!(H$OP3V!2X% -M9P6A!=T&&@98!I<&UP<9!UP'H ?E""L(<PB\"08)40F=">L*.@J*"ML++0N! -M Z( !5;FMN;W=N(&5R<F]R H J/T *C_ "I 8 -M J0@ *D, "I$@ J12 *D; "I'X J20 *DH "I*P J2^ *DT " -MI.( J3N *E! "I1 J4< *E+@ "I3T J5- *E7 "I6T J6! *E -ME0 "I;0 J7# *ET@ "I>H J7W *F#0 "IAP J8H *F.P "IDP J9B -M *F? "IIH J:Y *FU@ "IN< J<& *G)P "ISX J=8 *G>@ "IY@ -M J?( *GWP "I_X J@. *H)0 "J$D JAJ *H@P "J)T JBY *HT0 " -MJ/( JD4 *I*0 "J3P JE> *I<0 "J7X JF2 *II@ "J;D JG( *I -MW "J?( JH4 *J* "JC8 JI. *J:0 "JGP JJ/ *JLP "JLT JKK -M *J_ "JQ( JLC *K,@ "JTX JM= *K< "JWP JN3 6T5R<F]R -M(# 3F]T(&]W;F5R $YO('-U8V@@9FEL92!O<B!D:7)E8W1O<GD 3F\@<W5C -M:"!P<F]C97-S $EN=&5R<G5P=&5D('-Y<W1E;2!C86QL $DO3R!E<G)O<@!. -M;R!S=6-H(&1E=FEC92!O<B!A9&1R97-S $%R9R!L:7-T('1O;R!L;VYG $5X -M96,@9F]R;6%T(&5R<F]R $)A9"!F:6QE(&YU;6)E<@!.;R!C:&EL9')E;@!. -M;R!M;W)E('!R;V-E<W-E<P!.;W0@96YO=6=H(&UE;6]R>0!097)M:7-S:6]N -M(&1E;FEE9 !"860@861D<F5S<P!";&]C:R!D979I8V4@<F5Q=6ER960 1&5V -M:6-E(&)U<WD 1FEL92!E>&ES=', 0W)O<W,M9&5V:6-E(&QI;FL 3F\@<W5C -M:"!D979I8V4 3F]T(&$@9&ER96-T;W)Y $ES(&$@9&ER96-T;W)Y $EN=F%L -M:60@87)G=6UE;G0 1FEL92!T86)L92!O=F5R9FQO=P!4;V\@;6%N>2!O<&5N -M(&9I;&5S $EN87!P<F]P<FEA=&4@:6]C=&P@9F]R(&1E=FEC90!497AT(&9I -M;&4@8G5S>0!&:6QE('1O;R!L87)G90!.;R!S<&%C92!L969T(&]N(&1E=FEC -M90!);&QE9V%L('-E96L 4F5A9"UO;FQY(&9I;&4@<WES=&5M %1O;R!M86YY -M(&QI;FMS $)R;VME;B!P:7!E $%R9W5M96YT('1O;R!L87)G90!297-U;'0@ -M=&]O(&QA<F=E $]P97)A=&EO;B!W;W5L9"!B;&]C:P!/<&5R871I;VX@;F]W -M(&EN('!R;V=R97-S $]P97)A=&EO;B!A;')E861Y(&EN('!R;V=R97-S %-O -M8VME="!O<&5R871I;VX@;VX@;F]N+7-O8VME= !$97-T:6YA=&EO;B!A9&1R -M97-S(')E<75I<F5D $UE<W-A9V4@=&]O(&QO;F< 4')O=&]C;VP@=W)O;F<@ -M='EP92!F;W(@<V]C:V5T $]P=&EO;B!N;W0@<W5P<&]R=&5D(&)Y('!R;W1O -M8V]L %!R;W1O8V]L(&YO="!S=7!P;W)T960 4V]C:V5T('1Y<&4@;F]T('-U -M<'!O<G1E9 !/<&5R871I;VX@;F]T('-U<'!O<G1E9"!O;B!S;V-K970 4')O -M=&]C;VP@9F%M:6QY(&YO="!S=7!P;W)T960 061D<F5S<R!F86UI;'D@;F]T -M('-U<'!O<G1E9"!B>2!P<F]T;V-O;"!F86UI;'D 061D<F5S<R!A;')E861Y -M(&EN('5S90!#86XG="!A<W-I9VX@<F5Q=65S=&5D(&%D9')E<W, 3F5T=V]R -M:R!I<R!D;W=N $YE='=O<FL@:7,@=6YR96%C:&%B;&4 3F5T=V]R:R!D<F]P -M<&5D(&-O;FYE8W1I;VX@;VX@<F5S970 4V]F='=A<F4@8V%U<V5D(&-O;FYE -M8W1I;VX@86)O<G0 0V]N;F5C=&EO;B!R97-E="!B>2!P965R $YO(&)U9F9E -M<B!S<&%C92!A=F%I;&%B;&4 4V]C:V5T(&ES(&%L<F5A9'D@8V]N;F5C=&5D -M %-O8VME="!I<R!N;W0@8V]N;F5C=&5D $-A;B=T('-E;F0@869T97(@<V]C -M:V5T('-H=71D;W=N %1O;R!M86YY(')E9F5R96YC97,Z(&-A;B=T('-P;&EC -M90!#;VYN96-T:6]N('1I;65D(&]U= !#;VYN96-T:6]N(')E9G5S960 5&]O -M(&UA;GD@;&5V96QS(&]F('-Y;6)O;&EC(&QI;FMS $9I;&4@;F%M92!T;V\@ -M;&]N9P!(;W-T(&ES(&1O=VX 2&]S="!I<R!U;G)E86-H86)L90!$:7)E8W1O -M<GD@;F]T(&5M<'1Y %1O;R!M86YY('!R;V-E<W-E<P!4;V\@;6%N>2!U<V5R -M<P!$:7-C('%U;W1A(&5X8V5E9&5D %-T86QE($Y&4R!F:6QE(&AA;F1L90!4 -M;V\@;6%N>2!L979E;',@;V8@<F5M;W1E(&EN('!A=&@ 3F]T(&$@<W1R96%M -M(&1E=FEC90!4:6UE<B!E>'!I<F5D $]U="!O9B!S=')E86T@<F5S;W5R8V5S -M $YO(&UE<W-A9V4@;V8@9&5S:7)E9"!T>7!E $YO="!A(&1A=&$@;65S<V%G -M90!)9&5N=&EF:65R(')E;6]V960 1&5A9&QO8VL@<VET=6%T:6]N(&1E=&5C -M=&5D+V%V;VED960 3F\@<F5C;W)D(&QO8VMS(&%V86EL86)L90!-86-H:6YE -M(&ES(&YO="!O;B!T:&4@;F5T=V]R:P!/8FIE8W0@:7,@<F5M;W1E $QI;FL@ -M:&%S(&)E96X@<V5V97)E9 !!9'9E<G1I<V4@97)R;W(@ %-R;6]U;G0@97)R -M;W(@ $-O;6UU;FEC871I;VX@97)R;W(@;VX@<V5N9 !0<F]T;V-O;"!E<G)O -M<@!-=6QT:6AO<"!A='1E;7!T960 141/5$1/5"$A(2$ 4F5M;W1E(&%D9')E -M<W,@8VAA;F=E9 !&=6YC=&EO;B!N;W0@:6UP;&5M96YT960 -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M $! (" 0! (I@ -M =! (J E! (J T9 (J !79 -M(J !?@ "!@ "3@ "Z@ -M #3@ #Q@ $/@ $I -M@ %+@ %N@ &+@ -M &G@ &Y@ ',@ 'D@ -M 'P@ (M@ ):@ *.@ -M +(@ +S@ 1 >0 (J -M1 >0 (J0 1 >0 (JH ,D) (J 1 >@ (JX -M 1 >@ (K( 1 >@ (K@ ,S) (JX 1 >P -M(KP 1 >P (L 1 >P (L8 -*) (KP 1 -M?0 (LH 1 ?0 (LX 1 ?0 (M0 -C) (LH -M1 ?@ (M@ 1 ?@ (MP 1 ?@ (N( -S) (M@ -M 1 ?P (N8 1 ?P (NH 1 ?P (O .*) -M(N8 1 @0 (O0 1 @0 (O@ 1 @0 (OX .C) -M (O0 1 @@ (P( 1 @@ (P8 1 @@ (PP .Q -M) (P( 1 @P (Q 1 @P (Q0 1 @P (QH -M /&) (Q 1 A0 (QX 1 A0 (R( 1 A0 -M(R@ /=) (QX 1 A@ (RP 1 A@ (S 1 -MA@ (S8 /L) (RP 1 AP (SH 1 AP (SX -M1 AP (T0 0") (SH 1 B0 (T@ 1 B0 (TP -M 1 B0 (U( 0:) (T@ 1 B@ (U8 1 B@ -M(UH 1 B@ (V( 0K) (U8 0]@ 1W@ -M 2K@ 3;@ 3M@ 44 -M@ 4P@ 5.@ 5J@ -M 5W@ 1 L@ (V8 1 M0 (W 1 M@ -M(W8 1 MP (WX 1 N0 (X8 1 N@ (XX 1 -MNP (Y8 1 O0 (YX 1 O@ (Z8 1 OP (ZX -M1 P0 ([8 1 P@ ([X 1 PP (\8 1 Q0 (\X -M 1 Q@ (]@ 1 R0 (^@ 1 R@ (_( 1 RP -M(_P 1 S0 ) 8 1 S@ )! 1 SP )!H 1 -MT0 )"0 1 T@ )"X 1 TP )#@ 1 U0 )$( -M1 U@ )$P 1 UP )%8 1 V0 )& 1 V@ )&H -M 1 W )'X 1 W0 )(@ 1 W@ ))( 1 X -M))P 1 X0 )*8 1 X@ )+ 1 Y )+H 1 -MY0 ),0 1 Y@ ),X 1 Z )-@ 1 Z0 ).( -M1 Z@ ).P 1 [ )/8 1 [0 )0 1 [P )0H -M 1 \ )1( 1 \0 )1@ 1 \@ )2 1 ] -M)28 1 ]@ )3 1 ]P )3H 1 ]P )3H 6D) -M (V8 6L( 6V( 7(( 7< -M( 7G( 7Y( 8-( -M 86( 8F( 8X( 9"( -M 93( 9F( 9R( 9_( -M ::( :]( ;B( ;^ -M( <7( <\( =6( -M =M( >0( >K( ?#( -M ?G( @$( @B( @X( -M A6( AV( B-( BH -M( C(( C=( CV( -M D4( DJ( E$( EC( -M E[( F4( FB( G@( -M H-( I!( I-( J( -M( JS( KD( KO( -M KZ( L>( LM( M+( -M M9! )4 MB! )4 MQ9 )4 N:9 -M )4 NS@ O5@ OG@ P. -M@ PG@ Q%@ QC@ -M Q]@ R?@ S"@ S?@ -M S[@ T-@ T@@ TX@ -M U$@ V"@ W&@ X4 -M@ Y+@ Y8@ YB@ -M YM@ Z6@ Z\@ [1) -M)4 [G( [^) )8 \4!@ " #P \C) -M ):X \N! )<@ \V! )<@ ]%9 )<@ ]N -M9 )<@ ^'@ ^I@ ^[@ -M _B@ _[@ ! 9@ ! W@ -M !!1@ !!S@ !"6@ !"S@ -M !#/@ !#A@ !#T@ !$, -M@ !$8@ !%6@ !&:@ -M !'H@ !(?@ !(L@ !(V@ -M !)!@ !)J@ !*0@ !*E( -M !*Y( !+6( !+H! )<@ !+L -M9 )<@ 1 #__P )<@ !+S! )<@ !+]! )D -M !,$! )H@ !,.! )L@ !,6! )L@ !,:! -M)M@ !,B! )N !,K! )O !,S! )O !,\! -M *V@ !-+! *\@ !-3! *] !-@! *] !-J -M! +4@ !-S! -7 !-\! -:@ !.&! -Z -M !.,! -Z !.5! .' !.=! .' !.A! -M.( !.I! .( !.M! .) !.]! .) !/!! -M .* !//! .* !/3! .+ !/;! .+ !/? -M! ., !/J! ., !/N! .- !/[! .- -M !/_! .. !0&! .1@ !01! .6 !0;! -M.7 !0E! .A@ !0P! .C !0X! .G !1"! -M /0@ !1*! /9 !13! /> !1<! 3_@ !1I -M! 3_@ !1Q! 4#@ !1Z! 4) !2#! 4+ -M !2*! 45@ !23! 4H@ !2<! 4K@ !2H! -M80@ !2Q! 82@ !2Z! 85@ !3#! 89 !3,! -M 8?@ !37! 8]@ !3B! 9B !3Q! <V@ !4 -M! >) !4*! >?@ !45! >J@ !4D! @+ -M !4S! B' !4_! BI !5&! BI !5*! -MBJ !53! BO !5=! BS !5D! BS !5H! -M BT !5Q! B] !5Z! B_@ !6#! C! !6+ -M! C' !64! C. !6=! C0@ !6G! C4 -M !6T! C4 !7#! C4 !7,! C4 !70! -MC5 !79! C>@ !7@! C>@ !7D! C?@ !7N! -M CJ !7W! CJ !8 ! CJ !8$! CK !8( -M9 CK 1 #__P CK !8/!0 #H )D !85 P -M !8?!0 %#@ (" !8E!0 (V8 !8K!0 #8@ (I@ !8W!0 &X@ -M)M@ !8^!P %<@ " !9'!0 $0 )<@ !9/!0 #I (I@ !9;!0 -M (J !9H!0 (JX !9\!0 (KP !:2!0 (LH !:@ -M!0 (M@ !:U!0 (N8 !;,!0 (O0 !;8!0 (P( -M !;K!0 (Q !< !0 (QX !<-!0 (RP !<A!0 -M(SH !<W!0 (T@ !=%!0 (U8 !=4!0 ):X !=<"0 -M "L% !=D"0 "L%( !=S"0 "L%0 !>$"0 "L%8 !>- -M"0 "L%@ !>="0 "L%H !>O"0 "L%P !>V"0 "L& -M !?$"0 "L&0 !?4"0 "L&@ !?<"0 "L&P !?K"0 " -ML' !?\"0 "L'0 !@%"0 "L'@ !@/"0 "L( !@="0 -M "L(( !@R"0 "L(0 !A)"0 "L(@ !A8"0 "L(P !AN -M"0 "L) !B&"0 "L)@ !B3"0 "L* !BG"0 "L*@ -M !B]"0 "L+ !C+"0 "L+@ !C@"0 "L, !CW"0 " -ML,@ !D&"0 "L- !D6"0 "L. !DF"0 "L.0 !D]"0 -M "L.@ !E6"0 "L.P !EG"0 "L/ !E_"0 "L/0 !F9 -M"0 "L/@ !FH"0 "L/P !F^"0 "L0 !G6"0 "L00 -M !GF"0 "L0@ !G]"0 "L0P !H6"0 "L1 !HG"0 " -ML10 !HY"0 "L1@ !I""0 "L1P !I."0 "L2 !I9"0 -M "L20 !IB"0 "L2@ !IJ"0 "L3 !IR"0 "L< !I[ -M"0 "L<@ !J%"0 "L= !J0"0 "L? !J;!0 )4 -M !JN"0 "L@@ !J]!P " #@ !K.!P " $ !K@!0 -M)8 !KS"0 "LA !L"!0 &= )H@ !L+!0 )LX !L2!0 & -MY0 )<@ !L>!0 "> *\@ !LD!0 %&@ *V@ !LQ!0 #E@ )O !L[ -M"0 'B0 "LA@ !M+!0 &JP +P@ !M3!0 (' )N !M:!P 'EP " $0 -M !MA!0 $W0 *>8 !MJ!0 "9@ )_ !MS!0 #>0 ,!X !MY!P %^@ " -M I0 !N!!0 &3 )Y0 !N)!0 $9 *H( !N3!0 /@ *6( !N=!0 -M .(8 !ND!0 %)P *T !NN!0 .'8 !NU!0 ',P -7 !N] -M!0 & 0 )P8 !O%!0 %:0 -R !O-"0 #( "JZP !O3!P #<@ " $P -M !O>!0 $50 *^@ !OH!P &@P " %@ !OZ!P %50 " & !P!!P &J0 " -M &0 !P*!P #RP " %P !P;!P #?@ " %0 !PL!P &;P " % !P_!0 ' -MUP -Z !Q'!0 #. *] !Q3!0 %I .7 !Q<!0 $*0 .C !QD -M!0 "L@ .A@ !QN"0 #J "LAP !Q\!P #+@ " IP !R"!0 &-P ,8H -M !R+!0 #P0 .. !R1!0 .*8 !R>!0 &\0 /0@ !RE!P #P@ " -M +@ !RN!P #30 " ' !RZ!P ',@ " + !S!!P "H@ " +0 !S*!0 -M .+8 !S1!0 $?@ -:@ !S;!0 .)8 !SJ!0 "HP -CP !SX -M!0 $5P -M( !T$!0 %:P /9 !T,"0 '?P "LB !T6!0 .-8 -M !TB!0 '> .1@ !TM!0 #HP .68 !TV!0 .,8 !U "0 " -MLTP !U%!P /0 "!1P !U,!0 *0 .G !U4!0 $U0 .K@ !U?!0 " -M?@ /> !UH"0 #^@ "LJ !UQ!P (>P "!=0 !U[!0 '>P 3_@ !V" -M!0 &^P /<P !V)!0 #<0 4+ !V/!0 5@ 85@ !V7!P "QP "!=P -M !V@!0 &T 4H@ !VH!0 '# 4#@ !VP!0 !&@ B48 !V[!0 (B -M8LX !W%!0 "@ 80@ !W-!0 %4 7C8 !W9!0 #_ 3.H !WD!0 -M) 4) !WL!0 %QP >) !W^!0 !F@ BCP !X)!0 :@ 9:X !X3 -M!0 F@ B' !X>!0 (" 8?@ !XH!0 "%0 3GX !XQ P $6^ -M !X[!0 &\ 4>@ !Y$!0 &(@ 4C( !Y-!0 %Q0 4F( !Y6!0 (!0 -M4G@ !Y?"0 $S@ "LJ0 !YL!0 %> 4;@ !YV!0 &M0 4= !Y_!0 % -MU0 4@ !Z(!0 '(@ 47 !Z1!0 &%@ 4DH !Z:!0 &V@ 4A@ !ZC -M!0 %MP 45@ !ZL!0 %P 4: !ZU!0 &I@ 48@ !Z^!0 BI8 -M ![$!P 'B@ ""$0 ![+!0 %P0 5Q ![<"0 !Y0 "LK ![G!0 "_ -M7D0 ![T!0 (G B] ![\"0 'OP "LL !\&!0 %QP 4K@ !\1!0 -M50 89 !\9!0 &>0 8)( !\G!0 6P 5W( !\Z!0 &YP BT !]" -M"0 %\0 "LM !],!0 $@ 82@ !]4!0 BS8 !]:!0 (10 6Y8 -M !]F!0 (0 B_@ !]N!P &Z "!N0 !]^!P #U "!P !^)!0 &8 -MC' !^1!P "7 "" ( !^:!0 SP C0@ !^C"0 H@ "LSP !^Q"0 ' -M= "LT !_("0 H0 "LT0 !_@"0 #D "LT@ !_W!0 $E@ <E8 " * -M!0 #=@ 9?X " 0!0 &N 8]@ " 7!0 (B 9S " R!0 %70 ?+8 -M "!)!0 '^ 9B "!8!0 $H @3( "!P!0 &4@ :.( "",!0 #TP -M<V@ "";!0 1@ BO ""D!0 !3 @-( ""U!0 & ?HH "#-!0 ' -M( @.X "#E!0 %PP =7@ "#U!0 $6P =, "$$!0 %G <M0 "$: -M!0 'O :[H "$P!0 &C ?\H "%,!0 XP =T0 "%?!0 &WP =J( -M "%Q!0 $. =3H "& !0 "G =*H "&3!0 '%0 >?@ "&:!0 "* -M>,X "&U!0 Y >4@ "'0!0 !A0 >D "'F!0 !8 >FP "'\!0 -M2 >@P "(.!0 7 >J@ "(=!0 #00 ?9@ "(Q!0 &*0 ?%H ")' -M!0 (+P ?@0 ")B!0 #' ?18 ")V!0 &! >]0 "*,!0 %+ >UH -M "*@!0 %E >MX "*N!0 !. >Z8 "+!!0 #!@ >VX "+5!0 &*@ -M>R "+E!0 $_ >NX "+S!0 %O ?U ",$!0 (& BJ ",,!P ' -MY@ ",+ ",K!P #J "BAH "-,!P '8 "=D0 "-L!P (<@ ",) ".# -M!P %X "B6( ".<!P (? "=C@ ".T!P !M@ ""U8 "/%!P $R@ "=IP -M "/8!P #H@ "=BX "/J!P &S@ ""U0 "/_!P '[@ "=IH "06!P %- " -M=BP "0L!0 #X0 @+ "1$!0 &V C! "1+!P (EP "=@@ "1B!P & -M!0 "H=8 "1[!P P "=G8 "23!P !VP ",- "2D!P $[P "BM( "2W -M!P #QP "=E "3)!P &\P ",,X "3>!P ($P "BM "3U!P %60 "=DX -M "4+!0 'H@ C. "43!0 C>X "49!0 'N C5 "4A!0 -MC48 "4I!0 #;@ C?@ "4R!P %P@ "HH0 "4_!0 CJ8 "5'!P " -MF@ "H_ "51!0 " "58!P "JZP "5?"0 "LTP "5E -M+VQI8B]C<G0P+F\ +VQI8B]-8W)T,2YO &=D8FUE+F\ 9V-C,E]C;VUP:6QE -M9"X +V-Y9VEN="]P;&%Y+V9N9B]D979O+V=D8G1E<W0O=#$P+P!G9&)M92YC -M &EN=#IT,3UR,3LM,C$T-S0X,S8T.#LR,30W-#@S-C0W.P!C:&%R.G0R/7(R -M.S [,3(W.P!L;VYG(&EN=#IT,SUR,3LM,C$T-S0X,S8T.#LR,30W-#@S-C0W -M.P!U;G-I9VYE9"!I;G0Z=#0]<C$[,#LM,3L ;&]N9R!U;G-I9VYE9"!I;G0Z -M=#4]<C$[,#LM,3L <VAO<G0@:6YT.G0V/7(Q.RTS,C<V.#LS,C<V-SL ;&]N -M9R!L;VYG(&EN=#IT-SUR,3LP.RTQ.P!S:&]R="!U;G-I9VYE9"!I;G0Z=#@] -M<C$[,#LV-34S-3L ;&]N9R!L;VYG('5N<VEG;F5D(&EN=#IT.3UR,3LP.RTQ -M.P!S:6=N960@8VAA<CIT,3 ]<C$[+3$R.#LQ,C<[ '5N<VEG;F5D(&-H87(Z -M=#$Q/7(Q.S [,C4U.P!F;&]A=#IT,3(]<C$[-#LP.P!D;W5B;&4Z=#$S/7(Q -M.S@[,#L ;&]N9R!D;W5B;&4Z=#$T/7(Q.S@[,#L =F]I9#IT,34],34 =%]S -M=')U8W0Z5#$V/7,R-'9?8VAA<E]M96UB97(Z,BPP+#@[=E]S:&]R=%]M96UB -M97(Z-BPQ-BPQ-CM< '9?:6YT7VUE;6)E<CHQ+#,R+#,R.W9?;&]N9U]M96UB -M97(Z,RPV-"PS,CM< '9?9FQO871?;65M8F5R.C$R+#DV+#,R.W9?9&]U8FQE -M7VUE;6)E<CHQ,RPQ,C@L-C0[.P!T7W5N:6]N.E0Q-SUU.'9?8VAA<E]M96UB -M97(Z,BPP+#@[=E]S:&]R=%]M96UB97(Z-BPP+#$V.UP =E]I;G1?;65M8F5R -M.C$L,"PS,CMV7VQO;F=?;65M8F5R.C,L,"PS,CM< '9?9FQO871?;65M8F5R -M.C$R+# L,S([=E]D;W5B;&5?;65M8F5R.C$S+# L-C0[.P!V7V-H87)?9G5N -M8SI&,@!V7W-I9VYE9%]C:&%R7V9U;F,Z1C$P '9?=6YS:6=N961?8VAA<E]F -M=6YC.D8Q,0!V7W-H;W)T7V9U;F,Z1C8 =E]S:6=N961?<VAO<G1?9G5N8SI& -M-@!V7W5N<VEG;F5D7W-H;W)T7V9U;F,Z1C@ =E]I;G1?9G5N8SI&,0!V7W-I -M9VYE9%]I;G1?9G5N8SI&,0!V7W5N<VEG;F5D7VEN=%]F=6YC.D8T '9?;&]N -M9U]F=6YC.D8S '9?<VEG;F5D7VQO;F=?9G5N8SI&,P!V7W5N<VEG;F5D7VQO -M;F=?9G5N8SI&-0!V7V9L;V%T7V9U;F,Z1C$R '9?9&]U8FQE7V9U;F,Z1C$S -M &QI;FLZ5#$X/7,Q-3)N97AT.C$Y/2HQ."PP+#,R.VQI;FMF=6YC.C(P/2HR -M,3UF,3DL,S(L,S([7 !S='5F9CHR,CUA<C$[,#LP.S(S/6%R,3LP.S$[,C0] -M87(Q.S [,CLQ-BPV-"PQ,34R.SL ='5?;&EN:SI4,C4]=3$T-&YE>'0Z,3DL -M,"PS,CML:6YK9G5N8SHR,"PP+#,R.UP <W1U9F8Z,C(L,"PQ,34R.SL 8V]L -M;W)S.E0R-CUE>65L;&]W.C L<'5R<&QE.C$L<&EN:SHR+#L 8V%R<SI4,C<] -M96)M=SHP+'!O<G-C:&4Z,2P[ &)O;VQE86XZ=#(X/65&04Q313HP+%12544Z -M,2P[ &)V86QS.E0R.3UE9F%L<V4Z,"QT<G5E.C$L.P!B;V]L96%N,CIT,CD -M;6ES;W)D97)E9#I4,S ]971W;SHR+&]N93HQ+'IE<F\Z,"QT:')E93HS+#L -M;6%I;CI&,0!V7V-H87(Z1S( =E]S:6=N961?8VAA<CI',3 =E]U;G-I9VYE -M9%]C:&%R.D<Q,0!V7W-H;W)T.D<V '9?<VEG;F5D7W-H;W)T.D<V '9?=6YS -M:6=N961?<VAO<G0Z1S@ =E]I;G0Z1S$ =E]S:6=N961?:6YT.D<Q '9?=6YS -M:6=N961?:6YT.D<T '9?;&]N9SI',P!V7W-I9VYE9%]L;VYG.D<S '9?=6YS -M:6=N961?;&]N9SI'-0!V7V9L;V%T.D<Q,@!V7V1O=6)L93I',3, =E]C:&%R -M7V%R<F%Y.D<S,3UA<C$[,#LQ.S( =E]S:6=N961?8VAA<E]A<G)A>3I',S(] -M87(Q.S [,3LQ, !V7W5N<VEG;F5D7V-H87)?87)R87DZ1S,S/6%R,3LP.S$[ -M,3$ =E]S:&]R=%]A<G)A>3I',S0]87(Q.S [,3LV '9?<VEG;F5D7W-H;W)T -M7V%R<F%Y.D<S- !V7W5N<VEG;F5D7W-H;W)T7V%R<F%Y.D<S-3UA<C$[,#LQ -M.S@ =E]I;G1?87)R87DZ1S,V/6%R,3LP.S$[,0!V7W-I9VYE9%]I;G1?87)R -M87DZ1S,V '9?=6YS:6=N961?:6YT7V%R<F%Y.D<S-SUA<C$[,#LQ.S0 =E]L -M;VYG7V%R<F%Y.D<S.#UA<C$[,#LQ.S, =E]S:6=N961?;&]N9U]A<G)A>3I' -M,S@ =E]U;G-I9VYE9%]L;VYG7V%R<F%Y.D<S.3UA<C$[,#LQ.S4 =E]F;&]A -M=%]A<G)A>3I'-# ]87(Q.S [,3LQ,@!V7V1O=6)L95]A<G)A>3I'-#$]87(Q -M.S [,3LQ,P!V7V-H87)?<&]I;G1E<CI'-#(]*C( =E]S:6=N961?8VAA<E]P -M;VEN=&5R.D<T,STJ,3 =E]U;G-I9VYE9%]C:&%R7W!O:6YT97(Z1S0T/2HQ -M,0!V7W-H;W)T7W!O:6YT97(Z1S0U/2HV '9?<VEG;F5D7W-H;W)T7W!O:6YT -M97(Z1S0U '9?=6YS:6=N961?<VAO<G1?<&]I;G1E<CI'-#8]*C@ =E]I;G1? -M<&]I;G1E<CI'-#<]*C$ =E]S:6=N961?:6YT7W!O:6YT97(Z1S0W '9?=6YS -M:6=N961?:6YT7W!O:6YT97(Z1S0X/2HT '9?;&]N9U]P;VEN=&5R.D<T.3TJ -M,P!V7W-I9VYE9%]L;VYG7W!O:6YT97(Z1S0Y '9?=6YS:6=N961?;&]N9U]P -M;VEN=&5R.D<U,#TJ-0!V7V9L;V%T7W!O:6YT97(Z1S4Q/2HQ,@!V7V1O=6)L -M95]P;VEN=&5R.D<U,CTJ,3, =E]S=')U8W0Q.D<Q-@!V7W-T<G5C=#(Z1S4S -M/7,R-'9?8VAA<E]M96UB97(Z,BPP+#@[=E]S:&]R=%]M96UB97(Z-BPQ-BPQ -M-CM< '9?:6YT7VUE;6)E<CHQ+#,R+#,R.W9?;&]N9U]M96UB97(Z,RPV-"PS -M,CM< '9?9FQO871?;65M8F5R.C$R+#DV+#,R.W9?9&]U8FQE7VUE;6)E<CHQ -M,RPQ,C@L-C0[.P!V7W5N:6]N.D<Q-P!V7W5N:6]N,CI'-30]=3AV7V-H87)? -M;65M8F5R.C(L,"PX.W9?<VAO<G1?;65M8F5R.C8L,"PQ-CM< '9?:6YT7VUE -M;6)E<CHQ+# L,S([=E]L;VYG7VUE;6)E<CHS+# L,S([7 !V7V9L;V%T7VUE -M;6)E<CHQ,BPP+#,R.W9?9&]U8FQE7VUE;6)E<CHQ,RPP+#8T.SL <U]L:6YK -M.D<Q.0!U7VQI;FLZ1S(U '!R:6UA<GDZ1S4U/65R960Z,"QG<F5E;CHQ+&)L -M=64Z,BP[ &YO;G!R:6UA<GDZ1S(V &-L=6YK97(Z1S4V/65C:&5V>3HP+&9O -M<F0Z,2P[ '-P;W)T<V-A<CI',C< 7U]M86EN+F\ 9V-C,E]C;VUP:6QE9"X -M+W-E;F1A:2]A8F,O<FEC:"]L871E<W0O;V)J9&ER+7-U;C,O9V-C+P N+B\N -M+B]D979O+V=C8R]L:6)G8V,R+F, :6YT.G0Q/7(Q.RTR,30W-#@S-C0X.S(Q -M-#<T.#,V-#<[ &-H87(Z=#(]<C([,#LQ,C<[ &QO;F<@:6YT.G0S/7(Q.RTR -M,30W-#@S-C0X.S(Q-#<T.#,V-#<[ '5N<VEG;F5D(&EN=#IT-#UR,3LP.RTQ -M.P!L;VYG('5N<VEG;F5D(&EN=#IT-3UR,3LP.RTQ.P!S:&]R="!I;G0Z=#8] -M<C$[+3,R-S8X.S,R-S8W.P!L;VYG(&QO;F<@:6YT.G0W/7(Q.S [+3$[ '-H -M;W)T('5N<VEG;F5D(&EN=#IT.#UR,3LP.S8U-3,U.P!L;VYG(&QO;F<@=6YS -M:6=N960@:6YT.G0Y/7(Q.S [+3$[ '-I9VYE9"!C:&%R.G0Q,#UR,3LM,3(X -M.S$R-SL =6YS:6=N960@8VAA<CIT,3$]<C$[,#LR-34[ &9L;V%T.G0Q,CUR -M,3LT.S [ &1O=6)L93IT,3,]<C$[.#LP.P!L;VYG(&1O=6)L93IT,30]<C$[ -M.#LP.P!V;VED.G0Q-3TQ-0!R96=?8VQA<W,Z5#$V/65.3U]214=3.C L3$]? -M1E!!7U)%1U,Z,2Q&4$%?4D5'4SHR+$907U)%1U,Z,RQ< $907T]27T9005]2 -M14=3.C0L1$%405]214=3.C4L1$%405]/4E]&4$%?4D5'4SHV+$1!5$%?3U)? -M1E!?4D5'4SHW+%P 1$%405]/4E]&4%]/4E]&4$%?4D5'4SHX+$%$1%)?4D5' -M4SHY+$=%3D5204Q?4D5'4SHQ,"Q'14Y%4D%,7T]27T9005]214=3.C$Q+%P -M1T5.15)!3%]/4E]&4%]214=3.C$R+$%,3%]214=3.C$S+$Q)35]214=?0TQ! -M4U-%4SHQ-"P[ '!T<F1I9F9?=#IT,0!S:7IE7W0Z=#$ =V-H87)?=#IT. !L -M;VYG;&]N9SI4,3<]<SAH:6=H.C,L,"PS,CML;W<Z,RPS,BPS,CL[ &QO;F=? -M;&]N9SIT,3@]=3AS.C$W+# L-C0[;&PZ-RPP+#8T.SL 9G5N8U]P='(Z=#$Y -M/2HR,#UF,34 7U]D;U]G;&]B86Q?9'1O<G,Z1C$U %]E>&ET7V1U;6UY7W)E -M9CI',C$]*C$ 7U]D;U]G;&]B86Q?8W1O<G,Z1C$U %]I;FET:6%L:7IE9"XP -M %]?;6%I;CI&,34 7V5X:70N;P!G8V,R7V-O;7!I;&5D+@ O<V5N9&%I+V%B -M8R]R:6-H+VQA=&5S="]O8FID:7(M<W5N,R]G8V,O "XN+RXN+V1E=F\O9V-C -M+VQI8F=C8S(N8P!I;G0Z=#$]<C$[+3(Q-#<T.#,V-#@[,C$T-S0X,S8T-SL -M8VAA<CIT,CUR,CLP.S$R-SL ;&]N9R!I;G0Z=#,]<C$[+3(Q-#<T.#,V-#@[ -M,C$T-S0X,S8T-SL =6YS:6=N960@:6YT.G0T/7(Q.S [+3$[ &QO;F<@=6YS -M:6=N960@:6YT.G0U/7(Q.S [+3$[ '-H;W)T(&EN=#IT-CUR,3LM,S(W-C@[ -M,S(W-C<[ &QO;F<@;&]N9R!I;G0Z=#<]<C$[,#LM,3L <VAO<G0@=6YS:6=N -M960@:6YT.G0X/7(Q.S [-C4U,S4[ &QO;F<@;&]N9R!U;G-I9VYE9"!I;G0Z -M=#D]<C$[,#LM,3L <VEG;F5D(&-H87(Z=#$P/7(Q.RTQ,C@[,3(W.P!U;G-I -M9VYE9"!C:&%R.G0Q,3UR,3LP.S(U-3L 9FQO870Z=#$R/7(Q.S0[,#L 9&]U -M8FQE.G0Q,SUR,3LX.S [ &QO;F<@9&]U8FQE.G0Q-#UR,3LX.S [ '9O:60Z -M=#$U/3$U ')E9U]C;&%S<SI4,38]94Y/7U)%1U,Z,"Q,3U]&4$%?4D5'4SHQ -M+$9005]214=3.C(L1E!?4D5'4SHS+%P 1E!?3U)?1E!!7U)%1U,Z-"Q$051! -M7U)%1U,Z-2Q$051!7T]27T9005]214=3.C8L1$%405]/4E]&4%]214=3.C<L -M7 !$051!7T]27T907T]27T9005]214=3.C@L041$4E]214=3.CDL1T5.15)! -M3%]214=3.C$P+$=%3D5204Q?3U)?1E!!7U)%1U,Z,3$L7 !'14Y%4D%,7T]2 -M7T907U)%1U,Z,3(L04Q,7U)%1U,Z,3,L3$E-7U)%1U]#3$%34T53.C$T+#L -M<'1R9&EF9E]T.G0Q '-I>F5?=#IT,0!W8VAA<E]T.G0X &QO;F=L;VYG.E0Q -M-SUS.&AI9V@Z,RPP+#,R.VQO=SHS+#,R+#,R.SL ;&]N9U]L;VYG.G0Q.#UU -M.',Z,3<L,"PV-#ML;#HW+# L-C0[.P!F=6YC7W!T<CIT,3D]*C(P/68Q-0!? -M97AI=%]D=6UM>5]D96-L.D<Q %]?0U1/4E],25-47U\Z1S(Q/6%R,3LP.S$[ -M,3D 7U]$5$]27TQ)4U1?7SI',C$ +6QG &QI8F<N<P!-<W=I=&-H+F\ 97AI -M="YO &]N7V5X:70N;P!W<FET92YO &5R<@!?97AI="YO &-E<G)O<BYO &5R -M<FYO+F\ 9FQS8G5F+F\ 9FQO871?<W=I=&-H+F\ 36EN:70N;P!F<%]G;&]B -M86QS+F\ ;6EN:71F<"YO &UA;&QO8RYO &ES871T>2YO &9I;F1I;W N;P!I -M;V(N;P!S:6=V96,N;P!C;&]S92YO &5R<@!F<W1A="YO &5R<@!G971D=&%B -M;&5S:7IE+F\ 97)R &=E='!A9V5S:7IE+F\ 97)R &EO8W1L+F\ 97)R '-I -M9V)L;V-K+F\ 97)R '-I9W-E=&UA<VLN;P!E<G( <V)R:RYO '-I9W1R86UP -M+F\ 7W-I9W9E8RYO &9P<FEN=&8N;P!-9&5F875L="YO &UA.3-N+F\ 9G!? -M<V%V92YO &)C;W!Y+F\ 8V%L;&]C+F\ 9&]P<FYT+F\ 9G!?8V]M;6]N<RYO -M &)Z97)O+F\ ;65M<V5T+F\ <W1R;&5N+F\ 871O:2YO &-T>7!E7RYO &UE -M;6-H<BYO '-E=&QO8V%L92YO '-T<F-H<BYO '-T<F-M<"YO '-T<G-P;BYO -M '-T<G1O:RYO &5C;VYV97)T+F\ 9V-O;G9E<G0N;P!D;W5B;&5?9&5C:6TN -M;P!?=6YP86-K7V1B;&4N;P!?8F%S95]3+F\ 7V)A<V5?:6PN;P!?<W!R:6YT -M9E]S=7 N;P!?=&EM97-?<&]W97(N;P!Q96-O;G9E<G0N;P!R96%D+F\ 97)R -M '!R:6YT9BYO '-P<FEN=&8N;P!O<&5N+F\ 97)R &UE;6-P>2YO '-T<F-A -M="YO '-T<F-P>2YO &%B;W)T+F\ 9V5T96YV+F\ <&5R<F]R+F\ <W1R<&)R -M:RYO %]B:6=?<&]W97(N;P!?<VUA;&Q?<&]W97(N;P!G971P:60N;P!E<G( -M<VEG;F%L+F\ :VEL;"YO &5R<@!?<&5R<F]R+F\ 97)R;'-T+F\ =W)I=&5V -M+F\ 97)R "UL9P!L:6)G+G, 7V5X:70 7U]$64Y!34E# '-T87)T %]M86EN -M '-T87)T7V9L;V%T %]?97AI= !?96YV:7)O;@!-<W=I=&-H &8V.#@X,5]U -M<V5D %]V7V-H87)?9G5N8P!?=E]S:6=N961?8VAA<E]F=6YC %]V7W5N<VEG -M;F5D7V-H87)?9G5N8P!?=E]S:&]R=%]F=6YC %]V7W-I9VYE9%]S:&]R=%]F -M=6YC %]V7W5N<VEG;F5D7W-H;W)T7V9U;F, 7W9?:6YT7V9U;F, 7W9?<VEG -M;F5D7VEN=%]F=6YC %]V7W5N<VEG;F5D7VEN=%]F=6YC %]V7VQO;F=?9G5N -M8P!?=E]S:6=N961?;&]N9U]F=6YC %]V7W5N<VEG;F5D7VQO;F=?9G5N8P!? -M=E]F;&]A=%]F=6YC %]V7V1O=6)L95]F=6YC %]?7VUA:6X 7W9?8VAA<@!? -M=E]S:6=N961?8VAA<@!?=E]U;G-I9VYE9%]C:&%R %]V7W-H;W)T %]V7W-I -M9VYE9%]S:&]R= !?=E]U;G-I9VYE9%]S:&]R= !?=E]I;G0 7W9?<VEG;F5D -M7VEN= !?=E]U;G-I9VYE9%]I;G0 7W9?;&]N9P!?=E]S:6=N961?;&]N9P!? -M=E]U;G-I9VYE9%]L;VYG %]V7V9L;V%T %]V7V1O=6)L90!?=E]C:&%R7V%R -M<F%Y %]V7W-I9VYE9%]C:&%R7V%R<F%Y %]V7W5N<VEG;F5D7V-H87)?87)R -M87D 7W9?<VAO<G1?87)R87D 7W9?<VEG;F5D7W-H;W)T7V%R<F%Y %]V7W5N -M<VEG;F5D7W-H;W)T7V%R<F%Y %]V7VEN=%]A<G)A>0!?=E]S:6=N961?:6YT -M7V%R<F%Y %]V7W5N<VEG;F5D7VEN=%]A<G)A>0!?=E]L;VYG7V%R<F%Y %]V -M7W-I9VYE9%]L;VYG7V%R<F%Y %]V7W5N<VEG;F5D7VQO;F=?87)R87D 7W9? -M9FQO871?87)R87D 7W9?9&]U8FQE7V%R<F%Y %]V7V-H87)?<&]I;G1E<@!? -M=E]S:6=N961?8VAA<E]P;VEN=&5R %]V7W5N<VEG;F5D7V-H87)?<&]I;G1E -M<@!?=E]S:&]R=%]P;VEN=&5R %]V7W-I9VYE9%]S:&]R=%]P;VEN=&5R %]V -M7W5N<VEG;F5D7W-H;W)T7W!O:6YT97( 7W9?:6YT7W!O:6YT97( 7W9?<VEG -M;F5D7VEN=%]P;VEN=&5R %]V7W5N<VEG;F5D7VEN=%]P;VEN=&5R %]V7VQO -M;F=?<&]I;G1E<@!?=E]S:6=N961?;&]N9U]P;VEN=&5R %]V7W5N<VEG;F5D -M7VQO;F=?<&]I;G1E<@!?=E]F;&]A=%]P;VEN=&5R %]V7V1O=6)L95]P;VEN -M=&5R %]P<FEM87)Y %]N;VYP<FEM87)Y %]S<&]R='-C87( 7V-L=6YK97( -M7W-?;&EN:P!?=5]L:6YK %]V7W5N:6]N %]V7W5N:6]N,@!?=E]S=')U8W0Q -M %]V7W-T<G5C=#( 7U]?9&]?9VQO8F%L7V1T;W)S %]?7T143U)?3$E35%]? -M %]?97AI=%]D=6UM>5]R968 7U]E>&ET7V1U;6UY7V1E8VP 7U]?9&]?9VQO -M8F%L7V-T;W)S %]?7T-43U)?3$E35%]? %]O;E]E>&ET %]W<FET90!?;7-W -M:71C:&9P7P!-:6YI= !F;&]A=%]S=VET8V@ 7U]C;&5A;G5P %]?97AI=%]H -M86YD;&5R<P!?;6%L;&]C &-E<G)O<@!?97)R;F\ 7U]W<G1C:&L 7U]F;'-B -M=68 7V9R964 7U]S;6)U9@!?9F9L=7-H %]?9FEN9&)U9@!?7WAF;'-B=68 -M7V9S=&%T %]?8G5F<WEN8P!?8VQO<V4 7VES871T>0!?9F-L;W-E %]?9G=A -M;&L 5FQI<W0 7V9P7W-W:71C: !?;6EN:71F<%\ 7V9P7W-T871E7VUC-C@X -M.#$ 7T9M;V1E %]&<W1A='5S %]F<%]S=&%T95]S=6YF<&$ 7V9P7W-T871E -M7W-K>69F< !?9G!?<W1A=&5?<V]F='=A<F4 7W-I9W9E8P!?14U44W!E8VEA -M; !?9G!R:6YT9@!?;6$Y,VY? %]-9&5F875L= !?14U44VEG;F%L;&5D %]? -M:6]B %]R96%L;&]C %]S8G)K %]G971P86=E<VEZ90!?8F-O<'D 7U]U8F]U -M;F0 7U]?;6%L;&EN9F\ 7U]R;V]T %]?;&)O=6YD %]I;V-T; !?7V9I;F1I -M;W 7V=E=&1T86)L97-I>F4 7U]F7VUO<F5F:6QE<P!?9E]P<F5A;&QO8P!? -M8V%L;&]C %]?<VEG9G5N8P!?<VEG<V5T;6%S:P!?7W-I9W1R86UP %]?<VEG -M=F5C %]S:6=B;&]C:P!?96YD &-U<F)R:P!F<%]S879E &9P7W)E<W1O<F4 -M7U]D;W!R;G0 7U]S:WE?9F0 7U]S:WEB87-E %]B>F5R;P!?8V9R964 7V%T -M;VD 7W-T<G-P;@!?7V-T>7!E7P!?;65M8VAR %]M96US970 7W%F8V]N=F5R -M= !?9F-O;G9E<G0 7W-T<F-H<@!?;&]C86QE8V]N=@!?7VUK87)G;'-T %]S -M=')L96X 7U]F;W5R9&EG:71S<75I8VL 7W%G8V]N=F5R= !?9V-O;G9E<G0 -M7W%E8V]N=F5R= !?96-O;G9E<G0 7U]G971A<F< 7U]F<&%B87-E %]I<W!U -M;F-T %]I<V=R87!H %]I<V%S8VEI %]T;V%S8VEI %]?;6)?8W5R7VUA> !? -M:7-X9&EG:70 7VES<W!A8V4 7VES86QN=6T 7VES=7!P97( 7VES8VYT<FP -M7VES<')I;G0 7VES86QP:&$ 7VES9&EG:70 7VES;&]W97( 7W)E860 7VQC -M;VYV %]G971L;V-A;&5?8W1Y<&4 7U]L86YG:6YF;P!?;&]C86QD=&-O;G8 -M7W-T<F-A= !?7VUY7W1I;64 7W-E=&QO8V%L90!?<W1R=&]K %]I;FET7W-T -M871I8W, 7V=E=&QO8V%L95]N=6UE<FEC %]M96UC<'D 7U]L;V-A;&5S %]S -M=')C;7 7V]P96X 7V]P96YL;V-A;&4 7W-T<F-P>0!?7V-O9&5?<V5T7VEN -M9F\ 7U]C='EP95]U; !?9V5T96YV %]?9'1C;VYV %]S=')P8G)K %]F<%]D -M:7)E8W1I;VX 7U]F<%]C=7)R96YT7V1I<F5C=&EO;@!?7V9P7V-U<G)E;G1? -M97AC97!T:6]N<P!?7V9P7V-U<G)E;G1?<')E8VES:6]N %]D;W5B;&5?=&]? -M9&5C:6UA; !?9V-V= !?7V=C=G0 7V)I;F%R>5]T;U]D96-I;6%L7VEN=&5G -M97( 7U]R:6=H=%]S:&EF=%]B87-E7W1W;P!?9&5C:6UA;%]R;W5N9 !?7V)I -M9U]F;&]A=%]T:6UE<U]P;W=E<@!?8FEN87)Y7W1O7V1E8VEM86Q?9G)A8W1I -M;VX 7U]F<%]N;W)M86QI>F4 7W-P<FEN=&8 7U]F<F5E7V)I9U]F;&]A= !? -M7W5N<&%C:V5D7W1O7V)I9U]F;&]A= !?7V)A<V5?8V]N=F5R<VEO;E]A8F]R -M= !?7W5N<&%C:U]D;W5B;&4 7U]C;&%S<U]D;W5B;&4 7W%U861R=7!L95]T -M;U]D96-I;6%L %]?=6YP86-K961?=&]?9&5C:6UA; !?7V)I9U]B:6YA<GE? -M=&]?8FEG7V1E8VEM86P 7U]U;G!A8VM?<75A9')U<&QE %]?8VQA<W-?<75A -M9')U<&QE %]?9G!?;&5F='-H:69T %]?9G!?<V5T7V5X8V5P=&EO;@!?7W5M -M86, 7U]M=6QT:7!L>5]B87-E7W1W;U]V96-T;W( 7U]M=6QT:7!L>5]B87-E -M7W1E;E]V96-T;W( 7U]C87)R>5]P<F]P86=A=&5?='=O %]?8V%R<GE?<')O -M<&%G871E7W1E;@!?7V-A<G)Y7VEN7V(Q,# P, !?7W!R;V1C7V(Q,# P, !? -M7VUU;'1I<&QY7V)A<V5?='=O %]?;&5F=%]S:&EF=%]B87-E7W1W;P!?7VUU -M;'1I<&QY7V)A<V5?=&5N7V)Y7W1W;P!?7VUU;'1I<&QY7V)A<V5?=&5N %]? -M;&5F=%]S:&EF=%]B87-E7W1E;@!?7W!R;V1?,3 P,#!?8C8U-3,V %]?<')O -M9%]B-C4U,S8 7U]C87)R>5]O=71?8C$P,# P %]?<')O9%\V-34S-E]B,3 P -M,# 7U]L<VAI9G1?8C$P,# P %]?<')O9%]B,3 P,# 7U]M=6Q?-C4U,S9S -M:&]R= !?<')I;G1F %]?;&5A9&EN9U]Z97)O<U]B:6=?<&]W97)S7W1E;@!? -M7VQE861I;F=?>F5R;W-?<VUA;&Q?<&]W97)S7W1E;@!?7VQE861I;F=?>F5R -M;W-?=&EN>5]P;W=E<G-?=&5N %]?<W1A<G1?8FEG7W!O=V5R<U]T96X 7U]S -M=&%R=%]S;6%L;%]P;W=E<G-?=&5N %]?<W1A<G1?=&EN>5]P;W=E<G-?=&5N -M %]?8FEG7W!O=V5R<U]T96X 7U]S;6%L;%]P;W=E<G-?=&5N %]?=&EN>5]P -M;W=E<G-?=&5N %]?;6%X7V)I9U]P;W=E<G-?=&5N %]?;6%X7W-M86QL7W!O -M=V5R<U]T96X 7U]M87A?=&EN>5]P;W=E<G-?=&5N %]?8V]P>5]B:6=?9FQO -M871?9&EG:71S %]A8F]R= !?7W-T87)T7V)I9U]P;W=E<G-?='=O %]?<W1A -M<G1?<VUA;&Q?<&]W97)S7W1W;P!?7W-T87)T7W1I;GE?<&]W97)S7W1W;P!? -M7V)I9U]P;W=E<G-?='=O %]?<VUA;&Q?<&]W97)S7W1W;P!?7W1I;GE?<&]W -M97)S7W1W;P!?7VUA>%]B:6=?<&]W97)S7W1W;P!?7VUA>%]S;6%L;%]P;W=E -M<G-?='=O %]?;6%X7W1I;GE?<&]W97)S7W1W;P!?<&5R<F]R %]K:6QL %]S -M:6=N86P 7V=E='!I9 !?7W!E<G)O<@!?<WES7V5R<FQI<W0 7W=R:71E=@!? -=<WES7VYE<G( 7V5T97AT %]E9&%T80!?7V5N9 !R - -end diff --git a/gdb/testsuite/gdb.base/m68k-elf.u b/gdb/testsuite/gdb.base/m68k-elf.u deleted file mode 100644 index e3d05e746c8..00000000000 --- a/gdb/testsuite/gdb.base/m68k-elf.u +++ /dev/null @@ -1,298 +0,0 @@ -begin 777 m68k-elf -M?T5,1@$" 0 " 0 !@ $> #0 #"0 T " -M!0 H !4 $0 8 T@ - "@ H 4 P -M -0 !, ! ! -( #0 ) -MC "8P % @ $ G @ IP "4 "6 < " -M @ ">2 "GD ' !P O=7-R+VQI8B]L:6)C -M+G-O+C$ &$ , -M 4 P !P 0 -M + ! @ -M -M "@ -M ( ) -M -M -M -M -M!@ ! "02 "H +!@ -M$0#_\0 ^ "G$ !!$ H 8@ )P 1 /_Q 'P -M !:$@ ": "I4 !$ __$ M 2 ,H -M!-@ $$0 " #\ !( !)@ IR 1 /_Q -M7X *>0 $0#_\0!?8VQE86YU< !?96YD %]E;G9I<F]N %]E=&5X= !A -M=&5X:70 7V5D871A &5X:70 7VQI8E]V97)S:6]N %]?9G!S=&%R= !?1TQ/ -M0D%,7T]&1E-%5%]404),15\ 7T193D%-24, +W5S<B]L:6(O;&EB8RYS;RXQ -M " "G4 %%0 " "G8 !%0 " "G< )%0 " "G@ ' -M%0 !.=4YQ+SL!< );9.^P%Q EL@ !.^P%Q EJB\\ &#_ -M____W$[[ 7$ "6:+SP ,8/_____(3OL!<0 )8HO/ !A@_____[1. -M^P%Q E>B\\ )&#_____H"\\@ )O$ZY@ $*%A/(#R 0\9_\ . -M+P!.N8 !"A83Y_\ #"Z60>X !"]( 1*F&;\(\B "G$+T@ "$ZY@ $ -M$$ZY@ $4$ZY@ 'K"Z 3KF 1D3G5.<0 !(#O____Q([P 3R-_ -M 7 $< !@_P 3R-] 7 $3.\ $3EY.=4@._____$CO -M!/(W\ !< 1P &#_ !/(WT !< 1,[P 1.7DYU2 [____\ -M2.\ $\C?P %P !' 8/\ $\C?0 %P !$SO !$Y>3G5( -M#O____Q([P 3R-_ 7 $< !@_P 3R-] 7 $3.\ $ -M3EY.=4@._____$CO !/(W\ !< 1P &#_ !/(WT !< 1, -M[P 1.7DYU2 [____\2.\ $\C?P %P !' 8/\ $\C?0 %P -M !$SO !$Y>3G5(#O____Q([P 3R-_ 7 $< !@_P 3R -M-] 7 $3.\ $3EY.=4@._____$CO !/(W\ !< 1P &#_ -M !/(WT !< 1,[P 1.7DYU2 [____\2.\ $\C?P %P -M!' 8/\ $\C?0 %P !$SO !$Y>3G5(#O____Q([P 3R-_ -M 7 $< !@_P 3R-] 7 $3.\ $3EY.=4@._____$CO -M!/(W\ !< 1P &#_ !/(WT !< 1,[P 1.7DYU2 [____\ -M2.\ $\C?P %P !' 8/\ $\C?0 %P !$SO !$Y>3G5( -M#O____Q([P 3R-_ 7 $\CQ4 8/\ $\C?0 %P -M !$SO !$Y>3G5(#O____Q([P 3R-_ 7 $\CQ4 -M 8/\ $\C?0 %P !$SO !$Y>3G5(#O____Q([P 3R-_ -M 7 $0CF "MD$_P 8 *N 3_ "@ JI#/\ . "K8,_P !( *L@S -M_ %@ J;"/\ !H *G@C_ > "I8(_P (@ J7"/\ "8 -M*M0C_ J "ID(_P +@ JY"/\0L@ ( *J@C_$!I " "IP(_P -M @ J=!/Y@ K9( *T 3^8 *N" "J@$_F "JD@ J8#/Y@ JV( -M*N@S^8 *LB "JT,_F "IL@ J["/Y@ J>( *H0C^8 *EB "KX(_F -M "I<@ JO"/Y@ JU( *UPC^8 *F2 "JL(_F "KD@ JS"/Y@ JJ( -M*TPC^8 *G" "J0(_F "IT@ JE"/\@ K9( *O C_( *N" "M8(_R -M "JD@ J]"/\@ JV( *U0C_( *LB "L((_R "IL@ J:"/\@ J>( -M*K@C_( *EB "L (_R "I<@ JQ"/\@ JU( *MPC_( *F2 "M((_R -M "KD@ J@"/\@ JJ( *T0C_( *G" "L,(_P "@ JC"/\ H -M*GPC_ & "P (_P !@ K:"/Y@ K!( *W S^8 +!" "P(\C?0 -M %P !$SO !$Y>3G5.=4YQ " "GD " 0P -M@ $1( !%B 1L 0 &@ ,@ $$ V F\ !( .@ -M %@ #9 : *D "@ 'L + $ !4 X -M*<@ " , !0 ' %X ^ -M 0 ! #_\0 " #4 , $ -M@ Z # " ( J0 P P " -D , 0 -M @ #X # % ( !! P !@ " 04 , -M < @ $> # ( ( ";P P "0 " "G -M , H @ IR # + ( *>0 P # " "I8 -M , T # . P #P -M , ! # 1 P $@ -M , !, # 4 "@ ! #_ -M\0 !$ 0 __$ 8 $ /_Q ) -M! #_\0 "P 0 __$ V $ /_Q /8 !-P -M R$@ " $F "I8 !!$ T !6@ J7 01 - 98 -M";P $@ "0 &N "I@ A$ T "!@ 'K A 2 ( -MAH *F0 $$0 #0 )2 "IH !!$ T "M@ $/ "02 -M MH +!@ $0#_\0 +N "IL A$ T #,@ %U@ #(2 -M ( XH *G ($0 #0 .N "IX !!$ T #Q@ $> -M 2 ( ^( *GP $$0 #0 0. "G$ !!$ H $,@ J -M@ 01 - !)( *H0 ($0 #0 3" "J, !!$ T $X -M@ %#@ #(2 ( !2X *I 0$0 #0 5J G !$ __$ -M %A@ JH (1 - !=8 *J0 !$0 #0 86 "JH !!$ -M T &-@ JK @1 - !H8 !"@ !:$@ :B "G$ -M!"$ H &P@ &G@ #(2 ( !O( !P( R$@ " =& "JT -M !!$ T 'F@ JN 01 - !]( *E0 $0#_\0 ?N -M 5R ,A( @ ((@ JO @1 - "'8 *L0 $$0 #0 -M C2 8( ,A( @ (_@ JR (1 - "3H !S0 \$@ -M" EN 1D !( )@@ JS @1 - "=H *M0 $ -M$0 #0 GV "K8 A$ T *%@ JW 01 - "E( *N -M !$0 #0 J* "KD !!$ T *R@ JZ 01 - "P( -M*NP $$0 #0 M> 38 !!$ @ +D@ $U 2 ( " -M[( *O $$0 #0 ON "KT !!$ T ,3@ J^ @1 - -M #)H !% $@ S" "L !!$ T -%@ K! 01 -M - #3( *<@ $0#_\0 V* "L( !!$ T -Y@ K# -M 01 - #BH *< $$0 "@ YR "L0 &!$ T .F@ K -M* !@1 - #L( *T "$0 #0 [V "M$ !!$ T /- -M@ K2 01 - #XX !W \$@ " _& 8Z ,A( @ -M 0#@ IY 1 /_Q $#( *TP ($0 #0 !!J "M4 !!$ -M T 0J@ &T #(2 ( $/8 *U@ $$0 #0 !%. "M< -M"!$ T 1@@ $$ 2 & $9H *V0 !$0 #0 !&V "MH -M !!$ T 1U@ %0 #(2 ( $BH *W "0$0 #0 !)& -M 6D ,A( @ 2E@ L 01 - $KX + @ ($0 #0 -M!+B 9L ,A( @ 3,@ L$ @1 - &TV.&LN96QF &-R=#$N -M<P!C<G1I+G, =F%L=65S+5AT+F, 9V1B;64N8P!S:%]D871A+F, 8W)T;BYS -M '9?8VAA<E]F=6YC '9?<VEG;F5D7VEN= !V7W5N<VEG;F5D7VEN= !?9FEN -M:0!V7W5N<VEG;F5D7V-H87)?87)R87D ;6%I;@!V7W-I9VYE9%]L;VYG '9? -M=6YS:6=N961?<VAO<G1?<&]I;G1E<@!?8VQE86YU< !?96YD '9?=6YS:6=N -M961?<VAO<G0 =E]U;G-I9VYE9%]S:&]R=%]F=6YC '9?9&]U8FQE '9?:6YT -M %]S=&%R= !N;VYP<FEM87)Y %]E;G9I<F]N '9?=6YS:6=N961?;&]N9U]P -M;VEN=&5R '9?:6YT7V%R<F%Y '!R:6UA<GD =E]S:6=N961?8VAA<E]F=6YC -M '9?9&]U8FQE7V%R<F%Y %]E=&5X= !V7W-I9VYE9%]C:&%R7V%R<F%Y '9? -M=6YS:6=N961?8VAA<@!V7V9L;V%T '9?<VEG;F5D7VQO;F=?87)R87D 871E -M>&ET &5N=FER;VX =E]L;VYG7V9U;F, =E]U;G-I9VYE9%]L;VYG7V9U;F, -M=E]S:6=N961?<VAO<G1?87)R87D =E]I;G1?<&]I;G1E<@!?961A=&$ =E]S -M:&]R=%]F=6YC '9?=6YS:6=N961?:6YT7V%R<F%Y '9?=6YS:6=N961?:6YT -M7W!O:6YT97( =E]I;G1?9G5N8P!V7W-I9VYE9%]S:&]R= !V7V9L;V%T7V9U -M;F, 97AI= !V7W5N<VEG;F5D7VQO;F=?87)R87D =E]L;VYG '9?<VAO<G0 -M=E]L;VYG7W!O:6YT97( =E]S:6=N961?8VAA<@!V7W5N<VEG;F5D7VQO;F< -M=E]S:&]R=%]A<G)A>0!V7W5N<VEG;F5D7W-H;W)T7V%R<F%Y %]L:6)?=F5R -M<VEO;@!?;6-O=6YT '9?8VAA<E]P;VEN=&5R '9?=6YS:6=N961?8VAA<E]P -M;VEN=&5R '9?<VEG;F5D7VEN=%]A<G)A>0!?7V9P<W1A<G0 =E]S:6=N961? -M:6YT7W!O:6YT97( <U]L:6YK %]'3$]"04Q?3T9&4T547U1!0DQ%7P!V7W-I -M9VYE9%]S:&]R=%]P;VEN=&5R '9?9&]U8FQE7W!O:6YT97( 7U]L;VYG9&]U -M8FQE7W5S960 =E]S=')U8W0Q '9?<W1R=6-T,@!V7V-H87)?87)R87D =E]F -M;&]A=%]P;VEN=&5R '9?<VEG;F5D7VQO;F=?<&]I;G1E<@!V7V1O=6)L95]F -M=6YC '9?<VEG;F5D7VEN=%]F=6YC %]$64Y!34E# '9?9FQO871?87)R87D -M=E]S:&]R=%]P;VEN=&5R '9?<VEG;F5D7VQO;F=?9G5N8P!V7W-I9VYE9%]C -M:&%R7W!O:6YT97( =E]L;VYG7V%R<F%Y %]I;FET '9?8VAA<@!C;'5N:V5R -M '9?=6YS:6=N961?8VAA<E]F=6YC '5?;&EN:P!V7W-I9VYE9%]S:&]R=%]F -M=6YC '-P;W)T<V-A<@!V7W5N:6]N,@!V7W5N<VEG;F5D7VEN=%]F=6YC '9? -M=6YI;VX "YI;G1E<G +FAA<V@ +F1Y;G-Y;0 N9'EN<W1R "YR96QA+G!L -M= N:6YI= N<&QT "YT97AT "YF:6YI "YD871A "YG;W0 +F1Y;F%M:6, -M+F)S<P N<WEM=&%B "YS=')T86( +G!E<V5L "YS:'-T<G1A8@ N8V]M;65N -M= N9&5B=6< +FQI;F4 0"@C*6QI8F,M;3,R.FTT+F1E9@DQ+C0 0"@C*6QI -M8F,M;3,R.F-S=2]C<G0Q+G,),2XQ. ! *",I;&EB8RUM,S(Z;30N9&5F -M"3$N- ! *",I;&EB8RUM,S(Z8W-U+V-R=&DN<PDQ+C, 87,Z("A#1%,I(#4N -M," Q+S(O.3 0"@C*6QI8F,M;3,R.FTT+F1E9@DQ+C0 0"@C*6QI8F,M -M;3,R.F-S=2]C<G1N+G,),2XV "!L9" Z("A#1%,I(#4N," Q+S(O.3 -M "X $0 2 6< X9V1B;64N8P !-@ $!$8 !-P!(8 ";P!!@ -M = !, $@ 4X .'1?<W1R=6-T "V & "H #0 2 =0 X=E]C -M:&%R7VUE;6)E<@ 50 ! ", !@0 !P "L #0 2 H X=E]S:&]R -M=%]M96UB97( %4 ! C 8$ @< I T $@ ,D .'9?:6YT7VUE -M;6)E<@ 50 ' ", !@0 $!P "H #0 2 \P X=E]L;VYG7VUE;6)E -M<@ 50 * ", !@0 (!P "L #0 2 !'@ X=E]F;&]A=%]M96UB97( -M %4 #@ C 8$ # < L T $@ 4H .'9?9&]U8FQE7VUE;6)E<@ -M50 / ", !@0 0!P 0 ; !, $@ FP .'XP9F%K90 M@ !@ -M J T $@ 9, .'9?8VAA<E]M96UB97( %4 0 C 8$ < K -M T $@ ;X .'9?<VAO<G1?;65M8F5R !5 0 (P &! (' *0 - -M !( 'G #AV7VEN=%]M96UB97( %4 !P C 8$ ! < J T $@ -M A$ .'9?;&]N9U]M96UB97( %4 "@ C 8$ " < K T $@ CP -M.'9?9FQO871?;65M8F5R !5 X (P &! P' + - !( )H #AV -M7V1O=6)L95]M96UB97( %4 #P C 8$ $ < $ ' 7 !( .+ -M #AT7W5N:6]N "V " "H #0 2 "L@ X=E]C:&%R7VUE;6)E<@ -M50 ! ", !@0 !P "L #0 2 "W0 X=E]S:&]R=%]M96UB97( %4 -M! C 8$ < I T $@ P8 .'9?:6YT7VUE;6)E<@ 50 ' ", -M!@0 !P "H #0 2 #, X=E]L;VYG7VUE;6)E<@ 50 * ", !@0 -M !P "L #0 2 #6P X=E]F;&]A=%]M96UB97( %4 #@ C 8$ -M < L T $@ X< .'9?9&]U8FQE7VUE;6)E<@ 50 / ", !@0 -M!P 0 ; !< $@ !*D .'XQ9F%K90 M@ @ J T $@ ] -M.'9?8VAA<E]M96UB97( %4 0 C 8$ < K T $@ _L .'9? -M<VAO<G1?;65M8F5R !5 0 (P &! ' *0 - !( 0D #AV7VEN -M=%]M96UB97( %4 !P C 8$ < J T $@ !$X .'9?;&]N9U]M -M96UB97( %4 "@ C 8$ < K T $@ !'D .'9?9FQO871?;65M -M8F5R !5 X (P &! ' + - !( 2E #AV7V1O=6)L95]M96UB -M97( %4 #P C 8$ < $ *@ & !( 37 #AV7V-H87)?9G5N -M8P 50 ! 1& 3< 2& 4. ! #$ !@ 2 %# X=E]S:6=N961? -M8VAA<E]F=6YC !5 (!$8 !0X!(8 !4 $ ,P & !( 5# #AV -M7W5N<VEG;F5D7V-H87)?9G5N8P 50 # 1& 5 2& 5R ! "L -M!@ 2 %<@ X=E]S:&]R=%]F=6YC !5 0!$8 !7(!(8 !:0 $ -M,@ & !( 6H #AV7W-I9VYE9%]S:&]R=%]F=6YC !5 4!$8 !:0!(8 -M!=8 $ - & !( 7@ #AV7W5N<VEG;F5D7W-H;W)T7V9U;F, %4 -M!@$1@ %U@$A@ &" 0 I 8 $@ !@T .'9?:6YT7V9U;F, %4 -M!P$1@ &" $A@ &.@ 0 P 8 $@ !D$ .'9?<VEG;F5D7VEN=%]F -M=6YC !5 @!$8 !CH!(8 !FP $ ,@ & !( 9W #AV7W5N<VEG -M;F5D7VEN=%]F=6YC !5 D!$8 !FP!(8 !IX $ *@ & !( :E -M #AV7VQO;F=?9G5N8P 50 * 1& :> 2& ;0 ! #$ !@ 2 & -MV@ X=E]S:6=N961?;&]N9U]F=6YC !5 L!$8 !M !(8 !P( $ -M,P & !( <1 #AV7W5N<VEG;F5D7VQO;F=?9G5N8P 50 , 1& <" 2& -M <T ! "L !@ 2 '0 X=E]F;&]A=%]F=6YC !5 X!$8 !S0! -M(8 !W $ + & !( =P #AV7V1O=6)L95]F=6YC !5 \!$8 -M!W !(8 !ZP $ %0 5 !( >N (, !0$ ?J %0 % !( >: -M (, !0$ ?J $ % !( >J %4 !P 0 \ $ $@ !^H E0 -M *, * " ( $ @ @@ <@ "X -M 9 !, $@ "'L .&QI;FL +8 "8 )@ - !( @I #AN97AT "# -M 4! 'Z@ C 8$ < J T $@ "%, .&QI;FMF=6YC "# 4! -M '< C 8$ ! < D T $@ "'< .'-T=69F !R 'K@ C 8$ -M " < $ %0 5 !( BY (, !0$ ?J %0 % !( BE (, -M!0$ ?J $ % !( BU %4 !P 0 \ $ $@ "/4 E0 *, -M* " ( $ @ @@ <@ "X < -M !< $@ "8D .'1U7VQI;FL +8 "0 )@ - !( DW #AN97AT "# -M 4! 'Z@ C 8$ < J T $@ "6$ .&QI;FMF=6YC "# 4! -M (>P C 8$ < D T $@ "84 .'-T=69F !R (N0 C 8$ -M < $ .@ $ !( G' #A^,F9A:V4 +8 $ /, &P )B -M;'5E %G<F5E;@ <F5D 0 ^ 0 $@ "@D .&-O;&]R -M<P M@ 0 \P ? G!I;FL 7!U<G!L90 >65L;&]W -M 0 R 0 $@ "C\ .'XS9F%K90 M@ 0 \P 3 69O<F0 -M &-H979Y 0 Q 0 $@ "G0 .&-A<G, +8 $ /, % %P -M;W)S8VAE !B;7< ! #( ! 2 *J@ X?C1F86ME "V -M! #S !, !5%)510 1D%,4T4 ! !P %@ 2 *Q@ X8F]O -M;&5A;@ <@ "G0 Q 0 $@ "OL .&)V86QS "V ! #S !, ! -M=')U90 9F%L<V4 ! !T %@ 2 +& X8F]O;&5A;C( '( -M K& 1@ $ !( MB #AM:7-O<F1E<F5D "V ! #S ", #=&AR -M964 'IE<F\ 6]N90 "='=O 0 C 8 $@ "XD -M.&UA:6X %4 !P$1@ 'K $A@ )O 0 G < $@ "[ .'-P;W)T -M<V-A<@ <@ "C\ (P % X + E < $@ "]4 .&-L=6YK97( '( -M H) ", !0. "MH * ' !( O] #AN;VYP<FEM87)Y !R )QP C -M 4#@ J? "4 !P 2 ,(@ X<')I;6%R>0 <@ "8D (P % X *HP -M D < $@ #$8 .'5?;&EN:P <@ "/4 (P % X *W G < $@ -M#&T .'-?;&EN:P @P % 0 !^H (P % X *P0 F < $@ #), .'9? -M=6YI;VXR !R #BP C 4#@ L" "4 !P 2 ,N X=E]U;FEO;@ -M<@ FP (P % X +! G < $@ #-\ .'9?<W1R=6-T,@ <@ 4X -M(P % X *R@ G < $@ #08 .'9?<W1R=6-T,0 <@ "X (P % X -M*Q O < $@ #34 .'9?9&]U8FQE7W!O:6YT97( &, P$ #P C 4# -M@ K# "X !P 2 -8P X=E]F;&]A=%]P;VEN=&5R !C ,! X (P % -M X *T0 V < $@ #9D .'9?=6YS:6=N961?;&]N9U]P;VEN=&5R !C -M ,! P (P % X *H T < $@ #<T .'9?<VEG;F5D7VQO;F=?<&]I -M;G1E<@ 8P # 0 + ", !0. "M( +0 ' !( WZ #AV7VQO;F=?<&]I -M;G1E<@ 8P # 0 * ", !0. "K< -0 ' !( XO #AV7W5N<VEG;F5D -M7VEN=%]P;VEN=&5R !C ,! D (P % X *L0 S < $@ #F( .'9? -M<VEG;F5D7VEN=%]P;VEN=&5R !C ,! @ (P % X *P L < $@ -M#HX .'9?:6YT7W!O:6YT97( &, P$ !P C 4#@ JN #< !P 2 . -MQ0 X=E]U;G-I9VYE9%]S:&]R=%]P;VEN=&5R !C ,! 8 (P % X *F@ -M U < $@ #OH .'9?<VEG;F5D7W-H;W)T7W!O:6YT97( &, P$ !0 C -M 4#@ K" "X !P 2 /* X=E]S:&]R=%]P;VEN=&5R !C ,! 0 -M(P % X *U0 V < $@ #UX .'9?=6YS:6=N961?8VAA<E]P;VEN=&5R -M !C ,! , (P % X *O0 T < $@ #Y( .'9?<VEG;F5D7V-H87)? -M<&]I;G1E<@ 8P # 0 " ", !0. "M8 +0 ' !( ^_ #AV7V-H87)? -M<&]I;G1E<@ 8P # 0 ! ", !0. "KP ) ! !( _C )4 "C ! -M @ 0@ 50 / + ' !( ! / #AV7V1O=6)L95]A<G)A>0 -M<@ #[\ (P % X *I D $ $@ $#, E0 *, $ " ! -M" !5 X K < $@ $%X .'9?9FQO871?87)R87D '( ! / ", !0. -M "M, ) ! !( !"" )4 "C ! @ 0@ 50 , ,P ' -M !( !"U #AV7W5N<VEG;F5D7VQO;F=?87)R87D '( !!> ", !0. "K, -M ) ! !( !#9 )4 "C ! @ 0@ 50 + ,0 ' !( -M !$* #AV7W-I9VYE9%]L;VYG7V%R<F%Y !R 0M0 C 4#@ JK "0 -M 0 2 1+@"5 HP 0 ( $( %4 "@ "H !P 2 16 X -M=E]L;VYG7V%R<F%Y !R 1"@ C 4#@ K7 "0 0 2 1? "5 -MHP 0 ( $( %4 "0 #( !P 2 1K@ X=E]U;G-I9VYE9%]I -M;G1?87)R87D '( !%8 ", !0. "J\ ) ! !( !'2 )4 "C ! -M @ 0@ 50 ( , ' !( !(" #AV7W-I9VYE9%]I;G1?87)R -M87D '( !&N ", !0. "KX ) ! !( !(F )4 "C ! @ -M 0@ 50 ' *0 ' !( !)/ #AV7VEN=%]A<G)A>0 <@ $@( (P % -M X *H0 D $ $@ $G, E0 *, $ " !" !5 8 T -M < $@ $J< .'9?=6YS:6=N961?<VAO<G1?87)R87D '( !)/ ", !0. -M "KL ) ! !( !++ )4 "C ! @ 0@ 50 % ,@ ' -M !( !+] #AV7W-I9VYE9%]S:&]R=%]A<G)A>0 <@ $J< (P % X *K0 -M D $ $@ $R$ E0 *, $ " !" !5 0 K < $@ -M$TP .'9?<VAO<G1?87)R87D '( !+] ", !0. "KH ) ! !( !-P -M )4 "C ! @ 0@ 50 # ,P ' !( !.C #AV7W5N<VEG -M;F5D7V-H87)?87)R87D '( !-, ", !0. "I@ ) ! !( !/' )4 -M "C ! @ 0@ 50 " ,0 ' !( !/X #AV7W-I9VYE9%]C -M:&%R7V%R<F%Y !R 3HP C 4#@ JH "0 0 2 4' "5 HP 0 -M ( $( %4 0 "H !P 2 41@ X=E]C:&%R7V%R<F%Y !R -M 3^ C 4#@ K0 "0 !P 2 4:@ X=E]D;W5B;&4 %4 #P C 4# -M@ J< ", !P 2 4C0 X=E]F;&]A= 50 . ", !0. "JH *P ' -M !( !2X #AV7W5N<VEG;F5D7VQO;F< %4 # C 4#@ JY "D !P 2 -M 4X0 X=E]S:6=N961?;&]N9P 50 + ", !0. "ID (@ ' !( !4# -M #AV7VQO;F< %4 "@ C 4#@ JU "H !P 2 5+0 X=E]U;G-I9VYE -M9%]I;G0 %4 "0 C 4#@ J7 "@ !P 2 550 X=E]S:6=N961?:6YT -M !5 @ (P % X *E@ A < $@ %78 .'9?:6YT !5 < (P % X -M*G@ L < $@ %:( .'9?=6YS:6=N961?<VAO<G0 %4 !@ C 4#@ J -M; "H !P 2 5S X=E]S:6=N961?<VAO<G0 %4 !0 C 4#@ JR -M ", !P 2 5[P X=E]S:&]R= 50 $ ", !0. "K8 *P ' !( !8: -M #AV7W5N<VEG;F5D7V-H87( %4 P C 4#@ JI "D !P 2 60P X -M=E]S:6=N961?8VAA<@ 50 " ", !0. "K@ (@ ' !( !9E #AV7V-H -M87( %4 0 C 4#@ K9 0 ' "DH !-P !Y__\ -M >O__ ,@ 'O__P &0 !]__\ "6 ?O__ R '__ -M_P /H "!__\ $L @O__ !7@ (/__P 9 "%__\ '" -M AO__ !] (?__P B8 ")__\ )8 BO__ "E ++_ -M_P M "U__\ +F MO__ "[ +?__P O0 "Y__\ +\ -M NO__ #! +O__P PP "]__\ ,4 OO__ #'@ +__ -M_P R@ #!__\ ,R PO__ #/ ,/__P T8 #%__\ -0 -M QO__ #6@ ,G__P VX #*__\ -X R___ #@@ ,W_ -M_P XP #.__\ .6 S___ #H -'__P ZH #2__\ .T -M T___ #O@ -7__P \@ #6__\ /2 U___ #W -G_ -M_P ^8 #:__\ /P W/__ $! -W__P ! X #>__\ 08 -M X/__ $(@ .'__P !"P #B__\ 0V Y/__ $0 .7_ -M_P !$H #F__\ 14 Z/__ $7@ .G__P !&@ #J__\ 1R -M [/__ $? .W__P !(8 #O__\ 20 \/__ $F@ /'_ -M_P !*0 #R__\ 2N ]/__ $N /;__P !,( #W__\ 3, -M /__ $X -M $ ! H -0 #4 $P 0 -M ) !0 * #H Z ;P # 0 $ -M#P L "@ "I J0 # ! $ $ $ !< # -M H V0 -D >P 0 ? ! * -M /@ #X # # !P 0 , *0 $ &@ $$ -M!! $ $ "\ ! !H !!0 04 -M9 ! !0 T 0 : 1X $> !40 -M 0 .@ $ &@ )O ";P $ -M $ $ ! X *< G " ! -M !& 0 . "G( )R !P 0 $ -M2P 8 #@ IY ">0 !P ! $ " %0 ( -M X *E@ I8 !P " !9 @ -M *6 !P / ' 0 0 80 , -M$5@ 34 ! &D # !8L -M ! !P P 6+ ) -M $ >@ $ %KP #/ -M $ (, ! !>, 6< ! -J "* 0 M_ I0 0 - -end diff --git a/gdb/testsuite/gdb.base/mips-ecoff.u b/gdb/testsuite/gdb.base/mips-ecoff.u deleted file mode 100644 index 69f656a1814..00000000000 --- a/gdb/testsuite/gdb.base/mips-ecoff.u +++ /dev/null @@ -1,671 +0,0 @@ -begin 777 mips-ecoff -M 6 "2G<_%0 # 8 X <!"P(* @ $ )= $ !P ! 0 -M $ 0 //___X -T $ "*@"YT97AT $ !P ! -M < !E0 !P " N:6YI= ! &Q 0!L0 -M( &Q " +F1A=&$ 0 $ "I " -M 0"YL:70X $ *D! "I 0 JD -M @ N;&ET- ! "J 0 J@ $ *J -M 0 +G-D871A 0 JP$ *L & "JP , " -M "YS8G-S $ +$! "Q % # ! N8G-S -M ! #% 0 Q0 ":\ " <G-R8P -M " (^D -M \'! !)Z4 !"><BH DI@ $ 00@*^%@90 PC A)[W_Z*^&@#"OH 4 #P -M(0P0!L>OA(&0#! !9 ,$ %H @(8^$@9"/A8&4CX: , P0 .L -M#! !I ! ("$ - ^ " GO0 ( ^ " @^"$#X ( -M /@ @ ! A ^ " #X ( /@ @ ! A ^ " -M #X ( /@ @ ! A ^ " #X ( /@ @ ! A ^ -M" #X ( /@ @ ! A ^ " #X ( /@ @ ! A -M ^ " #X ( /@ @ ! A ^ " #X ( /@ @ -M ! A ^ " #X ( /@ @ ! A ^ " #X ( /@ -M @ ! A ^ " #X ( /@ @ ! A ^ " #X ( -M /@ @ ! A ^ " #X ( $2 #X ( /@ @ -M ^ " !$@ 1( ( /@ @ ^ " #X ( *. @) D -M#@ !HXZ D20/ *CCX"2)!@ Z>8@)0D&0 $IYF EB0( 6GB("8) D !J^) -M@)PD"@ 'KXJ H"0+ BOBX"D) P ":^,@*@D#0 *KXV K"0. NOCH"PQX2 -M( #GA("TQX> $,>&@!3GAX"XYX: O)./@) HX^ P).8@)$ -MHYB PI.9@)( HYF Q(>(@)0 IXB R(>)@)8 IXF S)>*@)@ -M IXJ T(^+@)P KXN V(^,@* KXR X(^-@*0 KXV Z(^. -M@*@ KXZ \(^/@*P KX^ ^(^8@+ KYB! ,>(@+0 YXB! -M",>+@+C'BH"\/ $0 .0K8_#D*F/T)YF D*^9@1 GB("1KXB!%">)@)*OB8$8 -M)XJ E*^*@1PGBX"6KXN!(">,@)BOC($D)XV G*^-@2@GCH"@KXZ!+">/@*2O -MCX$P)YB J*^8@30GF8"LKYF!.">(@+"OB($\)XF M*^)@4 GBH"XKXJ!1"0+ -M *OBX%<) P J^,@6 D#0 !KXV!:"0. &OCH%DCX^!6#P!$ "L+V,PAYB! -M2 "GF(%0 ^ " $"$#X ( #X ( -M)[W]4 " &"$D#O__K[\ '!1@ !&OK@ D/ 00 P0 ;0DA ($$$ !0! &"&0 -M3P !7@ @ DYB 0 3 # ! ", ! A)X. 1#P% -M$ "C@(! )*4"$">D C ,$ 'TKZ,"L(^C K GI (^#! !] !@*"$GI (P#! " -M( *"$$0 1 $ @(2>E "PD!@("#! "**^D "@D 0("%$$ "(^D "@\!! -M)(0 ">E "P,$ (P) 8" J^@ "2/I H#! "] "/H@ D (^_ !PG -MO0*P ^ " )[W_X*^_ !P,$ ,.KZ0 ( P0 R@ CZ0 ( P0 -M!4P C[\ '">] " #X ( ">]_^"/@H PK[$ -M&*^P !0 @(@AK[\ '!1 , 0( A$ %0 $"&/CH P (W/ -M$> #P $"&.!0 (@("$,$ '7)A !!! , 0!@A$ !@!@$"&. -M!0 !2@__<"(" A 0(8^_ !R/L 4C[$ & /@ @GO0 @D*( )"# -M DI0 !$$, !"0& #T0 ,) 8 /20& #T 8! A%$8 R2$ $#X ( * 0 -M(9"B "0@P )*4 1!#__@ 8! A%& " $"&0KO__ !3. 0 ! A -M ^ " "@$"$ ! A ^ " @! A@*@ #2- ,1 D :1P(H"I $ -MKG@@$2 'P " J@ " !% !J(K @*L YBL ,18 4J(P "&D -M__V!Z !(>\ !!$ !,@A $@>G__@ 1( . ('J__\ $4 -M"8GL__V!ZP F>P !5@__&LC ^ " #X (N(P Z"* *@B0 ! -M ^ "*"( "0" ^T ,$. P ($ 50 /@ @ -M ) (#ZP P0X # @0!5 ^ " 0P : ( X(1"D -M !@ A0@J%" ""C! ! IA @ (((*A @ 0HP0 0$ 6RC! ! HP0 0%" -M!0 PH@ #,(, Q!# L $, !P IA@A@*( "2E $DA ! -M%*/__*""__\#X ( . 0(1! !@D 0 !$$$ #R0! (000 ' ("B D -MI0 !)(0 23&__\0 .H(+__X2B DI0 ")(0 B3&__X0 (I(+__H"B -M "$HP !H(( "2E ,DA #),;__:2#__XHP0 @%" %BC! !",H@ C*, -M!(RH B,J0 ,C*H $(RK !2,K 8C*T '*R" "L@P $K(@ "*R) RLB@ 0 -MK(L %*R, !@DI0 @)(0 ("3&_^ 0 /_JK(W__"C! ! 4( .*,$ !(RB ", -MHP $C*@ "(RI RL@@ K(, !*R( @DI0 0)(0 $"3&__ 0 /_RK(G__"C! -M 04(/^U (RB DI0 $)(0 !"3&__P0 /_XK(+__"C! ! IB@@%" -M!0"&(" PH@ #,(, Q!# T $,#_K0 DI?__)(3__P"F&". H@ -M)*7__R2$__\4H__\H(( 0/@ @ X! A$$ &"0! ,000 /) $ A!! < -M @*+__R2E__\DA/__),;__Q Z@@@ A*+__B2E__XDA/_^),;__A -M BD@@ @*+__X2C__V@@O__)*7__22$__TDQO_]I(, "C! " 4( 6*,$ -M$(RB__R,H__XC*C_](RI__",JO_LC*O_Z(RL_^2,K?_@K(+__*R#__BLB/_T -MK(G_\*R*_^RLB__HK(S_Y"2E_^ DA/_@),;_X! _^JLC0 *,$ $!0@ XH -MP0 $C*+__(RC__B,J/_TC*G_\*R"__RL@__XK(C_]"2E__ DA/_P),;_\! -M__*LB0 *,$ !!0@_[, C*+__"2E__PDA/_\),;__! __BL@@ -M ) (#[@ P0X # @0!5 ^ " $"$0@ / -M) ( 8^#@& *&$ (! @ HD @ ! -P@#P!$ +@@A)&, :PD B"O -M@X!@ ^ " $"$D @ ! ^ " "/@X!@)[W_X*^_ !ROL0 8K[ %!A@ -M \D8O__/ \0 "7O B G" /!$0 "8Q B !SX ACA@ # /@) -M "80__P"$0@K$"#_^0 "/OP <C[ %(^Q !@#X ()[T ((^.@' GO?_@ -M/ \0 *^P !@E[P0U/! 0 '/""NOOP <%" $280!#0\&! CQ@+ 3 -M % P0 W8" " A$ P ,$ -& @ @(8^9@' F$ 0 AD(*Q0@ -M__$ C[\ '(^P !@#X ()[T (">]_]BOL 8 (" (:^_ !P6 #) /_ -M_Q "4D O__D@( # P3@"#$< %#!8 @P3P &) $ A7A 8 !@A -M#! #=@( ("$0 " $ 8(0 &"&2! -#! "]*^C "2/HP D!$$ @ D -M ___D@( # P6 ($P !@ ".! (#! &&J^C "2/HP DK@ "(X9 -M BB ,K@ !@$"&N&0 $C[\ '(^P !@#X ()[T *">]_^"OL 8 (" -M(18 !.OOP <CXZ <#P/$ E[P0U/! 0 '/""L4( *)A $-!( , -M#! #=@( ("&/F(!P)A $ (8""L4(/_X ! #@ ! AD@, # P -M8@ "%$ ##!H 2.!0 D@0 #20& $,$ 9P 4H(XX9 BN 0(1 -M "FN&0 $,&@ !!4 " P;0 @$$ 'C!M "". @ ( !! !HP;0 @C@D -M! 20@K$" %3!M " ,$ 14 @ @(9(# P ,&H !!5 XP;0 @ -M,&L A%@ LP;0 @C@( " 00 ',&T ((X, 0 $P(*Q0@_^X -M ,&T (!&@ 0 !@A$ B0#__\ !@A & 0(8^_ !R/L 8 ^ "">] -M " GO?^PK[ '*^_ "ROLP H *" (:^R "2OL0 @KZ0 4)(# PD$0!")!( -M!B03 (P;@!2%BX )3!L !:2#P -/!D0 /P( #.,@ACSD"H(X" 0 -M %D(*Q @ $\ CZ@ 4"0! J@2 C@D ! E*@ !K@H !).K %, -M $6$ ! "/H@!0$ 8(^_ "P,$ 14 @ @(20!__\400 $CZ, 4! -M ,D ___CZ, 4 0 !4 & 0(3!L !863 4,'@ $H^M % GI0!,HZT -M3)($ VN #! &>"0& $D 0 !%$$ ! "/H@!0$ 18^_ "R2#@ , -M) +__S7/ " 0 _H@\ ##!X !(6> 0 (X" @ $$ # ". -M&0 $ !19 P C@@ 5 ( #!I $05( & 8(0P0 -M!)H" " A$ @! &"$ !@A$& P 0 D) +__Y(# P ,&H -M1!5 _Z<P;@!2#! $5 ( ("&. @ "1"__\$00 &K@( ).D %,,$ /( -M @ H(1 J2#P ,CZL 4(X, 0 H8L (X- 0 ):X :X. 22 -M#P , #'X " 3 $CZ, 4! ,D ___CZ, 4 8! AC[\ +(^P -M !R/L0 @C[( )(^S "@#X ()[T 4">]_^"OOP 4 ( X(8SC B0[P ,C.X -M! !@*"$Q^ !$K.4 !!, @!Q3 CD/D #3P)$ E*0*@ !E @ $)("$0 * -MK. )#J T\#! )8P"H *6( !;" AC(T !HQ CK.( (SB -M !$$ ! ! &"$0 " 8(0! &"&,C@ C.\ ! !S\ C P,(*A @ -M H KZ4 '*^F !@ X" A#! %-J^G ""/I0 <CZ8 &(^G " &, -M#P $"&0Y -KZ< ( P0!GBOI@ 8CZ8 &(^G " 0P@ ' 0(9#Y PD O__ -M-R@ (! *@Z , 0(8^_ !0GO0 @ ^ " GO?_HK[\ %)"" PD -M 0 ",$X $A'! P ,$\ @A7@ 8D ?_O#! &@R0$ D0 R) +__R0! -M_^\ 0< D-QD J"9 R,@P ( !1@ < #! $W:^D !B/I 8 -M (R# @ C(@ ! 4: @ 0(9") P ,2H 1!5 !L ! A -MD(L #3P-$ EK0*@ M@@ &-*"&,K@ '#>".LCP C(( $ -M00 $ $ 8(1 ( !@A $ 8(8RX ",F0 $ ,90",! P@J$" ! -M$"$,$ 4V $"&/OP 4)[T & /@ @ )[W_X*^_ !0 @"@AD*X -M#)"C TQSP $$> # !@,"$\&1 )SE@" &P, #&1 A -(@#P!$ *0@A -MK*( ""1( @0 TK"@"H"C! (0( 3 !3 8 / ,0 "1C$ "L -MHP ($ !0!@$"$\ Q )&- *RC @ 8! AD*L #3P!$ "V" "P((21* -M( 0 ?K"H"H*^E " D!" (#! %5*^F !R/I0 @CZ8 '!! RLH@ (D*T -M#)"Y V,KP (/ $0 #6N @ &4" H*X # H""$E^" $ #*PX J \"Q -MD*P #25K8 @ !DC 2L0(3P!$ #&B "T((:RB @D2@ (K"H"H(RN @ -MP" AK*X ! P0!HBOI0 @CZ4 (!! F/OP 4D*( # P3P $%> !(^_ -M !0T60! H+D #(^_ !0GO0 @ ^ " "0C@ -/ ,0 .>( ;Q@AC&," -MH(R8 0 '@0(P1! , ^ "*R# 2,F0 !9""H0( " -M *R" #X ( ) (#Z0 P#X ( #P!$ "L -M(@P8 ^ ""0"__\GO?^HK[8 +*^R !ROOP TK[< ,*^U "B/CH%PK[0 )*^S -M ""OL0 8 ("0(:^P !01P $ "P(8^%@800 +)Y6!<">"@70GE8%PKX*! -M?#1/ &OCX%P-K@ 0*@."&OF(%T $ H(:^'@7B/AX%X)!?__R04__X X(@A -M P(8XC & 0(3!9 $7( = B" (0!@@"&. @ )D0 !P $(((P -M2 !%0 #@ $(( "(#@AKX>!>!2P *N(@ B H(8XC &" (8X" -M ,$D 1$@__8 B00(0("""L4( # %$(*Q @ &H & 0 -M(0(@@"$ 5(@D A$(*Q0@_]L CXJ!? 2"@ # ! 2OA8&$ -M$C4 !23& &OA8&$$ :P $"$DQ@ !+,$ A0@_\P )D, !P #&(*O -MHP X *"((0 ("$,$ :@KX6!A(^+@7R/HP X)6P !!!, P 0( A)&8'_P & -M,L(P1 #$( $ &,T D#0 $ :08(P!@L"$ 0X A$ "@#6,"&/A8&$CXZ! -M? !Q7@C _ @P!X,",DQ@@ 8RP@ &,T "!L@A S (*Q @ 0\ 7__ -M$ 00 $"$\ 7__-"'@ 0#!""L4( - ,"8(3P$?_\TA. #! &H*^F $B/ -MI@!(%%< !#P!@ 0 S 0(3P!@ T(2 ,$P(0P0!J P" A%%< !0 -M ,$ :L @ @(1 "@ ! ACXB!? (32"$!-E C)4O__*T0 "N"P CXR! -M? ( *"$EC0 $$@T !3:B &-C@ #7/ &MCP CA@ "OF(%\ -MCYF!?! _W>O(@ $ X(0#P""L0( &-.D 8SH KXB!@*SC T -MZ0 !$+$ !*XI "OAX%X$ !*^%@80 X"@AKX6!A*^'@7@F(@ $C[\ -(^P -M !2/L0 8C[( '(^S ""/M DC[4 *(^V "R/MP P ^ "">] %@0@ - ( 0 -M(22"__RO@H%XC$X "0!__X!P7@DK$\ (Q9 "/F(%\ !<9 ( -MKX*!A /@ @ )[W_R*^P !@ @( A$@ .*^_ !R. O_\ #!. $1 -MP ( % 8(P( ("$,$ 8:KZ4 /(^E #R. O_\ !0&", QB#KZ, ) "@ -M("$,$ 54KZ4 /(^C "2/I0 \$$ !0! ("$04 # !2@ 0DIP #$ -M(0" $"$DIP # <X@@#C""L0( " #@&"&OI T @ H(0 #,( ,$ (P -MKZ< ((^D #2/IP @ % (*Q @ ! =X@ !/&"$ < @K%" "P -M<,@C !E @X^8@8 "$B $E0(1 2M6 #! %5 "@("$ 0" A ( 0(8^_ -M !R/L 8 ^ "">] #@ "0" _L ,$. P ($ 50 -M /@ @ ) (#[ P0X # @0!5 ^ " "/@H&8 -M ^ " "OA(&8 ^ " " $"$ ">]_["OOP <#! &@*^D %"/ -MI !0KZ( )"0%5 @,$ :\)Z8 * 1! <D @ !CZ0 ) P0!H, $ @ -M$"$D @ !C[\ '">] % #X ( #P#$ ",8PJ$) (# -M^0"#("$ ,%. !#P!$ 8! A ^ "*PD"H0($ 50 #P"$ ",0@J -M """"L0( " ! ("$D @/Y #!3@__0\ 1 K"0*A /@ @ -M ! A D @0> #!#@ , "! %4 #X ( -M #X ( -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M (" @(" @(" @*"@H*"@@(" @(" @(" @(" @(" @("!($! 0$! 0$! 0 -M$! 0$! 0A(2$A(2$A(2$A! 0$! 0$!"!@8&!@8$! 0$! 0$! 0$! 0$! 0$! -M 0$! 1 0$! 0$(*"@H*"@@(" @(" @(" @(" @(" @(" @("$! 0$" -M -M -M 0(#! 4&!P@) -M"@L,#0X/$!$2$Q05%A<8&1H;'!T>'R A(B,D)28G*"DJ*RPM+B\P,3(S-#4V -M-S@Y.CL\/3X_0&%B8V1E9F=H:6IK;&UN;W!Q<G-T=79W>'EZ6UQ=7E]@04)# -M1$5&1TA)2DM,34Y/4%%24U155E=865I[?'U^?P -M -M -M !#2%)#3$%34P O;&EB+V-H<F-L -M87-S+P -M -M -M ! 8" -M -M -M -M -M -M -M -M -M $ " 0 ! 8!@0 & 8!@( -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M 0 *= $ "G0 -M 0&D $+( -M 0 &%S8VEI -M $ *= -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M < D""@ !D + P8 - ,R $Y ]L -M "$P 3%P A, !4J !B0 %ST '@ 8Q@ !< !K -MB (< &SX,/ @X# 00-! T$ 0(*"! !9 \# 0$!%@P% A(! 0(04%!04% -M!04%!04%!08',!$1(1$1(1$1(1$1(A,R$A(B$A(B$A(B$A(B%"$1$2$1$2$1 -M$2$1$2$1(1$1$2(B$P$!,-" BP6(, "1$0,/ 4$A0F5! B)0& Z __*! -M \2$P4PX#$7%!$8 !<2$1@!$1)08! 0$! 0$! 0$! 0$! 0$! P$! 0$! 0 -M$! 0$! 0$! 0$! P$" 0$! $!$1$0 0$1$10/ A,A 2$8( "A 0$7$0(! @ -M$.! \($ "A(2,! @$!#0<! @$!#0<! @\# 0X(( #! 0$! 0$! 0(! 0$! 0 -M$)" D0$-!R$! 0$" 0$-!0$!#0<A 0(! 0T( $,! T$ 0$7$0$! @$" 0 -MX$#P@0 *$A(P$" 0$-!P$" 0$-!P$"#P,!#@@@ ,$! 0$! 0$! @$! 0$! 0 -MD( "1 0T'(0$! 0(! 0T% 0$-!R$! @$!#0 ! 1$2$6%!(B!"<7%##0,- R -MT#&$ H3,103 T#0010C$R 5$"$2$Q! X! @\!,",-!V$R8T)"#P(?!(!!@( -M !@!" )2& H 1(8 3(0(. @\!02$!#P$/!H" 81%#$8""@' D @X2#P$. H -M!A@(!!@ $!#P$/ T 102$1$C(Q48&!@&) ) T#'02!#P,B@(-R 2\!#P$1#P -M. $@$/ 8 !$3. 1%! 1 !)A</ %<)1PT#0PX1 @X# 10A 5&$#P$!<6(! 0 -M$B@A$Q% \!(0\!'P<1'P(A PX" W(Q%#\"81(B,1$4!"P$ 0D'(3$A @X$ B -M$A @(. E& ) T'$S%3$"@ )@/_WA +%1$5(. C$200%A<4$/ R% 0$1$1 -M ! 1$1%"0"$!0,!0\!0B$20A(/ @$2#P$2$3$" 0$1$1 ! 1$1$ -M @ /____\ !@ '0 . &< -M : 0 : #_____ !T 'P (( -M "$ &@ ' & ' _____P = -M !\ "/ DP !L !\ " !\ /____\ -M '0 ? G@ * > "$ #_____ -M !T 'P 'D !Y !@ E !@ -M _____P = !\ !Z >@ $ P *0 -M P /____\ '0 ? >P 'L " -M2 "T 2 #_____ !T 'P 'T !] -M P & Q & _____P = !\ -M !^ ?@ 0 !X -0 !X /____\ -M '0 ? ?P '\ % D #D D #_____ -M !T 'P ($ "! !@ *@ ] *@ -M_____P = !\ "" @@ < # 00 # -M /____\ '0 ? @P (, ( V -M $4 V #_____ !T 'P (4 "% -M"0 / !) / _____P = !\ "& -M A@ H $( 30 $( /____\ -M'0 ? AP (< + !( %$ !( #_____ -M !T 'P (D ") # 3P !5 3P ____ -M_P = !\ "* B@ T %< A0 %< -M /____\ '0 ? L@ /< . $ -M #_____ !T 'P ( " -M " ( #___UL_____P "L = !\ !? -M@P 0 " _____/____\ " '0 ? -M '0 "X $ @ , /____S_____ -M @ !T 'P !X F (P # (P _____P -M = !\ S .0 D 0 -M /____\ '0 ? 8@ )H $ -M #_____ !T 'P X 2 -M ! _____P = !\ . $@ -M 0 /____\ '0 ? -M* 2X $ #_____ -M !T 'P X 3 # _____P -M = !\ 7 ' !( !0 !* P _____/__ -M__\ " '0 ? (0 "4 $ $ @ $ -M /____S_____ @ !T 'P "H ] '@ # -M 'H ! #____T_____P * = !\ !. 90 X -M $X !0 $Z 0 _____/____\ " '0 ? <@ -M (D B "@ < "@@ \ /___]S_____ !0 !T -M'P )H "Z -0 !+ ) !+( #____T_____P -M ( = !\ #2 W@ %8 7( "P 7* _____/____\ -M !@ '0 ? Z@ /@ !K &U T &U@ /__ -M__3_____ @ !T 'P 0, $; > "#@ / " -M#@ _____P = !\ $I !, )4 -M 0 /____\ '0 ? #@ \ -M $ #_____ !T 'P -M !$ > & (#_ #____<_____P -M6 = !\ !D Q0 ,8 " ,< /____\ -M '0 ? S -L !. #6 H #7@ $ /___^3_ -M____ X !T 'P .8 $! 5 ! -M _____P = !\ . $@ -M 0 /____\ '0 ? #@ !( -M $ #_____ !T 'P !\ -M C P # P _____P = -M !\ J , $ 0 " ____S/____\ -M % '0 ? '@ "@ $ #_____ -M !T 'P !< ? # $ "P -M _____P = !\ E +P @ 0 -M /____\ '0 ? #@ !( -M 0 L( + # (K___ %0! < 8( " %0 &@@( " -M '0! B@8( & '0 @@( $ *0! C 8( * *0 P@ -M( & ,0! CP8( . ,0 @@( ( 0 @( 0 -M L( " 0 @( 0 L( " 0 @( -M 0 L( " 0 @( 0 L( "* 0@ !AI8 ) -M 2P E8 ( 60 ! E8 # : " E8 $ =0 $ E -M8 % @P & E8 & D@ ( E8 ' A8 ! H@ -M !AI8 1 IP E8 ( M0 ! E8 # Q " E8 $ -MT0 $ E8 % WP & E8 & [@ ( E8 ' A8 ) -M _@ AM8 9 !!@ E8 ( !% E8 # !(P E -M8 $ !, E8 % !/@ E8 & !30 E8 ' -M A8 1 !70 AM8 A !8@ E8 ( !< E8 # ! -M?P E8 $ !C E8 % !F@ E8 & !J0 E8 ' -M A8 9 !N0! E 8( "' <( D @@ -M( B !N0 !@@( A !Q0! F@8( ") <( H -M @@( F !Q0 !@@( E !V ! H 8( "+ <( L -M @@( J !V !@@( I ![0! I@8( "- <( P -M @@( N ![0 !@@( M !^@! K 8( "/ < -M( T @@( R !^@ !@@( Q "#@! L@8( "1 -M <( X @@( V "#@ !@@( U ") ! N 8( "3 -M <( \ @@( Z ") !@@( Y "+P! O@8( "5 -M <( ! @@( ^ "+P !@@( ] "00! Q 8 -M( "7 <( !$ @@( !" "00 !@@( !! "50! -M R@8( "9 <( !( @@( !& "50 !@@( !% " -M80! T 8( "; <( !, @@( !* "80 !@@( !) -M "= ! U@8( "= <( !0 @@( !. "= !@@ -M( !- "B0! W 8( "? <( !4 P@( !2 "B0 -M !P@( !1 "E@! XP8( "A <( !8 ! @( !6 " -ME@ " @( !5 "I )AI8 !> "J0 E8 "F "K@ " E8 "I -M "MP $ E8 "L A8 !9 "O0 )!M8 !C "Q0 E -M8 #$ "R@ E8 #' "TP E8 #* A8 !> "V0 -M 1Q8 !H "W@ E8 #B "X@ $E8 #C "Z (E8 #D -M A8 !C "[0 1Q8 !M "] E8 #K "^P $E8 #L -M # @ (E8 #M A8 !H #!P 1Q8 !Q ## E -M8 #T #$@ $E8 #U A8 !M #%P 1Q8 !U #' -M E8 #\ #( $E8 #] A8 !Q #* 1Q8 !Y # -M+0 E8 $$ #,P $E8 $% A8 !U #. I8 $& -M #0 1Q8 !^ #1@ E8 $, #3 $E8 $- A -M8 !Z #40 I8 $. #6@ 1Q8 "% #90 (E8 $4 #:0 -M $E8 $5 #;0 E8 $6 #<@ ,E8 $7 A8 !_ # -M> ! ZP8( $8 <( "( = @( "& #> > @( "% -M 0 @( 0 L( $ % ! !9 8( - % @@ -M( ! 0 @( 0 L( % "1 "L )K___ % ! -M!: 8( - % .P@( " 0 @( 0 L( $ -M#@! !I 8( - #@ #0@( ! 0 @( 0 L( & -M "@! !M 8( - "@ (P@( ! $0! !UPX( / $0 '0@ -M( # 0 @( 0 L( ) #@! !] 8( " %0! -M"!@4+___ (@! "& 4+___ *0! "&@4+___ , ! "&P4+___ -M-P! "' 4+___ #@ *@@( ! 0 @( 0 L( % -M #0! "( 8( " $P! ")@4+___ #0 " @( ! 0 @ -M( 0 L( " 0 @( 0 L( " 0 -M @( 0 L( % #0! "* 8( " $P! "+@4+___ -M#0 " @( ! 0 @( 0 L( 9 #0! ", 8( " -M % ! "/ 4+___ 'P! "0P4+___ ,0! "1@4+___ /P! "2P4 -M+___ 0P! "304+___ 40! "604+___ 7 ! "7P4+___ 9P! -M"9@4+___ < ! "9@4+___ ? ! "?04+___ B ! "C 4+___ -MDP! "E04+___ GP! "G04+___ L@! "H@4+___ P ! "J04+___ -M S@! "M04+___ V0! "NP4+___ Y ! "P@4+___ [@! "P@4 -M+___ ^P! "V04+___ !" ! "Z 4+___ #0 P0@( ! 0 -M @( 0 L( % #@! "] 8( " %0! "^@4+___ -M#@ " @( ! 0 @( 0 L( ( "A "N )K___ -M $Q B (3___ '@! "_ 8( - '@ $@@( # )0! ##@8 -M( / )0 &@@( % 0 @( 0 L( 2 "@! -M#* 8( - "@ '@@( ! $P! #1@8( / $P , @( # -M&@! #=@8( 1 &@ 4@@( % (0! #R 8( 3 (0 C @( ' -M *0! $5 8( 5 *0 1@@( ) ,@! $F@8( 7 ,@ 0P@ -M( + .@! $W08( 9 .@ 60@( - 0P! %-@8( ; 0P -M % @( / 0 @( 0 L( $ # ! %3 8( " -M# ! @( ! 0 @( 0 L( $ #@! %4 8( " -M #@ ! @( ! 0 @( 0 L( " 0 @ -M( 0 L( " 0 @( 0 L( - "A -M"_ )S___ $1 "_@)S___ &! "_P)S___ 'Q # )S___ -M)A # 0)S___ +P! %5 8( - +P Q@@( & -@! &&@8( / -M -@ $ @( ( .P! &*@8( 1 .P 1 @( * 0 @ -M( 0 L( % #@! &< 8( " %0! &=@4+___ #@ -M " @( ! 0 @( 0 L( % #@! &> 8( " -M%0! &?@4+___ #@ " @( ! 0 @( 0 L( & -M # ! &@ 8( - # P@( ! %0! &@P8( / %0 P@ -M( # 0 @( 0 L( $ "P! &B 8( - "P -M %0@( ! 0 @( 0 L( ( #0! &H 8( " -M#0 "@@( ! $P! &J@4+___ %P! &K 8( & ' ! &LP4+___ -M %P #@@( $ 0 @( 0 L( % #@! &O 8 -M( " %0! &P@4+___ #@ " @( ! 0 @( 0 -M L( " 0 @( _____P $ /____\ -M!@ #_____ @ _____P * & -M @ 0 & " H + P 4 ' "0 !H # -M # __ ! 0 @# # __ ! 0 -M @# # __ ! 0 @$ # __ ! -M 0 ! $ # __ ! 0 ! % # __ ! -M 0 ! & # __ ! 0 " & # __ ! -M 0 " ' # __ ! 0 " ( # __ ! -M 0 " ( # __ ! 0 " ) # __ -M! 0 " * # __ ! 0 " + # -M__ ! 0 $ # ! P 0 , $ $ ! ! 0 4 $ & -M ! !@ 0 < $ ( ! " 0 D $ * ! "P 0 P #__________PP -M #_\ ! P #__________PP #_\ ) T #_________ -M_PT #_\ 1 T #__________PT #_\ 9 "4# -M *0, M P #$$ -00 Y!0 #T& -M 008 !%!P $D( 30@ !1"0 -M %4* 60L , __________\, ! __ 60 , !(0__ -M60 , #,P__ 0 #_\ $ " P/_P 0 -M $ ) __ ! !( , ! __ 60 - -M __________\, ! __ 60 , !(0__ 60 , #,P__ 0 -M #_\ $ " P/_P 0 $ ) __ -M! !( - __ 7@ . __________\ -M . __ 8P . __________\ . -M __ : . __________\ X #_\ !M X -M #__________P #@ /_P '$ #@ /__________ -M . __ =0 . __________\ X #_\ !Z -M X #__________P ")!@ & -M @ 0 & " H + P 4 ' "0 !H -M #!@ & @ 0 & " H + P -M 4 ' "0 !H $!@ & @ 0 & -M" H + P 4 ' "0 !H #!@ & -M @ 0 & " H + P 4 ' "0 !H -M # P 0 4# ! _____P ( /____\ -M! #_____ 0 _____P 8 /____\ -M ! !@ ( $ !@ @ * "P , % -M !P D : !08 '&@ & @ 0 -M & " H + P 4 ' "0 !H #&@ -M 4& !P8 )!@ L& #08 / -M!@ !$& _____P # /____\ P -M !@ ( $ !@ @ * "P , % !P D -M : 8 " ! 8 ( "@ L # !0 -M < ) &@ & @ 0 & " H + -M P 4 ' "0 !H (&@ 0 H: #!H $ #_ -M____ 0 _____P $ & @ 0 -M & " H + P 4 ' "0 !H #!@ -M 4& 8 " ! 8 ( "@ L # -M!0 < ) &@ ,& _____P # /____\ -M !P #_____ 0 &-R=#%T97AT+G, 4U1!4E1& -M4DT 7U]S=&%R= !?;6]N8V]N=')O; !?;6-O=6YT %]S<')O8VUO;G-T87)T -M O8F%B82]C>7!R97-S+W5S<B]I;F-L=61E+W)E9V1E9BYH O8F%B82]C -M>7!R97-S+W5S<B]I;F-L=61E+V%S;2YH !C<G0Q=&EN:70N<P 9V1B;64N -M8P \+S1$96)U9R\^ '!U<&EL.B]C>6=I;G0O<&QA>2]F;F8O9V1B;64N8P W -M,#(S-#@S-CD -3,X-@!T7W-T<G5C= !V7V-H87)?;65M8F5R '9?<VAO<G1? -M;65M8F5R '9?:6YT7VUE;6)E<@!V7VQO;F=?;65M8F5R '9?9FQO871?;65M -M8F5R '9?9&]U8FQE7VUE;6)E<@ N1C$Q '9?8VAA<E]M96UB97( =E]S:&]R -M=%]M96UB97( =E]I;G1?;65M8F5R '9?;&]N9U]M96UB97( =E]F;&]A=%]M -M96UB97( =E]D;W5B;&5?;65M8F5R '1?=6YI;VX =E]C:&%R7VUE;6)E<@!V -M7W-H;W)T7VUE;6)E<@!V7VEN=%]M96UB97( =E]L;VYG7VUE;6)E<@!V7V9L -M;V%T7VUE;6)E<@!V7V1O=6)L95]M96UB97( +D8Q,P!V7V-H87)?;65M8F5R -M '9?<VAO<G1?;65M8F5R '9?:6YT7VUE;6)E<@!V7VQO;F=?;65M8F5R '9? -M9FQO871?;65M8F5R '9?9&]U8FQE7VUE;6)E<@!V7V-H87)?9G5N8P!V7W-I -M9VYE9%]C:&%R7V9U;F, =E]U;G-I9VYE9%]C:&%R7V9U;F, =E]S:&]R=%]F -M=6YC '9?<VEG;F5D7W-H;W)T7V9U;F, =E]U;G-I9VYE9%]S:&]R=%]F=6YC -M '9?:6YT7V9U;F, =E]S:6=N961?:6YT7V9U;F, =E]U;G-I9VYE9%]I;G1? -M9G5N8P!V7VQO;F=?9G5N8P!V7W-I9VYE9%]L;VYG7V9U;F, =E]U;G-I9VYE -M9%]L;VYG7V9U;F, =E]F;&]A=%]F=6YC '9?9&]U8FQE7V9U;F, ;&EN:P!N -M97AT &QI;FMF=6YC '-T=69F '1U7VQI;FL ;F5X= !L:6YK9G5N8P!S='5F -M9@ N1C(Y ')E9 !G<F5E;@!B;'5E &-O;&]R<P!Y96QL;W< <'5R<&QE '!I -M;FL +D8S,0!C:&5V>0!F;W)D &-A<G, 8FUW '!O<G-C:&4 +D8S,P!&04Q3 -M10!44E5% &)O;VQE86X 8G9A;', 9F%L<V4 =')U90!B;V]L96%N,@!M:7-O -M<F1E<F5D '1W;P!O;F4 >F5R;P!T:')E90!M86EN !G96XO<W1U8F9P97-T -M87)T+F, 7U]R96%D96YV7W-I9V9P90 8W1Y<&4N8P!F:7)S=%]C86QL %]S -M971C:')C;&%S<P 9V5N+V-U97AI="YC &5X:70 &=E=&5N=BYC &=E=&5N -M=@!N=FUA=&-H !G96XO<W1R8W!Y+G, <W1R8W!Y #$D,# P,# P,# P, D -M9&]C:#, )&1O8V@R "1D;V-H,0 D9&]C:# '-Y<R]?;W!E;BYS %]O<&5N -M #DD,# P,# P,# P, +V)A8F$O8WEP<F5S<R]U<W(O:6YC;'5D92]S>7,N -M<P +V)A8F$O8WEP<F5S<R]U<W(O:6YC;'5D92]S>7,O<WES8V%L;"YH !S -M>7,O7W)E860N<P!?<F5A9 Y)# P,# P,# P,# &=E;B]B8V]P>2YS &UE -M;6-P>0!G;V9O<G=A<F1S &9O<G=A<F1S7V)Y=&5C;W!Y #DY)# P,# P,# P -M,# <F5T &9O<G=A;&EG;F%B;&4 9F]R=U]C;W!Y,@!F;W)W7V-O<'DS &9O -M<G=A<F1S &9O<G=A<F1S7S,R &9O<G=A<F1S7S$V &9O<G=A<F1S7S0 9V]B -M86-K=V%R9', 8F%C:W=A<F1S7V)Y=&5C;W!Y #DY)# P,# P,# P,#$ 8F%C -M:V%L:6=N86)L90!B86-K7V-O<'DR &)A8VM?8V]P>3, 8F%C:W=A<F1S &)A -M8VMW87)D<U\S,@!B86-K=V%R9'-?,38 8F%C:W=A<F1S7S0 '-Y<R]?8VQO -M<V4N<P!?8VQO<V4 .20P,# P,# P,# P !A=&5X:70N8P!?7VYE>'1F;@!? -M7V5X:71?9FYS &%T97AI= !?7V-A;&Q?97AI=&9N<P 9FQS8G5F+F, 7V-L -M96%N=7 9F-L;W-E &9F;'5S: !?9FQS8G5F %]X9FQS8G5F %]W<G1C:&L -M7V9I;F1B=68 7V)U9G-Y;F, '-Y<R]E>&ET+G, 7V5X:70 &-R="]C97)R -M;W(N<P!?8V5R<F]R !D871A+F, &UP7V1E9BYC !M86QL;V,N8P!A;&QO -M8W, 86QL;V-P &%L;&]C= !A;&QO8W@ 86QL;V-E;F0 ;6%L;&]C &9R964 -M<F5A;&QO8P <WES+U]L<V5E:RYS %]L<V5E:P Y)# P,# P,# P,# '-Y -M<R]?=W)I=&4N<P!?=W)I=&4 .20P,# P,# P,# P !?;W-E<G)O<BYC %]O -M<V5R<F]R %]S971O<V5R<F]R !?:7-A='1Y+F, 7VES871T>0 <WES+U]S -M8G)K+G, 7W-B<FL 97)R %]B<FL ,20P,# P,# P,# P !S>7,O7VEO8W1L -M+G, 7VEO8W1L #DD,# P,# P,# P, 8W)T;FEN:70N<P 7V5N=FER;VX -M96YV:7)O;@!?7T%R9V, 7U]!<F=V &5R<FYO %]?<W1A<G0 7V=P %]?:7-T -M87)T %]?<F5A9&5N=E]S:6=F<&4 7W-E=&-H<F-L87-S &UA:6X 97AI= !? -M;6]N8V]N=')O; !?;6-O=6YT %]S<')O8VUO;G-T87)T '9?8VAA<@!V7W-I -M9VYE9%]C:&%R '9?=6YS:6=N961?8VAA<@!V7W-H;W)T '9?<VEG;F5D7W-H -M;W)T '9?=6YS:6=N961?<VAO<G0 =E]I;G0 =E]S:6=N961?:6YT '9?=6YS -M:6=N961?:6YT '9?;&]N9P!V7W-I9VYE9%]L;VYG '9?=6YS:6=N961?;&]N -M9P!V7V9L;V%T '9?9&]U8FQE '9?8VAA<E]A<G)A>0!V7W-I9VYE9%]C:&%R -M7V%R<F%Y '9?=6YS:6=N961?8VAA<E]A<G)A>0!V7W-H;W)T7V%R<F%Y '9? -M<VEG;F5D7W-H;W)T7V%R<F%Y '9?=6YS:6=N961?<VAO<G1?87)R87D =E]I -M;G1?87)R87D =E]S:6=N961?:6YT7V%R<F%Y '9?=6YS:6=N961?:6YT7V%R -M<F%Y '9?;&]N9U]A<G)A>0!V7W-I9VYE9%]L;VYG7V%R<F%Y '9?=6YS:6=N -M961?;&]N9U]A<G)A>0!V7V9L;V%T7V%R<F%Y '9?9&]U8FQE7V%R<F%Y '9? -M8VAA<E]P;VEN=&5R '9?<VEG;F5D7V-H87)?<&]I;G1E<@!V7W5N<VEG;F5D -M7V-H87)?<&]I;G1E<@!V7W-H;W)T7W!O:6YT97( =E]S:6=N961?<VAO<G1? -M<&]I;G1E<@!V7W5N<VEG;F5D7W-H;W)T7W!O:6YT97( =E]I;G1?<&]I;G1E -M<@!V7W-I9VYE9%]I;G1?<&]I;G1E<@!V7W5N<VEG;F5D7VEN=%]P;VEN=&5R -M '9?;&]N9U]P;VEN=&5R '9?<VEG;F5D7VQO;F=?<&]I;G1E<@!V7W5N<VEG -M;F5D7VQO;F=?<&]I;G1E<@!V7V9L;V%T7W!O:6YT97( =E]D;W5B;&5?<&]I -M;G1E<@!V7W-T<G5C=#$ =E]S=')U8W0R '9?=6YI;VX =E]U;FEO;C( =E]C -M:&%R7V9U;F, =E]S:6=N961?8VAA<E]F=6YC '9?=6YS:6=N961?8VAA<E]F -M=6YC '9?<VAO<G1?9G5N8P!V7W-I9VYE9%]S:&]R=%]F=6YC '9?=6YS:6=N -M961?<VAO<G1?9G5N8P!V7VEN=%]F=6YC '9?<VEG;F5D7VEN=%]F=6YC '9? -M=6YS:6=N961?:6YT7V9U;F, =E]L;VYG7V9U;F, =E]S:6=N961?;&]N9U]F -M=6YC '9?=6YS:6=N961?;&]N9U]F=6YC '9?9FQO871?9G5N8P!V7V1O=6)L -M95]F=6YC '-?;&EN:P!U7VQI;FL <')I;6%R>0!N;VYP<FEM87)Y &-L=6YK -M97( <W!O<G1S8V%R %]C='EP90!G971E;G8 <W1R8W!Y %]O<&5N %]R96%D -M &UE;6-P>0!?8VQO<V4 7U]T<F%P7V9P95]O=F5R<FED90!?7V-A;&Q?97AI -M=&9N<P!?8VQE86YU< !?97AI= !?8V5R<F]R &%T97AI= !?8G5F96YD=&%B -M %]I;V( 7W-P<F]C960 7VQA<W1B=68 7W-I8G5F %]S;V)U9@!?<VUB=68 -M9F9L=7-H &9C;&]S90!F<F5E %]L<V5E:P!?>&9L<V)U9@!?9FQS8G5F %]W -M<FET90!?=W)T8VAK %]B=69S>6YC %]S971O<V5R<F]R %]F:6YD8G5F &UA -M;&QO8P!?:7-A='1Y %]L;V-K %]U;&]C:P!?;FQO8VL 7VEL;V-K %]F;&]C -M:P!?=VQO8VL 7V-L;V-K %]T;&]C:P!?8W1L;V-K %]D;&]C:P!?8V%S %]U -M<U]R<W1H<F5A9%]S=&1I;P!?<V)R:P!?8G)K ')E86QL;V, 7V]S97)R;W( -M7VEO8W1L &5N9 !?;6EN8G)K %]C=7)B<FL 7V5N9 $ !P $ -M 0 + "$ 0 $ -M %&8 ? $ !P $ ! ) L " -M $ 0 4 %'8 $ ! -MP $ !D (0 T " $ 0 -M H %'8 $ !P $ "% #0 \ -M " \ !'8 -M $ "4 $ "2 #?0 !$ "* (0 ,\ -M $ \ 0 !&@ ! ! 0 !\ _ $ %D $ 0/ -M )0 )L $ \ ( 3 $ $J #P !$ -M ! 8 %X ! $ %H $ 0T (0 )\ % \@ -M #L 4 $ $Y #P !( ! 8 %\ 7 $ & -MD $ 15 $P *0 $ !+0 T 5 $ %( -M #P !, ! 8 '8 , $ &T $ 1H &0 *@ -M & !.@ $ 6 ( %7 $0 !0 ! 8 -M (( 0 $ 'T $ 2! /@ *X ) !>@ "H -M 8 $ %H ! !4 %&8 )( J $ (@ $ 2_ -M ( +< % !I @ 9 $ %L ! !H -M %&8 +P % $ (@ $ 3? (0 +P " -M ! $ !\ %'8 $ ( -M@ $ 4 *0 +X " ! $ -M "0 %'8 $ (H $ 4I ( , -M % !K @ : $ %P ! "D %&8 -M ,$ % $ (P $ 5) !% ,4 9 !M ,8 -M ; $ %T ! "X %&8 ,8 "T $ +T $ 9= -M (@ -X % ">@ @ < $ %X ! #, -M %&8 7H % $ +\ $ 9_ - ., ( "@@ -M "P = ( %\ $0 #@ ! 8 7\ ( $ , -MH $ :S 3 .L 2 "K@ B( ? @ &- -M '0 #D ! 8 8< "; $ 5, $ ;_ $@ /T -M $ $T 0 G $ &J ! #H %&8 -M B( " $ 50 $ <1 %@ 0$ $ $U 0 -M H $ &N ! #\ #&8 B0 # $ 54 $ <G -M " 04 " &R #0 $( -M ! 8 $ 54 $ <O "@ 0< " -M &_ #0 $, ! 8 $ 5 -M4 $ <Y 0P 0D - $V 1L I , ', -M $P $0 ! 8 B< !N $ 9P $ =\ (@ 18 -M % %\P @ L $ '? ! $4 %&8 -M I4 % $ 9X $ >> (@ 1L % %^P @ -M M $ 'C ! $H %&8 IH % $ : $ ? -M (0 2 & & P 8 N ( 'G $0 $\ -M ! 8 I\ # $ :( $ ?A $P 28 $ &"0 -M !4 P $ 'X #P % ! 8 J( ) $ : -M@ $ ?T *0 2H ( &'@ !H Q ( (' -M " %$ %&8 JL 0 $ :\ $ @= (@ 3( -M % &. @ S $ (/ ! %8 %&8 -M KL %$$ ;$ $ @_ # 3< " -M %L !'8 $ ! -M @ ( 0 $ " @ ! 0 ( -M " P 0 % !@ < ( "0 ( " 0 -M $ * 0 ( + # H ! @ L , -M"@ $ " "P P - 0 ( + # X " -M @ $ ! #P $ " "P P 0 $0 !( -M ! @ L , $P $ " % !4 6 %P -M $ " "P P 8 0 ( + # !D : -M&P $ " "P P < 0 ( + # !T -M ! "K %K___ D0 JP!:___P 1$ ,$ 7/__\ -M &! #!0%S___ !\0 P8!<___P E $ !P!@@ -M ( +1 BH 4K___ P #$ 0!L<%L___P 4 Z $ % -MD!@@ $ & 2P! !: 8( " ! %@ 0 .L&" A0 < != -M $ &D!@@ $ 8@! B@8( $ &X 0 (P&" !@ -M !V $ "/!@@ @ $ A1 "Q %P ( ! (P0 L1!< " -M 0 ":$ +$@7 @ $ JA "Q0%P # ! +(0 L6!< -M P 0 #!$ +& 7 D $ TA "QP%P $ ! -@0 L@ -M!< ! 0 #E$ +) 7 H $ ]! "R@%P % ! /L0 -M LL!< !0 0 $)$ +, 7 L $ !&1 "S0%P & ! -M 2$0 LX!< !P 0 $J$ +0 7 T $ !-Q "T(%P 3 -M! 4L0 M$!< &0 0 %A$ +2 7 !\ $ !;Q "TP%P E -M ! 800 M0!< *P 0 &;$ +6 7 #$ $ !IQ "V % -MP W ! ;H0 MH!< /0 0 '/$ +< 7 $, $ !W! -M"W@%P !) ! ? 0 N !< 3P 0 (&$ +B 7 %4 $ " -M%! 8_ $8 !; ! B,0 N0!< 80 0 (R$ +E 7 &( $ -M "2! "Y@%P !C ! F 0 N<!< 9 0 )P$ +H 7 &4 -M $ "AQ "Z0%P !F ! J 0 NH!< 9P 0 *N$ +K 7 -M &@ $ "PQ "[ %P !I ! MH0 NT!< :@ 0 +I$ + -MN 7 &L $ "_Q "[P%P !L ! Q<0 O !< ;0 0 ,G -M$ +Q 7 &X $ #.! 8\ $8 !R ! T(0 &/8!& > 0 -M -,$ +R 7 'X $ #5! "] %P "$ ! UT 0 )0&" (0 -M 0 -I $ ":!@@ "4 $ #? ! H 8( I ! Y$ 0 *8&" -M+0 0 .> $ "L!@@ #$ $ #L@! L@8( U ! \@ 0 +@ -M&" .0 0 /3 $ "^!@@ #T $ #Y0! Q 8( !! ! _D -M0 ,H&" 10 0 0% $ #0!@@ $D $ $& ! U@8( !- ! -M!"T 0 -P&" 40 0 0Z $ #C!@@ %4 $ $2! "]@%P "^ -M! !$\0 &,P!& W 0 16$ +W 7 .4 $ $7A "^ %P #N -M ! !&D0 OD!< ]@ 0 1Q$ +Z 7 /X & $>Q $ -M3___ " !(( 0 ;0&" 0 D 2) $ 'T!@@ $ * $D ! -M"( 8( ! #0 !)8 0 B@&" 0 X 2< $ (P!@@ $ / $ -MHP! "] 8( ! !P !*H0 K0!:___P ! 2^ $ ,.!@@ 4 1 -M $S0! #* 8( ! $@ !-8 0!4P&" 0 !, 3< $ 50!@@ $ -M 0 $Y ! "_ 8( # % !.L0 *@!$___P !0 3V$ $- 1/ -M__\ 5 $^Q "P %K___ % !000 KP!:___P !0 4-$ 0 -M 1O__\ 4 %%! 0 $;___ % !1L0 & (!&___P !$ 4B -M $ -V!@@ 4 1 %*0! #1@8( # %@ !3 0!AH&" " !< -M 4U $ 9P!@@ $ 1 %/ ! $5 8( ) $0 !44 0 \@&" !P -M !@ 5- $ 9X!@@ $ 1 %5 ! $F@8( + $0 !5P 0!38&" -M#P !D 5E $ :#!@@ , 1 %<0! $W08( - %@ !7H 0!50 -M&" !@ !H 6! $ :(!@@ $ 5 %B1 #!P%S___ %0 !8\0 -M P@!<___P !4 66$ ,) 7/__\ 5 %G1 #"@%S___ %0 -M!:00 PL!<___P !4 6K$ ,, 7/__\ 5 %LA ##0%S___ -M%0 !;D0 PX!<___P !4 7 $ ,/ 7/__\ 5 %R! #$ %S___ -M %0 !<\0 Q$!<___P !4 74$ +! 6O__\ ; %YP! &H 8 -M( ! &P !>T 0!JP&" ! !8 7R $ 8J!@@ H 9 %^@! -M&@ 8( ! ' !@, 0!KP&" 0 !L 8*$ "G0!1O__\ ; & -I#A "H $3___ &P !A80 J$!$___P __\ 8>$ "G0!1O__\; - -end diff --git a/gdb/testsuite/gdb.base/mips_pro.c b/gdb/testsuite/gdb.base/mips_pro.c deleted file mode 100644 index cef975d13e6..00000000000 --- a/gdb/testsuite/gdb.base/mips_pro.c +++ /dev/null @@ -1,98 +0,0 @@ -/* Tests regarding examination of prologues. */ - -int -inner (z) - int z; -{ - return 2 * z; -} - -/* The native compiler seems to lack asm(). */ - -#if defined (__GNUC__) && defined (__mips__) -/* This is the verbatim output corresponding to the function middle. - Label names have been changed to avoid conflicts. It is here as - asm() so we don't have to worry that (a) the compiler might change - how it does things, and (b) we'd have to insure it gets compiled - with gcc -O2. */ - -asm ("\n\ - .text \n\ - .align 2 \n\ - .globl middle \n\ - .loc 1 22 \n\ -\n\ - .loc 1 21 \n\ - .ent middle \n\ -middle: \n\ - .frame $sp,24,$31 # vars= 0, regs= 1/0, args = 16, extra= 0 \n\ - .mask 0x80000000,-8 \n\ - .fmask 0x00000000,0 \n\ - subu $sp,$sp,24 \n\ -\n\ - .loc 1 23 \n\ - .set noreorder \n\ - .set nomacro \n\ - beq $4,$0,middle_lab0 \n\ - sw $31,16($sp) \n\ - .set macro \n\ - .set reorder \n\ -\n\ -\n\ - .loc 1 26 \n\ - .set noreorder \n\ - .set nomacro \n\ - jal inner \n\ - li $4,0x00000006 # 6 \n\ - .set macro \n\ - .set reorder \n\ -\n\ - j middle_lab1 \n\ -middle_lab0: \n\ -\n\ - .loc 1 24 \n\ - .set noreorder \n\ - .set nomacro \n\ - jal inner \n\ - li $4,0x00000005 # 5 \n\ - .set macro \n\ - .set reorder \n\ -\n\ -middle_lab1: \n\ - .set noreorder \n\ - lw $31,16($sp) \n\ - nop \n\ - j $31 \n\ - addu $sp,$sp,24 \n\ - .set reorder \n\ - .end middle \n\ -"); -#if 0 -/* Not necessary, and loses if gcc is not using stabs. */ -asm (".stabs \"middle:F1\",36,0,13,middle"); -asm (".stabs \"x:p1\",160,0,13,0"); -#endif -#else -int -middle (x) - int x; -{ - if (x == 0) - return inner (5); - else - return inner (6); -} -#endif - -int -top (y) - int y; -{ - return middle (y + 1); -} - -int -main (argc, argv) -{ - return top (-1) + top (1); -} diff --git a/gdb/testsuite/gdb.base/mips_pro.exp b/gdb/testsuite/gdb.base/mips_pro.exp deleted file mode 100644 index 55e074461e0..00000000000 --- a/gdb/testsuite/gdb.base/mips_pro.exp +++ /dev/null @@ -1,48 +0,0 @@ -if $tracelevel then { - strace $tracelevel -} - -set prms_id 0 -set bug_id 0 - -set testfile mips_pro -set srcfile ${srcdir}/$subdir/${testfile}.c -set binfile ${objdir}/${subdir}/${testfile} - -# Create and source the file that provides information about the compiler -# used to compile the test case. -execute_anywhere "rm -f ${binfile}.ci" -if { [compile "-E ${srcdir}/${subdir}/compiler.c >> ${binfile}.ci"] != "" } { - perror "Couldn't make ${binfile}.ci" - return -1 -} -source ${binfile}.ci - -gdb_exit -gdb_start -gdb_reinitialize_dir $srcdir/$subdir -gdb_load ${binfile} - -# This test must be compiled with -O2 if using gcc. - -if {$gcc_compiled} then { - if { [compile "${srcfile} -O2 -g -o ${binfile}"] != "" } { - perror "Couldn't compile ${srcfile} with -O2" - return -1 - } -} else { - if { [compile "${srcfile} -g -o ${binfile}"] != "" } { - perror "Couldn't compile ${srcfile}" - return -1 - } -} - -gdb_reinitialize_dir $srcdir/$subdir -gdb_load $binfile - -if [runto middle] then { - # PR 3016 - if {$gcc_compiled} then { setup_xfail "hppa*-*-*" } - gdb_test "backtrace" "#0.*middle.*#1.*top.*#2.*main.*" -} -return 0 diff --git a/gdb/testsuite/gdb.base/nodebug.c b/gdb/testsuite/gdb.base/nodebug.c deleted file mode 100644 index 5428e66a7af..00000000000 --- a/gdb/testsuite/gdb.base/nodebug.c +++ /dev/null @@ -1,35 +0,0 @@ -/* Test that things still (sort of) work when compiled without -g. */ - -int dataglobal = 3; /* Should go in global data */ -static int datalocal = 4; /* Should go in local data */ -int bssglobal; /* Should go in global bss */ -static int bsslocal; /* Should go in local bss */ - -int -inner (x) - int x; -{ - return 2 * x; -} - -static int -middle (x) - int x; -{ - return 2 * inner (x); -} - -int -top (x) - int x; -{ - return 2 * middle (x); -} - -int -main (argc, argv) - int argc; - char **argv; -{ - return top (argc); -} diff --git a/gdb/testsuite/gdb.base/nodebug.exp b/gdb/testsuite/gdb.base/nodebug.exp deleted file mode 100644 index 4af88a8fcad..00000000000 --- a/gdb/testsuite/gdb.base/nodebug.exp +++ /dev/null @@ -1,140 +0,0 @@ -# Test that things still (sort of) work when compiled without -g. - -if $tracelevel then { - strace $tracelevel -} - -set prms_id 0 -set bug_id 0 - -set testfile nodebug -set srcfile ${testfile}.c -set binfile ${objdir}/${subdir}/${testfile} -if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable ""] != "" } { - perror "Couldn't compile ${srcfile}" - return -1 -} - -# Create and source the file that provides information about the compiler -# used to compile the test case. -if [get_compiler_info ${binfile}] { - return -1; -} - -source ${binfile}.ci - -gdb_exit -gdb_start -gdb_reinitialize_dir $srcdir/$subdir -gdb_load $binfile - -if [runto inner] then { - - # Expect to find global/local symbols in each of text/data/bss. - - # The exact format for some of this output is not necessarily - # ideal, particularly interpreting "p top" requires a fair bit of - # savvy about gdb's workings and the meaning of the "{}" - # construct. So the details maybe could be tweaked. But the - # basic purpose should be maintained, which is (a) users should be - # able to interact with these variables with some care (they have - # to know how to interpret them according to their real type, - # since gdb doesn't know the type), but (b) users should be able - # to detect that gdb does not know the type, rather than just - # being told they are ints or functions returning int like old - # versions of gdb used to do. - - # On alpha (and other ecoff systems) the native compilers put - # out debugging info for non-aggregate return values of functions - # even without -g, which should be accepted. - # Irix5, even though it is ELF, counts as "ecoff" because it - # encapsulates ecoff debugging info in a .mdebug section. - # Irix6 gcc omits no debug info at all for static functions and - # variables, so all tests involving statics fail. - - if {!$gcc_compiled} then { setup_xfail "mips-sgi-irix5*" "mips-sgi-irix6*" } - gdb_test "p top" \ - "{(<(text variable|function), no debug info>|short \\(\\))} \[0-9a-fx]* <top>" - if {!$gcc_compiled} then { setup_xfail "mips-sgi-irix5*" "mips-sgi-irix6*" } - gdb_test "whatis top" \ - "(<(text variable|function), no debug info>|short \\(\\))" - if {!$gcc_compiled} then { setup_xfail "mips-sgi-irix6*" } - gdb_test "ptype top" "(short|int) \\((|<non-float parameter>|<non-float parameter>, <non-float parameter>)\\)" - - if {!$gcc_compiled} then { setup_xfail "mips-sgi-irix5*" } - setup_xfail "mips-sgi-irix6*" - gdb_test "p middle" \ - "{(<(text variable|function), no debug info>|short \\(\\))} \[0-9a-fx]* <middle>" - if {!$gcc_compiled} then { setup_xfail "mips-sgi-irix5*" } - setup_xfail "mips-sgi-irix6*" - gdb_test "whatis middle" \ - "(<(text variable|function), no debug info>|short \\(\\))" - setup_xfail "mips-sgi-irix6*" - gdb_test "ptype middle" "(short|int) \\((|<non-float parameter>|<non-float parameter>, <non-float parameter>)\\)" - - gdb_test "p dataglobal" "= 3" - gdb_test "whatis dataglobal" \ - "<(data variable|variable), no debug info>" - gdb_test "ptype dataglobal" "<(data variable|variable), no debug info>" - - # The only symbol xcoff puts out for statics is for the TOC entry. - # Possible, but hairy, for gdb to deal. Right now it doesn't, it - # doesn't know the variables exist at all. - setup_xfail "rs6000*-*-aix*" - setup_xfail "powerpc*-*-aix*" - if {!$gcc_compiled} then { setup_xfail "hppa*-*-hpux*" } - if {$gcc_compiled} then { setup_xfail "mips-sgi-irix6*" } - gdb_test "p datalocal" "= 4" - setup_xfail "rs6000*-*-aix*" - setup_xfail "powerpc*-*-aix*" - if {!$gcc_compiled} then { setup_xfail "hppa*-*-hpux*" } - if {$gcc_compiled} then { setup_xfail "mips-sgi-irix6*" } - gdb_test "whatis datalocal" "<(data variable|variable), no debug info>" - setup_xfail "rs6000*-*-aix*" - setup_xfail "powerpc*-*-aix*" - if {!$gcc_compiled} then { setup_xfail "hppa*-*-hpux*" } - if {$gcc_compiled} then { setup_xfail "mips-sgi-irix6*" } - gdb_test "ptype datalocal" "<(data variable|variable), no debug info>" - - gdb_test "p bssglobal" "= 0" - gdb_test "whatis bssglobal" "<(data variable|variable), no debug info>" - gdb_test "ptype bssglobal" "<(data variable|variable), no debug info>" - - setup_xfail "rs6000*-*-aix*" - setup_xfail "powerpc*-*-aix*" - if {!$gcc_compiled} then { setup_xfail "hppa*-*-hpux*" } - if {$gcc_compiled} then { setup_xfail "mips-sgi-irix6*" } - gdb_test "p bsslocal" "= 0" - setup_xfail "rs6000*-*-aix*" - setup_xfail "powerpc*-*-aix*" - if {!$gcc_compiled} then { setup_xfail "hppa*-*-hpux*" } - if {$gcc_compiled} then { setup_xfail "mips-sgi-irix6*" } - gdb_test "whatis bsslocal" "<(data variable|variable), no debug info>" - setup_xfail "rs6000*-*-aix*" - setup_xfail "powerpc*-*-aix*" - if {!$gcc_compiled} then { setup_xfail "hppa*-*-hpux*" } - if {$gcc_compiled} then { setup_xfail "mips-sgi-irix6*" } - gdb_test "ptype bsslocal" "<(data variable|variable), no debug info>" - - if {$gcc_compiled} then { setup_xfail "mips-sgi-irix6*" } - gdb_test "backtrace 10" "#0.*inner.*#1.*middle.*#2.*top.*#3.*main.*" \ - "backtrace from inner in nodebug.exp" - # Or if that doesn't work, at least hope for the external symbols - # Commented out because if we aren't going to xfail the above test - # ever, why bother with a weaker test? - #gdb_test "backtrace 10" "#0.*inner.*#1.*#2.*top.*#3.*main.*" \ - # "backtrace from inner in nodebug.exp for externals" - - # This test is not as obscure as it might look. `p getenv ("TERM")' - # is a real-world example, at least on many systems. - if {!$gcc_compiled} then { setup_xfail "hppa*-*-hpux*" "mips-sgi-irix6*" } - gdb_test {p/c array_index("abcdef",2)} " = 99 'c'" - - # Now, try that we can give names of file-local symbols which happen - # to be unique, and have it still work - if {$gcc_compiled} then { setup_xfail "mips-sgi-irix6*" } - if [runto middle] then { - gdb_test "backtrace 10" "#0.*middle.*#1.*top.*#2.*main.*" \ - "backtrace from middle in nodebug.exp" - } -} diff --git a/gdb/testsuite/gdb.base/opaque.exp b/gdb/testsuite/gdb.base/opaque.exp deleted file mode 100644 index 3e7e0f42c1f..00000000000 --- a/gdb/testsuite/gdb.base/opaque.exp +++ /dev/null @@ -1,228 +0,0 @@ -# Copyright (C) 1992, 1994 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ - -# Please email any bugs, comments, and/or additions to this file to: -# bug-gdb@prep.ai.mit.edu - -# This file was written by Fred Fish. (fnf@cygnus.com) - -if $tracelevel then { - strace $tracelevel -} - -set prms_id 0 -set bug_id 0 - -set binfile "opaque" -set srcfile $binfile.c - -if ![file exists $objdir/$subdir/$binfile] then { - perror "$objdir/$subdir/$binfile does not exist." - return 0 -} - -# Start with a fresh gdb. - -gdb_exit -gdb_start -gdb_reinitialize_dir $srcdir/$subdir -gdb_load $objdir/$subdir/$binfile - -source gdb.base/opaque0.ci - -# -# Test basic opaque structure handling (statically). -# The ordering of the tests is significant. We first try the things that -# might fail if gdb fails to connect the uses of opaque structures to -# the actual opaque structure definition. - -# When we start up, gdb sets the file containing main() as the current -# source file. The actual structure foo is defined in a different file. -# A pointer (foop) to an instance of the opaque struct is defined in the same -# source file as main(). Ensure that gdb correctly "connected" the definition -# in the other file with the pointer to the opaque struct in the file containing -# "foop". - -# Define a procedure to set up an xfail for all targets that do not support -# this sort of cross reference. -# Any target gcc that has a DBX_NO_XREFS definition in its config file will -# not support it (FIXME: Is this still true; I suspect maybe not). - -# Native alpha ecoff doesn't support it either. -# I don't think this type of cross reference works for any COFF target -# either. - -proc setup_xfail_on_opaque_pointer {} { - global gcc_compiled - - setup_xfail "a29k-*-udi" "vax-*-*" "i*86-sequent-bsd*" - if {!$gcc_compiled} then { - setup_xfail "alpha-*-*" "mips-sgi-irix5*" - } -} - -# This seems easier than trying to track different versions of xlc; I'm -# not sure there is much rhyme or reason regarding which tests it fails -# and which ones it passes. -if {[istarget "rs6000-*-aix*"] && !$gcc_compiled} then { - warning "xfails in opaque.exp may not be set up correctly for xlc" -} - -setup_xfail_on_opaque_pointer -gdb_test "whatis foop" \ - "type = struct foo \[*\]+" \ - "whatis on opaque struct pointer (statically)" - - -# Ensure that we know the form of the structure that foop points to. - -setup_xfail_on_opaque_pointer -if {!$gcc_compiled} then { setup_xfail "rs6000-*-*" } -gdb_test "ptype foop" \ - "type = struct foo \{\r\n int a;\r\n int b;\r\n\} \[*\]+" \ - "ptype on opaque struct pointer (statically)" - - -# An instance of the opaque structure (afoo) is defined in a different file. -# Ensure that we can locate afoo and the structure definition. - -gdb_test "whatis afoo" \ - "type = struct foo" \ - "whatis on opaque struct instance (statically)" - - -# Ensure that we know the form of "afoo". - -gdb_test "ptype afoo" \ - "type = struct foo \{\r\n int a;\r\n int b;\r\n\}" \ - "ptype on opaque struct instance (statically)" - - -# Ensure that we know what a struct foo looks like. - -gdb_test "ptype struct foo" \ - "type = struct foo \{\r\n int a;\r\n int b;\r\n\}" \ - "ptype on opaque struct tagname (statically)" - - -# -# Done with static tests, now test dynamic opaque structure handling. -# We reload the symbol table so we forget about anything we might -# have learned during the static tests. -# - -if [istarget "mips-idt-*"] then { - # Restart because IDT/SIM runs out of file descriptors. - gdb_exit - gdb_start -} -gdb_reinitialize_dir $srcdir/$subdir -gdb_load $objdir/$subdir/$binfile - -# Run to main, where struct foo is incomplete. -if ![runto_main] { - perror "cannot run to breakpoint at main" -} - - -# The current source file is now the one containing main(). The structure foo -# is defined in a different file, but we have a pointer to an instance of -# the opaque structure in the current file. Ensure we know it's type. - -setup_xfail_on_opaque_pointer -gdb_test "whatis foop" \ - "type = struct foo \[*\]+" \ - "whatis on opaque struct pointer (dynamically)" - - -# Ensure that we know the form of the thing foop points to. - -setup_xfail_on_opaque_pointer -if {!$gcc_compiled} then { setup_xfail "rs6000-*-*" } -gdb_test "ptype foop" \ - "type = struct foo \{\r\n int a;\r\n int b;\r\n\} \[*\]+" \ - "ptype on opaque struct pointer (dynamically) 1" - -gdb_test "whatis afoo" \ - "type = struct foo" \ - "whatis on opaque struct instance (dynamically) 1" - - -# Ensure that we know the form of afoo, an instance of a struct foo. - -gdb_test "ptype afoo" \ - "type = struct foo \{\r\n int a;\r\n int b;\r\n\}" \ - "ptype on opaque struct instance (dynamically) 1" - - -# Ensure that we know the form of an explicit struct foo. - -if {!$gcc_compiled} then { setup_xfail "rs6000-*-*" } -gdb_test "ptype struct foo" \ - "type = struct foo \{\r\n int a;\r\n int b;\r\n\}" \ - "ptype on opaque struct tagname (dynamically) 1" - - -# Now reload the symbols again so we forget about anything we might -# have learned reading the symbols during the previous tests. - -if [istarget "mips-idt-*"] then { - # Restart because IDT/SIM runs out of file descriptors. - gdb_exit - gdb_start -} -gdb_reinitialize_dir $srcdir/$subdir -gdb_load $objdir/$subdir/$binfile - -# Run to getfoo, where struct foo is complete. -if ![runto getfoo] { - perror "cannot run to breakpoint at getfoo" -} - - -# Ensure that we know what foop is. - -setup_xfail_on_opaque_pointer -gdb_test "whatis foop" \ - "type = struct foo \[*\]+" \ - "whatis on opaque struct pointer (dynamically)" - - -# Ensure that we know the form of the thing foop points to. - -setup_xfail_on_opaque_pointer -if {!$gcc_compiled} then { setup_xfail "rs6000-*-*" } -gdb_test "ptype foop" \ - "type = struct foo \{\r\n int a;\r\n int b;\r\n\} \[*\]+" \ - "ptype on opaque struct pointer (dynamically) 2" - -gdb_test "whatis afoo" \ - "type = struct foo" \ - "whatis on opaque struct instance (dynamically) 2" - - -# Ensure that we know the form of afoo, an instance of a struct foo. - -gdb_test "ptype afoo" \ - "type = struct foo \{\r\n int a;\r\n int b;\r\n\}" \ - "ptype on opaque struct instance (dynamically) 2" - - -# Ensure that we know the form of an explicit struct foo. - -gdb_test "ptype struct foo" \ - "type = struct foo \{\r\n int a;\r\n int b;\r\n\}" \ - "ptype on opaque struct tagname (dynamically) 2" diff --git a/gdb/testsuite/gdb.base/opaque0.c b/gdb/testsuite/gdb.base/opaque0.c deleted file mode 100644 index e5a343ca3ef..00000000000 --- a/gdb/testsuite/gdb.base/opaque0.c +++ /dev/null @@ -1,16 +0,0 @@ -/* Note that struct foo is opaque (never defined) in this file. This - is allowed by C since this file does not reference any members of - the structure. The debugger needs to be able to associate this - opaque structure definition with the full definition in another - file. -*/ - -struct foo *foop; -extern struct foo *getfoo (); - -int main () -{ - foop = getfoo (); - putfoo (foop); - return 0; -} diff --git a/gdb/testsuite/gdb.base/opaque1.c b/gdb/testsuite/gdb.base/opaque1.c deleted file mode 100644 index 4a3c8559b82..00000000000 --- a/gdb/testsuite/gdb.base/opaque1.c +++ /dev/null @@ -1,18 +0,0 @@ -struct foo { - int a; - int b; -} afoo = { 1, 2}; - -struct foo *getfoo () -{ - return (&afoo); -} - -#ifdef __STDC__ -void putfoo (struct foo *foop) -#else -void putfoo (foop) - struct foo *foop; -#endif -{ -} diff --git a/gdb/testsuite/gdb.base/pointers2.c b/gdb/testsuite/gdb.base/pointers2.c deleted file mode 100644 index 6c30621a4e2..00000000000 --- a/gdb/testsuite/gdb.base/pointers2.c +++ /dev/null @@ -1,51 +0,0 @@ -void marker1 () -{ - -} - - -int main() -{ - char C, *pC, **ppC, ***pppC, ****ppppC, *****pppppC, ******ppppppC; - unsigned char UC, *pUC; - short S, *pS; - unsigned short US, *pUS; - int I, *pI; - unsigned int UI, *pUI; - long L, *pL; - unsigned long UL, *pUL; - float F, *pF; - double D, *pD; - C = 'A'; - UC = 21; - S = -14; - US = 7; - I = 102; - UI = 1002; - L = -234; - UL = 234; - F = 1.25E10; - D = -1.375E-123; - pC = &C; - ppC = &pC; - pppC = &ppC; - ppppC = &pppC; - pppppC = &ppppC; - ppppppC = &pppppC; - pUC = &UC; - pS = &S; - pUS = &US; - pI = &I; - pUI = &UI; - pL = &L; - pUL = &UL; - pF = &F; - pD = &D; - - #ifdef usestubs - set_debug_traps(); - breakpoint(); - #endif - marker1(); - return 0; -} diff --git a/gdb/testsuite/gdb.base/pointers2.exp b/gdb/testsuite/gdb.base/pointers2.exp deleted file mode 100644 index e44e110e038..00000000000 --- a/gdb/testsuite/gdb.base/pointers2.exp +++ /dev/null @@ -1,288 +0,0 @@ -# Copyright (C) 1997, 1998 -# Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - -# Please email any bugs, comments, and/or additions to this file to: -# bug-gdb@prep.ai.mit.edu - -# This file was written by Elena Zannoni. (ezannoni@cygnus.com) - - -# This file is part of the gdb testsuite -# -# tests for pointers -# with elementary type variables and pointers. -# - - -if $tracelevel then { - strace $tracelevel - } - -# -# test running programs -# -set prms_id 0 -set bug_id 0 - -set testfile "pointers2" -set srcfile ${testfile}.c -set binfile ${objdir}/${subdir}/${testfile} - -if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug}] != "" } { - gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail." -} - - -gdb_exit -gdb_start -gdb_reinitialize_dir $srcdir/$subdir -gdb_load ${binfile} - - -# -# set it up at a breakpoint so we can play with the variable values -# -if ![runto_main] then { - perror "couldn't run to breakpoint" - continue -} - -send_gdb "break marker1\n" ; gdb_expect -re ".*$gdb_prompt $" - - send_gdb "cont\n" - gdb_expect { - -re "Break.* marker1 \\(\\) at .*:$decimal.*$gdb_prompt $" { - send_gdb "up\n" - gdb_expect { - -re ".*$gdb_prompt $" {} - timeout { fail "up from marker1" } - } - } - -re "$gdb_prompt $" { fail "continue to marker1" } - timeout { fail "(timeout) continue to marker1" } - } - - -send_gdb "print *pUC\n" -gdb_expect { - -re ".\[0-9\]* = 21 \'.025\'.*$gdb_prompt $" { - pass "print value of *pUC" - } - -re ".*$gdb_prompt $" { fail "print value of *pUC" } - timeout { fail "(timeout) print value of *pUC" } - } - - -send_gdb "ptype pUC\n" -gdb_expect { - -re "type = unsigned char \\*.*$gdb_prompt $" { pass "ptype pUC" } - -re ".*$gdb_prompt $" { fail "ptype pUC" } - timeout { fail "(timeout) ptype pUC" } -} - -send_gdb "print *pS\n" -gdb_expect { - -re ".\[0-9\]* = -14.*$gdb_prompt $" { - pass "print value of *pS" - } - -re ".*$gdb_prompt $" { fail "print value of *pS" } - timeout { fail "(timeout) print value of *pS" } - } - - -send_gdb "ptype pS\n" -gdb_expect { - -re "type = short \\*.*$gdb_prompt $" { pass "ptype pS" } - -re "type = short int \\*.*$gdb_prompt $" { pass "ptype pS" } - -re ".*$gdb_prompt $" { fail "ptype pS" } - timeout { fail "(timeout) ptype pS" } -} - -send_gdb "print *pUS\n" -gdb_expect { - -re ".\[0-9\]* = 7.*$gdb_prompt $" { - pass "print value of *pUS" - } - -re ".*$gdb_prompt $" { fail "print value of *pUS" } - timeout { fail "(timeout) print value of *pUS" } - } - - -send_gdb "ptype pUS\n" -gdb_expect { - -re "type = unsigned short \\*.*$gdb_prompt $" { pass "ptype pUS" } - -re "type = short unsigned int \\*.*$gdb_prompt $" { pass "ptype pUS" } - -re ".*$gdb_prompt $" { fail "ptype pUS" } - timeout { fail "(timeout) ptype pUS" } -} - -send_gdb "print *pI\n" -gdb_expect { - -re ".\[0-9\]* = 102.*$gdb_prompt $" { - pass "print value of *pI" - } - -re ".*$gdb_prompt $" { fail "print value of *pI" } - timeout { fail "(timeout) print value of *pI" } - } - - -send_gdb "ptype pI\n" -gdb_expect { - -re "type = int \\*.*$gdb_prompt $" { pass "ptype pI" } - -re ".*$gdb_prompt $" { fail "ptype pI" } - timeout { fail "(timeout) ptype pI" } -} - -send_gdb "print *pUI\n" -gdb_expect { - -re ".\[0-9\]* = 1002.*$gdb_prompt $" { - pass "print value of *pUI" - } - -re ".*$gdb_prompt $" { fail "print value of *pUI" } - timeout { fail "(timeout) print value of *pUI" } - } - - -send_gdb "ptype pUI\n" -gdb_expect { - -re "type = unsigned int \\*.*$gdb_prompt $" { pass "ptype pUI" } - -re ".*$gdb_prompt $" { fail "ptype pUI" } - timeout { fail "(timeout) ptype pUI" } -} - -send_gdb "print *pL\n" -gdb_expect { - -re ".\[0-9\]* = -234.*$gdb_prompt $" { - pass "print value of *pL" - } - -re ".*$gdb_prompt $" { fail "print value of *pL" } - timeout { fail "(timeout) print value of *pL" } - } - - -send_gdb "ptype pL\n" -gdb_expect { - -re "type = long \\*.*$gdb_prompt $" { pass "ptype pL" } - -re "type = long int \\*.*$gdb_prompt $" { pass "ptype pL" } - -re ".*$gdb_prompt $" { fail "ptype pL" } - timeout { fail "(timeout) ptype pL" } -} - -send_gdb "print *pUL\n" -gdb_expect { - -re ".\[0-9\]* = 234.*$gdb_prompt $" { - pass "print value of *pUL" - } - -re ".*$gdb_prompt $" { fail "print value of *pUL" } - timeout { fail "(timeout) print value of *pUL" } - } - - -send_gdb "ptype pUL\n" -gdb_expect { - -re "type = unsigned long \\*.*$gdb_prompt $" { pass "ptype pUL" } - -re "type = long unsigned int \\*.*$gdb_prompt $" { pass "ptype pUL" } - -re ".*$gdb_prompt $" { fail "ptype pUL" } - timeout { fail "(timeout) ptype pUL" } -} - -send_gdb "print *pF\n" -gdb_expect { - -re ".\[0-9\]* = 1.2\[0-9\]*e\\+10.*$gdb_prompt $" { - pass "print value of *pF" - } - -re ".*$gdb_prompt $" { fail "print value of *pF" } - timeout { fail "(timeout) print value of *pF" } - } - - -send_gdb "ptype pF\n" -gdb_expect { - -re "type = float \\*.*$gdb_prompt $" { pass "ptype pF" } - -re ".*$gdb_prompt $" { fail "ptype pF" } - timeout { fail "(timeout) ptype pF" } -} - -send_gdb "print *pD\n" -gdb_expect { - -re ".\[0-9\]* = -1.375e-123.*$gdb_prompt $" { - pass "print value of *pD" - } - -re ".*$gdb_prompt $" { fail "print value of *pD" } - timeout { fail "(timeout) print value of *pD" } - } - - -send_gdb "ptype pD\n" -gdb_expect { - -re "type = double \\*.*$gdb_prompt $" { pass "ptype pD" } - -re ".*$gdb_prompt $" { fail "ptype pD" } - timeout { fail "(timeout) ptype pD" } -} - -send_gdb "print ******ppppppC\n" -gdb_expect { - -re ".\[0-9\]* = 65 \'A\'.*$gdb_prompt $" { - pass "print value of ******ppppppC" - } - -re ".*$gdb_prompt $" { fail "print value of ******ppppppC" } - timeout { fail "(timeout) print value of ******ppppppC" } - } - - -send_gdb "ptype pC\n" -gdb_expect { - -re "type = char \\*.*$gdb_prompt $" { pass "ptype pC" } - -re ".*$gdb_prompt $" { fail "ptype pC" } - timeout { fail "(timeout) ptype pC" } -} - -send_gdb "ptype ppC\n" -gdb_expect { - -re "type = char \\*\\*.*$gdb_prompt $" { pass "ptype ppC" } - -re ".*$gdb_prompt $" { fail "ptype ppC" } - timeout { fail "(timeout) ptype ppC" } -} - -send_gdb "ptype pppC\n" -gdb_expect { - -re "type = char \\*\\*\\*.*$gdb_prompt $" { pass "ptype pppC" } - -re ".*$gdb_prompt $" { fail "ptype pppC" } - timeout { fail "(timeout) ptype pppC" } -} - -send_gdb "ptype ppppC\n" -gdb_expect { - -re "type = char \\*\\*\\*\\*.*$gdb_prompt $" { pass "ptype ppppC" } - -re ".*$gdb_prompt $" { fail "ptype ppppC" } - timeout { fail "(timeout) ptype ppppC" } -} - -send_gdb "ptype pppppC\n" -gdb_expect { - -re "type = char \\*\\*\\*\\*\\*.*$gdb_prompt $" { pass "ptype pppppC" } - -re ".*$gdb_prompt $" { fail "ptype pppppC" } - timeout { fail "(timeout) ptype pppppC" } -} - -send_gdb "ptype ppppppC\n" -gdb_expect { - -re "type = char \\*\\*\\*\\*\\*\\*.*$gdb_prompt $" { pass "ptype ppppppC" } - -re ".*$gdb_prompt $" { fail "ptype ppppppC" } - timeout { fail "(timeout) ptype ppppppC" } -} - diff --git a/gdb/testsuite/gdb.base/printcmds.c b/gdb/testsuite/gdb.base/printcmds.c deleted file mode 100644 index 79ba4d2fe78..00000000000 --- a/gdb/testsuite/gdb.base/printcmds.c +++ /dev/null @@ -1,97 +0,0 @@ -/* This table is used as a source for every ascii character. - It is explicitly unsigned to avoid differences due to native characters - being either signed or unsigned. */ - -unsigned char ctable1[256] = { - 0000, 0001, 0002, 0003, 0004, 0005, 0006, 0007, - 0010, 0011, 0012, 0013, 0014, 0015, 0016, 0017, - 0020, 0021, 0022, 0023, 0024, 0025, 0026, 0027, - 0030, 0031, 0032, 0033, 0034, 0035, 0036, 0037, - 0040, 0041, 0042, 0043, 0044, 0045, 0046, 0047, - 0050, 0051, 0052, 0053, 0054, 0055, 0056, 0057, - 0060, 0061, 0062, 0063, 0064, 0065, 0066, 0067, - 0070, 0071, 0072, 0073, 0074, 0075, 0076, 0077, - 0100, 0101, 0102, 0103, 0104, 0105, 0106, 0107, - 0110, 0111, 0112, 0113, 0114, 0115, 0116, 0117, - 0120, 0121, 0122, 0123, 0124, 0125, 0126, 0127, - 0130, 0131, 0132, 0133, 0134, 0135, 0136, 0137, - 0140, 0141, 0142, 0143, 0144, 0145, 0146, 0147, - 0150, 0151, 0152, 0153, 0154, 0155, 0156, 0157, - 0160, 0161, 0162, 0163, 0164, 0165, 0166, 0167, - 0170, 0171, 0172, 0173, 0174, 0175, 0176, 0177, - 0200, 0201, 0202, 0203, 0204, 0205, 0206, 0207, - 0210, 0211, 0212, 0213, 0214, 0215, 0216, 0217, - 0220, 0221, 0222, 0223, 0224, 0225, 0226, 0227, - 0230, 0231, 0232, 0233, 0234, 0235, 0236, 0237, - 0240, 0241, 0242, 0243, 0244, 0245, 0246, 0247, - 0250, 0251, 0252, 0253, 0254, 0255, 0256, 0257, - 0260, 0261, 0262, 0263, 0264, 0265, 0266, 0267, - 0270, 0271, 0272, 0273, 0274, 0275, 0276, 0277, - 0300, 0301, 0302, 0303, 0304, 0305, 0306, 0307, - 0310, 0311, 0312, 0313, 0314, 0315, 0316, 0317, - 0320, 0321, 0322, 0323, 0324, 0325, 0326, 0327, - 0330, 0331, 0332, 0333, 0334, 0335, 0336, 0337, - 0340, 0341, 0342, 0343, 0344, 0345, 0346, 0347, - 0350, 0351, 0352, 0353, 0354, 0355, 0356, 0357, - 0360, 0361, 0362, 0363, 0364, 0365, 0366, 0367, - 0370, 0371, 0372, 0373, 0374, 0375, 0376, 0377 -}; - -unsigned char ctable2[] = { - 'a','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', - 'a','a','X','X','X','X','X','X','X','X','X','X','X','X','X','X', - 'a','a','a','X','X','X','X','X','X','X','X','X','X','X','X','X', - 'a','a','a','a','X','X','X','X','X','X','X','X','X','X','X','X', - 'a','a','a','a','a','X','X','X','X','X','X','X','X','X','X','X', - 'a','a','a','a','a','a','X','X','X','X','X','X','X','X','X','X', - 'a','a','a','a','a','a','a','X','X','X','X','X','X','X','X','X', - 'a','a','a','a','a','a','a','a','X','X','X','X','X','X','X','X', - 'a','a','a','a','a','a','a','a','a','X','X','X','X','X','X','X', - 'a','a','a','a','a','a','a','a','a','a','X','X','X','X','X','X', - 'a','a','a','a','a','a','a','a','a','a','a','X','X','X','X','X', - 'a','a','a','a','a','a','a','a','a','a','a','a','X','X','X','X', - 'a','a','a','a','a','a','a','a','a','a','a','a','a','X','X','X', - 'a','a','a','a','a','a','a','a','a','a','a','a','a','a','X','X', - 'a','a','a','a','a','a','a','a','a','a','a','a','a','a','a','X', - 'a','a','a','a','a','a','a','a','a','a','a','a','a','a','a','a' -}; - -/* Single and multidimensional arrays to test access and printing of array - members. */ - -int int1dim[12] = {0,1,2,3,4,5,6,7,8,9,10,11}; -int int2dim[3][4] = {{0,1,2,3},{4,5,6,7},{8,9,10,11}}; -int int3dim[2][3][2] = {{{0,1},{2,3},{4,5}},{{6,7},{8,9},{10,11}}}; -int int4dim[1][2][3][2] = {{{{0,1},{2,3},{4,5}},{{6,7},{8,9},{10,11}}}}; - -char *teststring = "teststring contents"; - -/* Test printing of a struct containing character arrays. */ - -struct some_arrays { - unsigned char array1[4]; - unsigned char array2[1]; - unsigned char array3[1]; - unsigned char array4[2]; - unsigned char array5[4]; -} arrays = { - {'a', 'b', 'c', '\0'}, - {'d'}, - {'e'}, - {'f', 'g' }, - {'h', 'i', 'j', '\0'} -}; - -struct some_arrays *parrays = &arrays; - -/* -- */ - -main () -{ - malloc(1); - - /* Prevent AIX linker from removing variables. */ - return ctable1[0] + ctable2[0] + int1dim[0] + int2dim[0][0] - + int3dim[0][0][0] + int4dim[0][0][0][0] + teststring[0] + - *parrays -> array1; -} diff --git a/gdb/testsuite/gdb.base/printcmds.exp b/gdb/testsuite/gdb.base/printcmds.exp deleted file mode 100644 index 45a207f4f8d..00000000000 --- a/gdb/testsuite/gdb.base/printcmds.exp +++ /dev/null @@ -1,1035 +0,0 @@ -# Copyright (C) 1992, 1994, 1995, 1997 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - -# Please email any bugs, comments, and/or additions to this file to: -# bug-gdb@prep.ai.mit.edu - -# This file was written by Fred Fish. (fnf@cygnus.com) - -if $tracelevel then { - strace $tracelevel -} - -set prms_id 0 -set bug_id 0 - -set testfile "printcmds" -set srcfile ${testfile}.c -set binfile ${objdir}/${subdir}/${testfile} -if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug}] != "" } { - perror "Couldn't compile ${srcfile}" - return -1 -} - -# Set the current language to C. This counts as a test. If it -# fails, then we skip the other tests. - -proc set_lang_c {} { - global gdb_prompt - - if [gdb_test "set language c" "" "set language c"] { - return 0 - } - - if [gdb_test "show language" ".* source language is \"c\".*"] { - return 0 - } - return 1; -} - -proc test_integer_literals_accepted {} { - global gdb_prompt - - # Test various decimal values. - - gdb_test "p 123" " = 123" - gdb_test "p -123" " = -123" - gdb_test "p/d 123" " = 123" - - # Test various octal values. - - gdb_test "p 0123" " = 83" - gdb_test "p 00123" " = 83" - gdb_test "p -0123" " = -83" - gdb_test "p/o 0123" " = 0123" - - # Test various hexadecimal values. - - gdb_test "p 0x123" " = 291" - gdb_test "p -0x123" " = -291" - gdb_test "p 0x0123" " = 291" - gdb_test "p -0x0123" " = -291" - gdb_test "p 0xABCDEF" " = 11259375" - gdb_test "p 0xabcdef" " = 11259375" - gdb_test "p 0xAbCdEf" " = 11259375" - gdb_test "p/x 0x123" " = 0x123" -} - -proc test_character_literals_accepted {} { - global gdb_prompt - - gdb_test "p 'a'" " = 97 'a'" - gdb_test "p/c 'a'" " = 97 'a'" - gdb_test "p/x 'a'" " = 0x61" - gdb_test "p/d 'a'" " = 97" - gdb_test "p/t 'a'" " = 1100001" - gdb_test "p '\\141'" " = 97 'a'" - gdb_test "p/x '\\377'" " = 0xff" - # Note "p '\''" => "= 39 '\''" - gdb_test "p '\\''" " = 39 '\\\\''" - # Note "p '\\'" => "= 92 '\\'" - gdb_test "p '\\\\'" " = 92 '\\\\\\\\'" -} - -proc test_integer_literals_rejected {} { - global gdb_prompt - - test_print_reject "p 0x" - gdb_test "p ''" "Empty character constant\\." - gdb_test "p '''" "Empty character constant\\." - test_print_reject "p '\\'" - - # Note that this turns into "p '\\\'" at gdb's input. - test_print_reject "p '\\\\\\'" - - # Test various decimal values. - - test_print_reject "p DEADBEEF" - - # Gdb currently fails this test for all configurations. The C - # lexer thinks that 123DEADBEEF is a floating point number, but - # then fails to notice that atof() only eats the 123 part. - # FIXME: This should be put into PRMS. - # Fixed, 4/25/97, by Bob Manson. - - test_print_reject "p 123DEADBEEF" - test_print_reject "p 123foobar.bazfoo3" - test_print_reject "p 123EEEEEEEEEEEEEEEEE33333k333" - gdb_test "p 123.4+56.7" "180.(099\[0-9]*|100\[0-9\]*)" "check for floating addition" - - # Test various octal values. - - test_print_reject "p 09" - test_print_reject "p 079" - - # Test various hexadecimal values. - - test_print_reject "p 0xG" - test_print_reject "p 0xAG" -} - -proc test_print_all_chars {} { - global gdb_prompt - - gdb_test "p ctable1\[0\]" " = 0 '\\\\000'" - gdb_test "p ctable1\[1\]" " = 1 '\\\\001'" - gdb_test "p ctable1\[2\]" " = 2 '\\\\002'" - gdb_test "p ctable1\[3\]" " = 3 '\\\\003'" - gdb_test "p ctable1\[4\]" " = 4 '\\\\004'" - gdb_test "p ctable1\[5\]" " = 5 '\\\\005'" - gdb_test "p ctable1\[6\]" " = 6 '\\\\006'" - gdb_test "p ctable1\[7\]" " = 7 '\\\\a'" - gdb_test "p ctable1\[8\]" " = 8 '\\\\b'" - gdb_test "p ctable1\[9\]" " = 9 '\\\\t'" - gdb_test "p ctable1\[10\]" " = 10 '\\\\n'" - gdb_test "p ctable1\[11\]" " = 11 '\\\\013'" - gdb_test "p ctable1\[12\]" " = 12 '\\\\f'" - gdb_test "p ctable1\[13\]" " = 13 '\\\\r'" - gdb_test "p ctable1\[14\]" " = 14 '\\\\016'" - gdb_test "p ctable1\[15\]" " = 15 '\\\\017'" - gdb_test "p ctable1\[16\]" " = 16 '\\\\020'" - gdb_test "p ctable1\[17\]" " = 17 '\\\\021'" - gdb_test "p ctable1\[18\]" " = 18 '\\\\022'" - gdb_test "p ctable1\[19\]" " = 19 '\\\\023'" - gdb_test "p ctable1\[20\]" " = 20 '\\\\024'" - gdb_test "p ctable1\[21\]" " = 21 '\\\\025'" - gdb_test "p ctable1\[22\]" " = 22 '\\\\026'" - gdb_test "p ctable1\[23\]" " = 23 '\\\\027'" - gdb_test "p ctable1\[24\]" " = 24 '\\\\030'" - gdb_test "p ctable1\[25\]" " = 25 '\\\\031'" - gdb_test "p ctable1\[26\]" " = 26 '\\\\032'" - gdb_test "p ctable1\[27\]" " = 27 '\\\\e'" - gdb_test "p ctable1\[28\]" " = 28 '\\\\034'" - gdb_test "p ctable1\[29\]" " = 29 '\\\\035'" - gdb_test "p ctable1\[30\]" " = 30 '\\\\036'" - gdb_test "p ctable1\[31\]" " = 31 '\\\\037'" - gdb_test "p ctable1\[32\]" " = 32 ' '" - gdb_test "p ctable1\[33\]" " = 33 '!'" - gdb_test "p ctable1\[34\]" " = 34 '\"'" - gdb_test "p ctable1\[35\]" " = 35 '#'" - gdb_test "p ctable1\[36\]" " = 36 '\\\$'" - gdb_test "p ctable1\[37\]" " = 37 '%'" - gdb_test "p ctable1\[38\]" " = 38 '&'" - gdb_test "p ctable1\[39\]" " = 39 '\\\\''" - gdb_test "p ctable1\[40\]" " = 40 '\\('" - gdb_test "p ctable1\[41\]" " = 41 '\\)'" - gdb_test "p ctable1\[42\]" " = 42 '\\*'" - gdb_test "p ctable1\[43\]" " = 43 '\\+'" - gdb_test "p ctable1\[44\]" " = 44 ','" - gdb_test "p ctable1\[45\]" " = 45 '-'" - gdb_test "p ctable1\[46\]" " = 46 '.'" - gdb_test "p ctable1\[47\]" " = 47 '/'" - gdb_test "p ctable1\[48\]" " = 48 '0'" - gdb_test "p ctable1\[49\]" " = 49 '1'" - gdb_test "p ctable1\[50\]" " = 50 '2'" - gdb_test "p ctable1\[51\]" " = 51 '3'" - gdb_test "p ctable1\[52\]" " = 52 '4'" - gdb_test "p ctable1\[53\]" " = 53 '5'" - gdb_test "p ctable1\[54\]" " = 54 '6'" - gdb_test "p ctable1\[55\]" " = 55 '7'" - gdb_test "p ctable1\[56\]" " = 56 '8'" - gdb_test "p ctable1\[57\]" " = 57 '9'" - gdb_test "p ctable1\[58\]" " = 58 ':'" - gdb_test "p ctable1\[59\]" " = 59 ';'" - gdb_test "p ctable1\[60\]" " = 60 '<'" - gdb_test "p ctable1\[61\]" " = 61 '='" - gdb_test "p ctable1\[62\]" " = 62 '>'" - gdb_test "p ctable1\[63\]" " = 63 '\\?'" - gdb_test "p ctable1\[64\]" " = 64 '@'" - gdb_test "p ctable1\[65\]" " = 65 'A'" - gdb_test "p ctable1\[66\]" " = 66 'B'" - gdb_test "p ctable1\[67\]" " = 67 'C'" - gdb_test "p ctable1\[68\]" " = 68 'D'" - gdb_test "p ctable1\[69\]" " = 69 'E'" - gdb_test "p ctable1\[70\]" " = 70 'F'" - gdb_test "p ctable1\[71\]" " = 71 'G'" - gdb_test "p ctable1\[72\]" " = 72 'H'" - gdb_test "p ctable1\[73\]" " = 73 'I'" - gdb_test "p ctable1\[74\]" " = 74 'J'" - gdb_test "p ctable1\[75\]" " = 75 'K'" - gdb_test "p ctable1\[76\]" " = 76 'L'" - gdb_test "p ctable1\[77\]" " = 77 'M'" - gdb_test "p ctable1\[78\]" " = 78 'N'" - gdb_test "p ctable1\[79\]" " = 79 'O'" - gdb_test "p ctable1\[80\]" " = 80 'P'" - gdb_test "p ctable1\[81\]" " = 81 'Q'" - gdb_test "p ctable1\[82\]" " = 82 'R'" - gdb_test "p ctable1\[83\]" " = 83 'S'" - gdb_test "p ctable1\[84\]" " = 84 'T'" - gdb_test "p ctable1\[85\]" " = 85 'U'" - gdb_test "p ctable1\[86\]" " = 86 'V'" - gdb_test "p ctable1\[87\]" " = 87 'W'" - gdb_test "p ctable1\[88\]" " = 88 'X'" - gdb_test "p ctable1\[89\]" " = 89 'Y'" - gdb_test "p ctable1\[90\]" " = 90 'Z'" - gdb_test "p ctable1\[91\]" " = 91 '\\\['" - gdb_test "p ctable1\[92\]" " = 92 '\\\\\\\\'" - gdb_test "p ctable1\[93\]" " = 93 '\\\]'" - gdb_test "p ctable1\[94\]" " = 94 '\\^'" - gdb_test "p ctable1\[95\]" " = 95 '_'" - gdb_test "p ctable1\[96\]" " = 96 '`'" - gdb_test "p ctable1\[97\]" " = 97 'a'" - gdb_test "p ctable1\[98\]" " = 98 'b'" - gdb_test "p ctable1\[99\]" " = 99 'c'" - gdb_test "p ctable1\[100\]" " = 100 'd'" - gdb_test "p ctable1\[101\]" " = 101 'e'" - gdb_test "p ctable1\[102\]" " = 102 'f'" - gdb_test "p ctable1\[103\]" " = 103 'g'" - gdb_test "p ctable1\[104\]" " = 104 'h'" - gdb_test "p ctable1\[105\]" " = 105 'i'" - gdb_test "p ctable1\[106\]" " = 106 'j'" - gdb_test "p ctable1\[107\]" " = 107 'k'" - gdb_test "p ctable1\[108\]" " = 108 'l'" - gdb_test "p ctable1\[109\]" " = 109 'm'" - gdb_test "p ctable1\[110\]" " = 110 'n'" - gdb_test "p ctable1\[111\]" " = 111 'o'" - gdb_test "p ctable1\[112\]" " = 112 'p'" - gdb_test "p ctable1\[113\]" " = 113 'q'" - gdb_test "p ctable1\[114\]" " = 114 'r'" - gdb_test "p ctable1\[115\]" " = 115 's'" - gdb_test "p ctable1\[116\]" " = 116 't'" - gdb_test "p ctable1\[117\]" " = 117 'u'" - gdb_test "p ctable1\[118\]" " = 118 'v'" - gdb_test "p ctable1\[119\]" " = 119 'w'" - gdb_test "p ctable1\[120\]" " = 120 'x'" - gdb_test "p ctable1\[121\]" " = 121 'y'" - gdb_test "p ctable1\[122\]" " = 122 'z'" - gdb_test "p ctable1\[123\]" " = 123 '\[{\]+'" - gdb_test "p ctable1\[124\]" " = 124 '\[|\]+'" - gdb_test "p ctable1\[125\]" " = 125 '\[}\]+'" - gdb_test "p ctable1\[126\]" " = 126 '\[~\]'" - gdb_test "p ctable1\[127\]" " = 127 '\\\\177'" - gdb_test "p ctable1\[128\]" " = 128 '\\\\200'" - gdb_test "p ctable1\[129\]" " = 129 '\\\\201'" - gdb_test "p ctable1\[130\]" " = 130 '\\\\202'" - gdb_test "p ctable1\[131\]" " = 131 '\\\\203'" - gdb_test "p ctable1\[132\]" " = 132 '\\\\204'" - gdb_test "p ctable1\[133\]" " = 133 '\\\\205'" - gdb_test "p ctable1\[134\]" " = 134 '\\\\206'" - gdb_test "p ctable1\[135\]" " = 135 '\\\\207'" - gdb_test "p ctable1\[136\]" " = 136 '\\\\210'" - gdb_test "p ctable1\[137\]" " = 137 '\\\\211'" - gdb_test "p ctable1\[138\]" " = 138 '\\\\212'" - gdb_test "p ctable1\[139\]" " = 139 '\\\\213'" - gdb_test "p ctable1\[140\]" " = 140 '\\\\214'" - gdb_test "p ctable1\[141\]" " = 141 '\\\\215'" - gdb_test "p ctable1\[142\]" " = 142 '\\\\216'" - gdb_test "p ctable1\[143\]" " = 143 '\\\\217'" - gdb_test "p ctable1\[144\]" " = 144 '\\\\220'" - gdb_test "p ctable1\[145\]" " = 145 '\\\\221'" - gdb_test "p ctable1\[146\]" " = 146 '\\\\222'" - gdb_test "p ctable1\[147\]" " = 147 '\\\\223'" - gdb_test "p ctable1\[148\]" " = 148 '\\\\224'" - gdb_test "p ctable1\[149\]" " = 149 '\\\\225'" - gdb_test "p ctable1\[150\]" " = 150 '\\\\226'" - gdb_test "p ctable1\[151\]" " = 151 '\\\\227'" - gdb_test "p ctable1\[152\]" " = 152 '\\\\230'" - gdb_test "p ctable1\[153\]" " = 153 '\\\\231'" - gdb_test "p ctable1\[154\]" " = 154 '\\\\232'" - gdb_test "p ctable1\[155\]" " = 155 '\\\\233'" - gdb_test "p ctable1\[156\]" " = 156 '\\\\234'" - gdb_test "p ctable1\[157\]" " = 157 '\\\\235'" - gdb_test "p ctable1\[158\]" " = 158 '\\\\236'" - gdb_test "p ctable1\[159\]" " = 159 '\\\\237'" - gdb_test "p ctable1\[160\]" " = 160 '\\\\240'" - gdb_test "p ctable1\[161\]" " = 161 '\\\\241'" - gdb_test "p ctable1\[162\]" " = 162 '\\\\242'" - gdb_test "p ctable1\[163\]" " = 163 '\\\\243'" - gdb_test "p ctable1\[164\]" " = 164 '\\\\244'" - gdb_test "p ctable1\[165\]" " = 165 '\\\\245'" - gdb_test "p ctable1\[166\]" " = 166 '\\\\246'" - gdb_test "p ctable1\[167\]" " = 167 '\\\\247'" - gdb_test "p ctable1\[168\]" " = 168 '\\\\250'" - gdb_test "p ctable1\[169\]" " = 169 '\\\\251'" - gdb_test "p ctable1\[170\]" " = 170 '\\\\252'" - gdb_test "p ctable1\[171\]" " = 171 '\\\\253'" - gdb_test "p ctable1\[172\]" " = 172 '\\\\254'" - gdb_test "p ctable1\[173\]" " = 173 '\\\\255'" - gdb_test "p ctable1\[174\]" " = 174 '\\\\256'" - gdb_test "p ctable1\[175\]" " = 175 '\\\\257'" - gdb_test "p ctable1\[176\]" " = 176 '\\\\260'" - gdb_test "p ctable1\[177\]" " = 177 '\\\\261'" - gdb_test "p ctable1\[178\]" " = 178 '\\\\262'" - gdb_test "p ctable1\[179\]" " = 179 '\\\\263'" - gdb_test "p ctable1\[180\]" " = 180 '\\\\264'" - gdb_test "p ctable1\[181\]" " = 181 '\\\\265'" - gdb_test "p ctable1\[182\]" " = 182 '\\\\266'" - gdb_test "p ctable1\[183\]" " = 183 '\\\\267'" - gdb_test "p ctable1\[184\]" " = 184 '\\\\270'" - gdb_test "p ctable1\[185\]" " = 185 '\\\\271'" - gdb_test "p ctable1\[186\]" " = 186 '\\\\272'" - gdb_test "p ctable1\[187\]" " = 187 '\\\\273'" - gdb_test "p ctable1\[188\]" " = 188 '\\\\274'" - gdb_test "p ctable1\[189\]" " = 189 '\\\\275'" - gdb_test "p ctable1\[190\]" " = 190 '\\\\276'" - gdb_test "p ctable1\[191\]" " = 191 '\\\\277'" - gdb_test "p ctable1\[192\]" " = 192 '\\\\300'" - gdb_test "p ctable1\[193\]" " = 193 '\\\\301'" - gdb_test "p ctable1\[194\]" " = 194 '\\\\302'" - gdb_test "p ctable1\[195\]" " = 195 '\\\\303'" - gdb_test "p ctable1\[196\]" " = 196 '\\\\304'" - gdb_test "p ctable1\[197\]" " = 197 '\\\\305'" - gdb_test "p ctable1\[198\]" " = 198 '\\\\306'" - gdb_test "p ctable1\[199\]" " = 199 '\\\\307'" - gdb_test "p ctable1\[200\]" " = 200 '\\\\310'" - gdb_test "p ctable1\[201\]" " = 201 '\\\\311'" - gdb_test "p ctable1\[202\]" " = 202 '\\\\312'" - gdb_test "p ctable1\[203\]" " = 203 '\\\\313'" - gdb_test "p ctable1\[204\]" " = 204 '\\\\314'" - gdb_test "p ctable1\[205\]" " = 205 '\\\\315'" - gdb_test "p ctable1\[206\]" " = 206 '\\\\316'" - gdb_test "p ctable1\[207\]" " = 207 '\\\\317'" - gdb_test "p ctable1\[208\]" " = 208 '\\\\320'" - gdb_test "p ctable1\[209\]" " = 209 '\\\\321'" - gdb_test "p ctable1\[210\]" " = 210 '\\\\322'" - gdb_test "p ctable1\[211\]" " = 211 '\\\\323'" - gdb_test "p ctable1\[212\]" " = 212 '\\\\324'" - gdb_test "p ctable1\[213\]" " = 213 '\\\\325'" - gdb_test "p ctable1\[214\]" " = 214 '\\\\326'" - gdb_test "p ctable1\[215\]" " = 215 '\\\\327'" - gdb_test "p ctable1\[216\]" " = 216 '\\\\330'" - gdb_test "p ctable1\[217\]" " = 217 '\\\\331'" - gdb_test "p ctable1\[218\]" " = 218 '\\\\332'" - gdb_test "p ctable1\[219\]" " = 219 '\\\\333'" - gdb_test "p ctable1\[220\]" " = 220 '\\\\334'" - gdb_test "p ctable1\[221\]" " = 221 '\\\\335'" - gdb_test "p ctable1\[222\]" " = 222 '\\\\336'" - gdb_test "p ctable1\[223\]" " = 223 '\\\\337'" - gdb_test "p ctable1\[224\]" " = 224 '\\\\340'" - gdb_test "p ctable1\[225\]" " = 225 '\\\\341'" - gdb_test "p ctable1\[226\]" " = 226 '\\\\342'" - gdb_test "p ctable1\[227\]" " = 227 '\\\\343'" - gdb_test "p ctable1\[228\]" " = 228 '\\\\344'" - gdb_test "p ctable1\[229\]" " = 229 '\\\\345'" - gdb_test "p ctable1\[230\]" " = 230 '\\\\346'" - gdb_test "p ctable1\[231\]" " = 231 '\\\\347'" - gdb_test "p ctable1\[232\]" " = 232 '\\\\350'" - gdb_test "p ctable1\[233\]" " = 233 '\\\\351'" - gdb_test "p ctable1\[234\]" " = 234 '\\\\352'" - gdb_test "p ctable1\[235\]" " = 235 '\\\\353'" - gdb_test "p ctable1\[236\]" " = 236 '\\\\354'" - gdb_test "p ctable1\[237\]" " = 237 '\\\\355'" - gdb_test "p ctable1\[238\]" " = 238 '\\\\356'" - gdb_test "p ctable1\[239\]" " = 239 '\\\\357'" - gdb_test "p ctable1\[240\]" " = 240 '\\\\360'" - gdb_test "p ctable1\[241\]" " = 241 '\\\\361'" - gdb_test "p ctable1\[242\]" " = 242 '\\\\362'" - gdb_test "p ctable1\[243\]" " = 243 '\\\\363'" - gdb_test "p ctable1\[244\]" " = 244 '\\\\364'" - gdb_test "p ctable1\[245\]" " = 245 '\\\\365'" - gdb_test "p ctable1\[246\]" " = 246 '\\\\366'" - gdb_test "p ctable1\[247\]" " = 247 '\\\\367'" - gdb_test "p ctable1\[248\]" " = 248 '\\\\370'" - gdb_test "p ctable1\[249\]" " = 249 '\\\\371'" - gdb_test "p ctable1\[250\]" " = 250 '\\\\372'" - gdb_test "p ctable1\[251\]" " = 251 '\\\\373'" - gdb_test "p ctable1\[252\]" " = 252 '\\\\374'" - gdb_test "p ctable1\[253\]" " = 253 '\\\\375'" - gdb_test "p ctable1\[254\]" " = 254 '\\\\376'" - gdb_test "p ctable1\[255\]" " = 255 '\\\\377'" -} - -# Test interaction of the number of print elements to print and the -# repeat count, set to the default of 10. - -proc test_print_repeats_10 {} { - global gdb_prompt - - gdb_test "set print elements 1" "" - gdb_test "p &ctable2\[0*16\]" " = \\(unsigned char \\*\\) \"a\"..." - gdb_test "p &ctable2\[1*16\]" " = \\(unsigned char \\*\\) \"a\"..." - gdb_test "p &ctable2\[2*16\]" " = \\(unsigned char \\*\\) \"a\"..." - gdb_test "p &ctable2\[3*16\]" " = \\(unsigned char \\*\\) \"a\"..." - gdb_test "p &ctable2\[4*16\]" " = \\(unsigned char \\*\\) \"a\"..." - gdb_test "p &ctable2\[5*16\]" " = \\(unsigned char \\*\\) \"a\"..." - gdb_test "p &ctable2\[6*16\]" " = \\(unsigned char \\*\\) \"a\"..." - gdb_test "p &ctable2\[7*16\]" " = \\(unsigned char \\*\\) \"a\"..." - gdb_test "p &ctable2\[8*16\]" " = \\(unsigned char \\*\\) \"a\"..." - gdb_test "p &ctable2\[9*16\]" " = \\(unsigned char \\*\\) \"a\"..." - gdb_test "p &ctable2\[10*16\]" " = \\(unsigned char \\*\\) \"a\"..." - gdb_test "p &ctable2\[11*16\]" " = \\(unsigned char \\*\\) \"a\"..." - gdb_test "p &ctable2\[12*16\]" " = \\(unsigned char \\*\\) \"a\"..." - gdb_test "p &ctable2\[13*16\]" " = \\(unsigned char \\*\\) \"a\"..." - gdb_test "p &ctable2\[14*16\]" " = \\(unsigned char \\*\\) \"a\"..." - gdb_test "p &ctable2\[15*16\]" " = \\(unsigned char \\*\\) \"a\"..." - - gdb_test "set print elements 2" "" - gdb_test "p &ctable2\[0*16\]" " = \\(unsigned char \\*\\) \"aX\"..." - gdb_test "p &ctable2\[1*16\]" " = \\(unsigned char \\*\\) \"aa\"..." - gdb_test "p &ctable2\[2*16\]" " = \\(unsigned char \\*\\) \"aa\"..." - gdb_test "p &ctable2\[3*16\]" " = \\(unsigned char \\*\\) \"aa\"..." - gdb_test "p &ctable2\[4*16\]" " = \\(unsigned char \\*\\) \"aa\"..." - gdb_test "p &ctable2\[5*16\]" " = \\(unsigned char \\*\\) \"aa\"..." - gdb_test "p &ctable2\[6*16\]" " = \\(unsigned char \\*\\) \"aa\"..." - gdb_test "p &ctable2\[7*16\]" " = \\(unsigned char \\*\\) \"aa\"..." - gdb_test "p &ctable2\[8*16\]" " = \\(unsigned char \\*\\) \"aa\"..." - gdb_test "p &ctable2\[9*16\]" " = \\(unsigned char \\*\\) \"aa\"..." - gdb_test "p &ctable2\[10*16\]" " = \\(unsigned char \\*\\) \"aa\"..." - gdb_test "p &ctable2\[11*16\]" " = \\(unsigned char \\*\\) \"aa\"..." - gdb_test "p &ctable2\[12*16\]" " = \\(unsigned char \\*\\) \"aa\"..." - gdb_test "p &ctable2\[13*16\]" " = \\(unsigned char \\*\\) \"aa\"..." - gdb_test "p &ctable2\[14*16\]" " = \\(unsigned char \\*\\) \"aa\"..." - gdb_test "p &ctable2\[15*16\]" " = \\(unsigned char \\*\\) \"aa\"..." - - gdb_test "set print elements 3" "" - gdb_test "p &ctable2\[0*16\]" " = \\(unsigned char \\*\\) \"aXX\"..." - gdb_test "p &ctable2\[1*16\]" " = \\(unsigned char \\*\\) \"aaX\"..." - gdb_test "p &ctable2\[2*16\]" " = \\(unsigned char \\*\\) \"aaa\"..." - gdb_test "p &ctable2\[3*16\]" " = \\(unsigned char \\*\\) \"aaa\"..." - gdb_test "p &ctable2\[4*16\]" " = \\(unsigned char \\*\\) \"aaa\"..." - gdb_test "p &ctable2\[5*16\]" " = \\(unsigned char \\*\\) \"aaa\"..." - gdb_test "p &ctable2\[6*16\]" " = \\(unsigned char \\*\\) \"aaa\"..." - gdb_test "p &ctable2\[7*16\]" " = \\(unsigned char \\*\\) \"aaa\"..." - gdb_test "p &ctable2\[8*16\]" " = \\(unsigned char \\*\\) \"aaa\"..." - gdb_test "p &ctable2\[9*16\]" " = \\(unsigned char \\*\\) \"aaa\"..." - gdb_test "p &ctable2\[10*16\]" " = \\(unsigned char \\*\\) \"aaa\"..." - gdb_test "p &ctable2\[11*16\]" " = \\(unsigned char \\*\\) \"aaa\"..." - gdb_test "p &ctable2\[12*16\]" " = \\(unsigned char \\*\\) \"aaa\"..." - gdb_test "p &ctable2\[13*16\]" " = \\(unsigned char \\*\\) \"aaa\"..." - gdb_test "p &ctable2\[14*16\]" " = \\(unsigned char \\*\\) \"aaa\"..." - gdb_test "p &ctable2\[15*16\]" " = \\(unsigned char \\*\\) \"aaa\"..." - - gdb_test "set print elements 4" "" - gdb_test "p &ctable2\[0*16\]" " = \\(unsigned char \\*\\) \"aXXX\"..." - gdb_test "p &ctable2\[1*16\]" " = \\(unsigned char \\*\\) \"aaXX\"..." - gdb_test "p &ctable2\[2*16\]" " = \\(unsigned char \\*\\) \"aaaX\"..." - gdb_test "p &ctable2\[3*16\]" " = \\(unsigned char \\*\\) \"aaaa\"..." - gdb_test "p &ctable2\[4*16\]" " = \\(unsigned char \\*\\) \"aaaa\"..." - gdb_test "p &ctable2\[5*16\]" " = \\(unsigned char \\*\\) \"aaaa\"..." - gdb_test "p &ctable2\[6*16\]" " = \\(unsigned char \\*\\) \"aaaa\"..." - gdb_test "p &ctable2\[7*16\]" " = \\(unsigned char \\*\\) \"aaaa\"..." - gdb_test "p &ctable2\[8*16\]" " = \\(unsigned char \\*\\) \"aaaa\"..." - gdb_test "p &ctable2\[9*16\]" " = \\(unsigned char \\*\\) \"aaaa\"..." - gdb_test "p &ctable2\[10*16\]" " = \\(unsigned char \\*\\) \"aaaa\"..." - gdb_test "p &ctable2\[11*16\]" " = \\(unsigned char \\*\\) \"aaaa\"..." - gdb_test "p &ctable2\[12*16\]" " = \\(unsigned char \\*\\) \"aaaa\"..." - gdb_test "p &ctable2\[13*16\]" " = \\(unsigned char \\*\\) \"aaaa\"..." - gdb_test "p &ctable2\[14*16\]" " = \\(unsigned char \\*\\) \"aaaa\"..." - gdb_test "p &ctable2\[15*16\]" " = \\(unsigned char \\*\\) \"aaaa\"..." - - gdb_test "set print elements 5" "" - gdb_test "p &ctable2\[0*16\]" " = \\(unsigned char \\*\\) \"aXXXX\"..." - gdb_test "p &ctable2\[1*16\]" " = \\(unsigned char \\*\\) \"aaXXX\"..." - gdb_test "p &ctable2\[2*16\]" " = \\(unsigned char \\*\\) \"aaaXX\"..." - gdb_test "p &ctable2\[3*16\]" " = \\(unsigned char \\*\\) \"aaaaX\"..." - gdb_test "p &ctable2\[4*16\]" " = \\(unsigned char \\*\\) \"aaaaa\"..." - gdb_test "p &ctable2\[5*16\]" " = \\(unsigned char \\*\\) \"aaaaa\"..." - gdb_test "p &ctable2\[6*16\]" " = \\(unsigned char \\*\\) \"aaaaa\"..." - gdb_test "p &ctable2\[7*16\]" " = \\(unsigned char \\*\\) \"aaaaa\"..." - gdb_test "p &ctable2\[8*16\]" " = \\(unsigned char \\*\\) \"aaaaa\"..." - gdb_test "p &ctable2\[9*16\]" " = \\(unsigned char \\*\\) \"aaaaa\"..." - gdb_test "p &ctable2\[10*16\]" " = \\(unsigned char \\*\\) \"aaaaa\"..." - gdb_test "p &ctable2\[11*16\]" " = \\(unsigned char \\*\\) \"aaaaa\"..." - gdb_test "p &ctable2\[12*16\]" " = \\(unsigned char \\*\\) \"aaaaa\"..." - gdb_test "p &ctable2\[13*16\]" " = \\(unsigned char \\*\\) \"aaaaa\"..." - gdb_test "p &ctable2\[14*16\]" " = \\(unsigned char \\*\\) \"aaaaa\"..." - gdb_test "p &ctable2\[15*16\]" " = \\(unsigned char \\*\\) \"aaaaa\"..." - - gdb_test "set print elements 6" "" - gdb_test "p &ctable2\[0*16\]" " = \\(unsigned char \\*\\) \"aXXXXX\"..." - gdb_test "p &ctable2\[1*16\]" " = \\(unsigned char \\*\\) \"aaXXXX\"..." - gdb_test "p &ctable2\[2*16\]" " = \\(unsigned char \\*\\) \"aaaXXX\"..." - gdb_test "p &ctable2\[3*16\]" " = \\(unsigned char \\*\\) \"aaaaXX\"..." - gdb_test "p &ctable2\[4*16\]" " = \\(unsigned char \\*\\) \"aaaaaX\"..." - gdb_test "p &ctable2\[5*16\]" " = \\(unsigned char \\*\\) \"aaaaaa\"..." - gdb_test "p &ctable2\[6*16\]" " = \\(unsigned char \\*\\) \"aaaaaa\"..." - gdb_test "p &ctable2\[7*16\]" " = \\(unsigned char \\*\\) \"aaaaaa\"..." - gdb_test "p &ctable2\[8*16\]" " = \\(unsigned char \\*\\) \"aaaaaa\"..." - gdb_test "p &ctable2\[9*16\]" " = \\(unsigned char \\*\\) \"aaaaaa\"..." - gdb_test "p &ctable2\[10*16\]" " = \\(unsigned char \\*\\) \"aaaaaa\"..." - gdb_test "p &ctable2\[11*16\]" " = \\(unsigned char \\*\\) \"aaaaaa\"..." - gdb_test "p &ctable2\[12*16\]" " = \\(unsigned char \\*\\) \"aaaaaa\"..." - gdb_test "p &ctable2\[13*16\]" " = \\(unsigned char \\*\\) \"aaaaaa\"..." - gdb_test "p &ctable2\[14*16\]" " = \\(unsigned char \\*\\) \"aaaaaa\"..." - gdb_test "p &ctable2\[15*16\]" " = \\(unsigned char \\*\\) \"aaaaaa\"..." - - gdb_test "set print elements 7" "" - gdb_test "p &ctable2\[0*16\]" " = \\(unsigned char \\*\\) \"aXXXXXX\"..." - gdb_test "p &ctable2\[1*16\]" " = \\(unsigned char \\*\\) \"aaXXXXX\"..." - gdb_test "p &ctable2\[2*16\]" " = \\(unsigned char \\*\\) \"aaaXXXX\"..." - gdb_test "p &ctable2\[3*16\]" " = \\(unsigned char \\*\\) \"aaaaXXX\"..." - gdb_test "p &ctable2\[4*16\]" " = \\(unsigned char \\*\\) \"aaaaaXX\"..." - gdb_test "p &ctable2\[5*16\]" " = \\(unsigned char \\*\\) \"aaaaaaX\"..." - gdb_test "p &ctable2\[6*16\]" " = \\(unsigned char \\*\\) \"aaaaaaa\"..." - gdb_test "p &ctable2\[7*16\]" " = \\(unsigned char \\*\\) \"aaaaaaa\"..." - gdb_test "p &ctable2\[8*16\]" " = \\(unsigned char \\*\\) \"aaaaaaa\"..." - gdb_test "p &ctable2\[9*16\]" " = \\(unsigned char \\*\\) \"aaaaaaa\"..." - gdb_test "p &ctable2\[10*16\]" " = \\(unsigned char \\*\\) \"aaaaaaa\"..." - gdb_test "p &ctable2\[11*16\]" " = \\(unsigned char \\*\\) \"aaaaaaa\"..." - gdb_test "p &ctable2\[12*16\]" " = \\(unsigned char \\*\\) \"aaaaaaa\"..." - gdb_test "p &ctable2\[13*16\]" " = \\(unsigned char \\*\\) \"aaaaaaa\"..." - gdb_test "p &ctable2\[14*16\]" " = \\(unsigned char \\*\\) \"aaaaaaa\"..." - gdb_test "p &ctable2\[15*16\]" " = \\(unsigned char \\*\\) \"aaaaaaa\"..." - - gdb_test "set print elements 8" "" - gdb_test "p &ctable2\[0*16\]" " = \\(unsigned char \\*\\) \"aXXXXXXX\"..." - gdb_test "p &ctable2\[1*16\]" " = \\(unsigned char \\*\\) \"aaXXXXXX\"..." - gdb_test "p &ctable2\[2*16\]" " = \\(unsigned char \\*\\) \"aaaXXXXX\"..." - gdb_test "p &ctable2\[3*16\]" " = \\(unsigned char \\*\\) \"aaaaXXXX\"..." - gdb_test "p &ctable2\[4*16\]" " = \\(unsigned char \\*\\) \"aaaaaXXX\"..." - gdb_test "p &ctable2\[5*16\]" " = \\(unsigned char \\*\\) \"aaaaaaXX\"..." - gdb_test "p &ctable2\[6*16\]" " = \\(unsigned char \\*\\) \"aaaaaaaX\"..." - gdb_test "p &ctable2\[7*16\]" " = \\(unsigned char \\*\\) \"aaaaaaaa\"..." - gdb_test "p &ctable2\[8*16\]" " = \\(unsigned char \\*\\) \"aaaaaaaa\"..." - gdb_test "p &ctable2\[9*16\]" " = \\(unsigned char \\*\\) \"aaaaaaaa\"..." - gdb_test "p &ctable2\[10*16\]" " = \\(unsigned char \\*\\) \"aaaaaaaa\"..." - gdb_test "p &ctable2\[11*16\]" " = \\(unsigned char \\*\\) \"aaaaaaaa\"..." - gdb_test "p &ctable2\[12*16\]" " = \\(unsigned char \\*\\) \"aaaaaaaa\"..." - gdb_test "p &ctable2\[13*16\]" " = \\(unsigned char \\*\\) \"aaaaaaaa\"..." - gdb_test "p &ctable2\[14*16\]" " = \\(unsigned char \\*\\) \"aaaaaaaa\"..." - gdb_test "p &ctable2\[15*16\]" " = \\(unsigned char \\*\\) \"aaaaaaaa\"..." - - gdb_test "set print elements 9" "" - gdb_test "p &ctable2\[0*16\]" " = \\(unsigned char \\*\\) \"aXXXXXXXX\"..." - gdb_test "p &ctable2\[1*16\]" " = \\(unsigned char \\*\\) \"aaXXXXXXX\"..." - gdb_test "p &ctable2\[2*16\]" " = \\(unsigned char \\*\\) \"aaaXXXXXX\"..." - gdb_test "p &ctable2\[3*16\]" " = \\(unsigned char \\*\\) \"aaaaXXXXX\"..." - gdb_test "p &ctable2\[4*16\]" " = \\(unsigned char \\*\\) \"aaaaaXXXX\"..." - gdb_test "p &ctable2\[5*16\]" " = \\(unsigned char \\*\\) \"aaaaaaXXX\"..." - gdb_test "p &ctable2\[6*16\]" " = \\(unsigned char \\*\\) \"aaaaaaaXX\"..." - gdb_test "p &ctable2\[7*16\]" " = \\(unsigned char \\*\\) \"aaaaaaaaX\"..." - gdb_test "p &ctable2\[8*16\]" " = \\(unsigned char \\*\\) \"aaaaaaaaa\"..." - gdb_test "p &ctable2\[9*16\]" " = \\(unsigned char \\*\\) \"aaaaaaaaa\"..." - gdb_test "p &ctable2\[10*16\]" " = \\(unsigned char \\*\\) \"aaaaaaaaa\"..." - gdb_test "p &ctable2\[11*16\]" " = \\(unsigned char \\*\\) \"aaaaaaaaa\"..." - gdb_test "p &ctable2\[12*16\]" " = \\(unsigned char \\*\\) \"aaaaaaaaa\"..." - gdb_test "p &ctable2\[13*16\]" " = \\(unsigned char \\*\\) \"aaaaaaaaa\"..." - gdb_test "p &ctable2\[14*16\]" " = \\(unsigned char \\*\\) \"aaaaaaaaa\"..." - gdb_test "p &ctable2\[15*16\]" " = \\(unsigned char \\*\\) \"aaaaaaaaa\"..." - - gdb_test "set print elements 10" "" - gdb_test "p &ctable2\[0*16\]" " = \\(unsigned char \\*\\) \"aXXXXXXXXX\"..." - gdb_test "p &ctable2\[1*16\]" " = \\(unsigned char \\*\\) \"aaXXXXXXXX\"..." - gdb_test "p &ctable2\[2*16\]" " = \\(unsigned char \\*\\) \"aaaXXXXXXX\"..." - gdb_test "p &ctable2\[3*16\]" " = \\(unsigned char \\*\\) \"aaaaXXXXXX\"..." - gdb_test "p &ctable2\[4*16\]" " = \\(unsigned char \\*\\) \"aaaaaXXXXX\"..." - gdb_test "p &ctable2\[5*16\]" " = \\(unsigned char \\*\\) \"aaaaaaXXXX\"..." - gdb_test "p &ctable2\[6*16\]" " = \\(unsigned char \\*\\) \"aaaaaaaXXX\"..." - gdb_test "p &ctable2\[7*16\]" " = \\(unsigned char \\*\\) \"aaaaaaaaXX\"..." - gdb_test "p &ctable2\[8*16\]" " = \\(unsigned char \\*\\) \"aaaaaaaaaX\"..." - gdb_test "p &ctable2\[9*16\]" " = \\(unsigned char \\*\\) \"aaaaaaaaaa\"..." - gdb_test "p &ctable2\[10*16\]" " = \\(unsigned char \\*\\) \"aaaaaaaaaa\"..." - gdb_test "p &ctable2\[11*16\]" " = \\(unsigned char \\*\\) \"aaaaaaaaaa\"..." - gdb_test "p &ctable2\[12*16\]" " = \\(unsigned char \\*\\) \"aaaaaaaaaa\"..." - gdb_test "p &ctable2\[13*16\]" " = \\(unsigned char \\*\\) \"aaaaaaaaaa\"..." - gdb_test "p &ctable2\[14*16\]" " = \\(unsigned char \\*\\) \"aaaaaaaaaa\"..." - gdb_test "p &ctable2\[15*16\]" " = \\(unsigned char \\*\\) \"aaaaaaaaaa\"..." - - gdb_test "set print elements 11" "" - gdb_test "p &ctable2\[0*16\]" \ - " = \\(unsigned char \\*\\) \"aXXXXXXXXXX\"..." - gdb_test "p &ctable2\[1*16\]" \ - " = \\(unsigned char \\*\\) \"aaXXXXXXXXX\"..." - gdb_test "p &ctable2\[2*16\]" \ - " = \\(unsigned char \\*\\) \"aaaXXXXXXXX\"..." - gdb_test "p &ctable2\[3*16\]" \ - " = \\(unsigned char \\*\\) \"aaaaXXXXXXX\"..." - gdb_test "p &ctable2\[4*16\]" \ - " = \\(unsigned char \\*\\) \"aaaaaXXXXXX\"..." - gdb_test "p &ctable2\[5*16\]" \ - " = \\(unsigned char \\*\\) \"aaaaaaXXXXX\"..." - gdb_test "p &ctable2\[6*16\]" \ - " = \\(unsigned char \\*\\) \"aaaaaaaXXXX\"..." - gdb_test "p &ctable2\[7*16\]" \ - " = \\(unsigned char \\*\\) \"aaaaaaaaXXX\"..." - gdb_test "p &ctable2\[8*16\]" \ - " = \\(unsigned char \\*\\) \"aaaaaaaaaXX\"..." - gdb_test "p &ctable2\[9*16\]" \ - " = \\(unsigned char \\*\\) \"aaaaaaaaaaX\"..." - gdb_test "p &ctable2\[10*16\]" \ - " = \\(unsigned char \\*\\) 'a' <repeats 11 times>..." - gdb_test "p &ctable2\[11*16\]" \ - " = \\(unsigned char \\*\\) 'a' <repeats 11 times>..." - gdb_test "p &ctable2\[12*16\]" \ - " = \\(unsigned char \\*\\) 'a' <repeats 11 times>..." - gdb_test "p &ctable2\[13*16\]" \ - " = \\(unsigned char \\*\\) 'a' <repeats 11 times>..." - gdb_test "p &ctable2\[14*16\]" \ - " = \\(unsigned char \\*\\) 'a' <repeats 11 times>..." - gdb_test "p &ctable2\[15*16\]" \ - " = \\(unsigned char \\*\\) 'a' <repeats 11 times>..." - - gdb_test "set print elements 12" "" - gdb_test "p &ctable2\[0*16\]" \ - " = \\(unsigned char \\*\\) \"a\", 'X' <repeats 11 times>..." - gdb_test "p &ctable2\[1*16\]" \ - " = \\(unsigned char \\*\\) \"aaXXXXXXXXXX\"..." - gdb_test "p &ctable2\[2*16\]" \ - " = \\(unsigned char \\*\\) \"aaaXXXXXXXXX\"..." - gdb_test "p &ctable2\[3*16\]" \ - " = \\(unsigned char \\*\\) \"aaaaXXXXXXXX\"..." - gdb_test "p &ctable2\[4*16\]" \ - " = \\(unsigned char \\*\\) \"aaaaaXXXXXXX\"..." - gdb_test "p &ctable2\[5*16\]" \ - " = \\(unsigned char \\*\\) \"aaaaaaXXXXXX\"..." - gdb_test "p &ctable2\[6*16\]" \ - " = \\(unsigned char \\*\\) \"aaaaaaaXXXXX\"..." - gdb_test "p &ctable2\[7*16\]" \ - " = \\(unsigned char \\*\\) \"aaaaaaaaXXXX\"..." - gdb_test "p &ctable2\[8*16\]" \ - " = \\(unsigned char \\*\\) \"aaaaaaaaaXXX\"..." - gdb_test "p &ctable2\[9*16\]" \ - " = \\(unsigned char \\*\\) \"aaaaaaaaaaXX\"..." - gdb_test "p &ctable2\[10*16\]" \ - " = \\(unsigned char \\*\\) 'a' <repeats 11 times>, \"X\"..." - gdb_test "p &ctable2\[11*16\]" \ - " = \\(unsigned char \\*\\) 'a' <repeats 12 times>..." - gdb_test "p &ctable2\[12*16\]" \ - " = \\(unsigned char \\*\\) 'a' <repeats 12 times>..." - gdb_test "p &ctable2\[13*16\]" \ - " = \\(unsigned char \\*\\) 'a' <repeats 12 times>..." - gdb_test "p &ctable2\[14*16\]" \ - " = \\(unsigned char \\*\\) 'a' <repeats 12 times>..." - gdb_test "p &ctable2\[15*16\]" \ - " = \\(unsigned char \\*\\) 'a' <repeats 12 times>..." - - gdb_test "set print elements 13" "" - gdb_test "p &ctable2\[0*16\]" \ - " = \\(unsigned char \\*\\) \"a\", 'X' <repeats 12 times>..." - gdb_test "p &ctable2\[1*16\]" \ - " = \\(unsigned char \\*\\) \"aa\", 'X' <repeats 11 times>..." - gdb_test "p &ctable2\[2*16\]" \ - " = \\(unsigned char \\*\\) \"aaaXXXXXXXXXX\"..." - gdb_test "p &ctable2\[3*16\]" \ - " = \\(unsigned char \\*\\) \"aaaaXXXXXXXXX\"..." - gdb_test "p &ctable2\[4*16\]" \ - " = \\(unsigned char \\*\\) \"aaaaaXXXXXXXX\"..." - gdb_test "p &ctable2\[5*16\]" \ - " = \\(unsigned char \\*\\) \"aaaaaaXXXXXXX\"..." - gdb_test "p &ctable2\[6*16\]" \ - " = \\(unsigned char \\*\\) \"aaaaaaaXXXXXX\"..." - gdb_test "p &ctable2\[7*16\]" \ - " = \\(unsigned char \\*\\) \"aaaaaaaaXXXXX\"..." - gdb_test "p &ctable2\[8*16\]" \ - " = \\(unsigned char \\*\\) \"aaaaaaaaaXXXX\"..." - gdb_test "p &ctable2\[9*16\]" \ - " = \\(unsigned char \\*\\) \"aaaaaaaaaaXXX\"..." - gdb_test "p &ctable2\[10*16\]" \ - " = \\(unsigned char \\*\\) 'a' <repeats 11 times>, \"XX\"..." - gdb_test "p &ctable2\[11*16\]" \ - " = \\(unsigned char \\*\\) 'a' <repeats 12 times>, \"X\"..." - gdb_test "p &ctable2\[12*16\]" \ - " = \\(unsigned char \\*\\) 'a' <repeats 13 times>..." - gdb_test "p &ctable2\[13*16\]" \ - " = \\(unsigned char \\*\\) 'a' <repeats 13 times>..." - gdb_test "p &ctable2\[14*16\]" \ - " = \\(unsigned char \\*\\) 'a' <repeats 13 times>..." - gdb_test "p &ctable2\[15*16\]" \ - " = \\(unsigned char \\*\\) 'a' <repeats 13 times>..." - - gdb_test "set print elements 14" "" - gdb_test "p &ctable2\[0*16\]" \ - " = \\(unsigned char \\*\\) \"a\", 'X' <repeats 13 times>..." - gdb_test "p &ctable2\[1*16\]" \ - " = \\(unsigned char \\*\\) \"aa\", 'X' <repeats 12 times>..." - gdb_test "p &ctable2\[2*16\]" \ - " = \\(unsigned char \\*\\) \"aaa\", 'X' <repeats 11 times>..." - gdb_test "p &ctable2\[3*16\]" \ - " = \\(unsigned char \\*\\) \"aaaaXXXXXXXXXX\"..." - gdb_test "p &ctable2\[4*16\]" \ - " = \\(unsigned char \\*\\) \"aaaaaXXXXXXXXX\"..." - gdb_test "p &ctable2\[5*16\]" \ - " = \\(unsigned char \\*\\) \"aaaaaaXXXXXXXX\"..." - gdb_test "p &ctable2\[6*16\]" \ - " = \\(unsigned char \\*\\) \"aaaaaaaXXXXXXX\"..." - gdb_test "p &ctable2\[7*16\]" \ - " = \\(unsigned char \\*\\) \"aaaaaaaaXXXXXX\"..." - gdb_test "p &ctable2\[8*16\]" \ - " = \\(unsigned char \\*\\) \"aaaaaaaaaXXXXX\"..." - gdb_test "p &ctable2\[9*16\]" \ - " = \\(unsigned char \\*\\) \"aaaaaaaaaaXXXX\"..." - gdb_test "p &ctable2\[10*16\]" \ - " = \\(unsigned char \\*\\) 'a' <repeats 11 times>, \"XXX\"..." - gdb_test "p &ctable2\[11*16\]" \ - " = \\(unsigned char \\*\\) 'a' <repeats 12 times>, \"XX\"..." - gdb_test "p &ctable2\[12*16\]" \ - " = \\(unsigned char \\*\\) 'a' <repeats 13 times>, \"X\"..." - gdb_test "p &ctable2\[13*16\]" \ - " = \\(unsigned char \\*\\) 'a' <repeats 14 times>..." - gdb_test "p &ctable2\[14*16\]" \ - " = \\(unsigned char \\*\\) 'a' <repeats 14 times>..." - gdb_test "p &ctable2\[15*16\]" \ - " = \\(unsigned char \\*\\) 'a' <repeats 14 times>..." - - gdb_test "set print elements 15" "" - gdb_test "p &ctable2\[0*16\]" \ - " = \\(unsigned char \\*\\) \"a\", 'X' <repeats 14 times>..." - gdb_test "p &ctable2\[1*16\]" \ - " = \\(unsigned char \\*\\) \"aa\", 'X' <repeats 13 times>..." - gdb_test "p &ctable2\[2*16\]" \ - " = \\(unsigned char \\*\\) \"aaa\", 'X' <repeats 12 times>..." - gdb_test "p &ctable2\[3*16\]" \ - " = \\(unsigned char \\*\\) \"aaaa\", 'X' <repeats 11 times>..." - gdb_test "p &ctable2\[4*16\]" \ - " = \\(unsigned char \\*\\) \"aaaaaXXXXXXXXXX\"..." - gdb_test "p &ctable2\[5*16\]" \ - " = \\(unsigned char \\*\\) \"aaaaaaXXXXXXXXX\"..." - gdb_test "p &ctable2\[6*16\]" \ - " = \\(unsigned char \\*\\) \"aaaaaaaXXXXXXXX\"..." - gdb_test "p &ctable2\[7*16\]" \ - " = \\(unsigned char \\*\\) \"aaaaaaaaXXXXXXX\"..." - gdb_test "p &ctable2\[8*16\]" \ - " = \\(unsigned char \\*\\) \"aaaaaaaaaXXXXXX\"..." - gdb_test "p &ctable2\[9*16\]" \ - " = \\(unsigned char \\*\\) \"aaaaaaaaaaXXXXX\"..." - gdb_test "p &ctable2\[10*16\]" \ - " = \\(unsigned char \\*\\) 'a' <repeats 11 times>, \"XXXX\"..." - gdb_test "p &ctable2\[11*16\]" \ - " = \\(unsigned char \\*\\) 'a' <repeats 12 times>, \"XXX\"..." - gdb_test "p &ctable2\[12*16\]" \ - " = \\(unsigned char \\*\\) 'a' <repeats 13 times>, \"XX\"..." - gdb_test "p &ctable2\[13*16\]" \ - " = \\(unsigned char \\*\\) 'a' <repeats 14 times>, \"X\"..." - gdb_test "p &ctable2\[14*16\]" \ - " = \\(unsigned char \\*\\) 'a' <repeats 15 times>..." - gdb_test "p &ctable2\[15*16\]" \ - " = \\(unsigned char \\*\\) 'a' <repeats 15 times>..." - - gdb_test "set print elements 16" "" - gdb_test "p &ctable2\[0*16\]" \ - " = \\(unsigned char \\*\\) \"a\", 'X' <repeats 15 times>..." - gdb_test "p &ctable2\[1*16\]" \ - " = \\(unsigned char \\*\\) \"aa\", 'X' <repeats 14 times>..." - gdb_test "p &ctable2\[2*16\]" \ - " = \\(unsigned char \\*\\) \"aaa\", 'X' <repeats 13 times>..." - gdb_test "p &ctable2\[3*16\]" \ - " = \\(unsigned char \\*\\) \"aaaa\", 'X' <repeats 12 times>..." - gdb_test "p &ctable2\[4*16\]" \ - " = \\(unsigned char \\*\\) \"aaaaa\", 'X' <repeats 11 times>..." - gdb_test "p &ctable2\[5*16\]" \ - " = \\(unsigned char \\*\\) \"aaaaaaXXXXXXXXXX\"..." - gdb_test "p &ctable2\[6*16\]" \ - " = \\(unsigned char \\*\\) \"aaaaaaaXXXXXXXXX\"..." - gdb_test "p &ctable2\[7*16\]" \ - " = \\(unsigned char \\*\\) \"aaaaaaaaXXXXXXXX\"..." - gdb_test "p &ctable2\[8*16\]" \ - " = \\(unsigned char \\*\\) \"aaaaaaaaaXXXXXXX\"..." - gdb_test "p &ctable2\[9*16\]" \ - " = \\(unsigned char \\*\\) \"aaaaaaaaaaXXXXXX\"..." - gdb_test "p &ctable2\[10*16\]" \ - " = \\(unsigned char \\*\\) 'a' <repeats 11 times>, \"XXXXX\"..." - gdb_test "p &ctable2\[11*16\]" \ - " = \\(unsigned char \\*\\) 'a' <repeats 12 times>, \"XXXX\"..." - gdb_test "p &ctable2\[12*16\]" \ - " = \\(unsigned char \\*\\) 'a' <repeats 13 times>, \"XXX\"..." - gdb_test "p &ctable2\[13*16\]" \ - " = \\(unsigned char \\*\\) 'a' <repeats 14 times>, \"XX\"..." - gdb_test "p &ctable2\[14*16\]" \ - " = \\(unsigned char \\*\\) 'a' <repeats 15 times>, \"X\"..." - gdb_test "p &ctable2\[15*16\]" \ - " = \\(unsigned char \\*\\) 'a' <repeats 16 times>" -} - -proc test_print_strings {} { - global gdb_prompt - - # We accept "(unsigned char *) " before the string. char vs. unsigned char - # is already tested elsewhere. - - # Test that setting print elements unlimited doesn't completely suppress - # printing; this was a bug in older gdb's. - gdb_test "set print elements 0" "" - gdb_test "p teststring" \ - " = (.unsigned char .. )?\"teststring contents\"" - gdb_test "set print elements 1" "" - gdb_test "p teststring" \ - " = (.unsigned char .. )?\"t\"\\.\\.\\." - gdb_test "set print elements 5" "" - gdb_test "p teststring" \ - " = (.unsigned char .. )?\"tests\"\\.\\.\\." - gdb_test "set print elements 19" "" - gdb_test "p teststring" \ - " = (.unsigned char .. )?\"teststring contents\"" - gdb_test "set print elements 20" "" - gdb_test "p teststring" \ - " = (.unsigned char .. )?\"teststring contents\"" - - gdb_test "set print elements 8" "" - - gdb_test "p &ctable1\[0\]" \ - " = \\(unsigned char \\*\\) \"\"" - gdb_test "p &ctable1\[1\]" \ - " = \\(unsigned char \\*\\) \"\\\\001\\\\002\\\\003\\\\004\\\\005\\\\006\\\\a\\\\b\"..." - gdb_test "p &ctable1\[1*8\]" \ - " = \\(unsigned char \\*\\) \"\\\\b\\\\t\\\\n\\\\013\\\\f\\\\r\\\\016\\\\017\"..." - gdb_test "p &ctable1\[2*8\]" \ - " = \\(unsigned char \\*\\) \"\\\\020\\\\021\\\\022\\\\023\\\\024\\\\025\\\\026\\\\027\"..." - gdb_test "p &ctable1\[3*8\]" \ - " = \\(unsigned char \\*\\) \"\\\\030\\\\031\\\\032\\\\e\\\\034\\\\035\\\\036\\\\037\"..." - gdb_test "p &ctable1\[4*8\]" \ - " = \\(unsigned char \\*\\) \" !\\\\\"#\\\$%&'\"..." - gdb_test "p &ctable1\[5*8\]" \ - " = \\(unsigned char \\*\\) \"\\(\\)\\*\\+,-./\"..." - gdb_test "p &ctable1\[6*8\]" \ - " = \\(unsigned char \\*\\) \"01234567\"..." - gdb_test "p &ctable1\[7*8\]" \ - " = \\(unsigned char \\*\\) \"89:;<=>\\?\"..." - gdb_test "p &ctable1\[8*8\]" \ - " = \\(unsigned char \\*\\) \"@ABCDEFG\"..." - gdb_test "p &ctable1\[9*8\]" \ - " = \\(unsigned char \\*\\) \"HIJKLMNO\"..." - gdb_test "p &ctable1\[10*8\]" \ - " = \\(unsigned char \\*\\) \"PQRSTUVW\"..." - gdb_test "p &ctable1\[11*8\]" \ - " = \\(unsigned char \\*\\) \"XYZ\\\[\\\\\\\\\\\]\\^_\"..." - gdb_test "p &ctable1\[12*8\]" \ - " = \\(unsigned char \\*\\) \"`abcdefg\"..." - gdb_test "p &ctable1\[13*8\]" \ - " = \\(unsigned char \\*\\) \"hijklmno\"..." - gdb_test "p &ctable1\[14*8\]" \ - " = \\(unsigned char \\*\\) \"pqrstuvw\"..." - gdb_test "p &ctable1\[15*8\]" \ - " = \\(unsigned char \\*\\) \"xyz\[{|}\]+\\~\\\\177\"..." - gdb_test "p &ctable1\[16*8\]" \ - " = \\(unsigned char \\*\\) \"\\\\200\\\\201\\\\202\\\\203\\\\204\\\\205\\\\206\\\\207\"..." - gdb_test "p &ctable1\[17*8\]" \ - " = \\(unsigned char \\*\\) \"\\\\210\\\\211\\\\212\\\\213\\\\214\\\\215\\\\216\\\\217\"..." - gdb_test "p &ctable1\[18*8\]" \ - " = \\(unsigned char \\*\\) \"\\\\220\\\\221\\\\222\\\\223\\\\224\\\\225\\\\226\\\\227\"..." - gdb_test "p &ctable1\[19*8\]" \ - " = \\(unsigned char \\*\\) \"\\\\230\\\\231\\\\232\\\\233\\\\234\\\\235\\\\236\\\\237\"..." - gdb_test "p &ctable1\[20*8\]" \ - " = \\(unsigned char \\*\\) \"\\\\240\\\\241\\\\242\\\\243\\\\244\\\\245\\\\246\\\\247\"..." - gdb_test "p &ctable1\[21*8\]" \ - " = \\(unsigned char \\*\\) \"\\\\250\\\\251\\\\252\\\\253\\\\254\\\\255\\\\256\\\\257\"..." - gdb_test "p &ctable1\[22*8\]" \ - " = \\(unsigned char \\*\\) \"\\\\260\\\\261\\\\262\\\\263\\\\264\\\\265\\\\266\\\\267\"..." - gdb_test "p &ctable1\[23*8\]" \ - " = \\(unsigned char \\*\\) \"\\\\270\\\\271\\\\272\\\\273\\\\274\\\\275\\\\276\\\\277\"..." - gdb_test "p &ctable1\[24*8\]" \ - " = \\(unsigned char \\*\\) \"\\\\300\\\\301\\\\302\\\\303\\\\304\\\\305\\\\306\\\\307\"..." - gdb_test "p &ctable1\[25*8\]" \ - " = \\(unsigned char \\*\\) \"\\\\310\\\\311\\\\312\\\\313\\\\314\\\\315\\\\316\\\\317\"..." - gdb_test "p &ctable1\[26*8\]" \ - " = \\(unsigned char \\*\\) \"\\\\320\\\\321\\\\322\\\\323\\\\324\\\\325\\\\326\\\\327\"..." - gdb_test "p &ctable1\[27*8\]" \ - " = \\(unsigned char \\*\\) \"\\\\330\\\\331\\\\332\\\\333\\\\334\\\\335\\\\336\\\\337\"..." - gdb_test "p &ctable1\[28*8\]" \ - " = \\(unsigned char \\*\\) \"\\\\340\\\\341\\\\342\\\\343\\\\344\\\\345\\\\346\\\\347\"..." - gdb_test "p &ctable1\[29*8\]" \ - " = \\(unsigned char \\*\\) \"\\\\350\\\\351\\\\352\\\\353\\\\354\\\\355\\\\356\\\\357\"..." - gdb_test "p &ctable1\[30*8\]" \ - " = \\(unsigned char \\*\\) \"\\\\360\\\\361\\\\362\\\\363\\\\364\\\\365\\\\366\\\\367\"..." - gdb_test "p &ctable1\[31*8\]" \ - " = \\(unsigned char \\*\\) \"\\\\370\\\\371\\\\372\\\\373\\\\374\\\\375\\\\376\\\\377\"..." -} - -proc test_print_int_arrays {} { - global gdb_prompt - - gdb_test "set print elements 24" "" - - gdb_test "p int1dim" \ - " = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11}" - gdb_test "p int2dim" \ - " = {{0, 1, 2, 3}, {4, 5, 6, 7}, {8, 9, 10, 11}}" - gdb_test "p int3dim" \ - " = {{{0, 1}, {2, 3}, {4, 5}}, {{6, 7}, {8, 9}, {10, 11}}}" - gdb_test "p int4dim" \ - " = {{{{0, 1}, {2, 3}, {4, 5}}, {{6, 7}, {8, 9}, {10, 11}}}}" -} - -proc test_artificial_arrays {} { - # Send \026@ instead of just @ in case the kill character is @. - gdb_test "p int1dim\[0\]\026@2" " = {0, 1}" {p int1dim[0]@2} - gdb_test "p int1dim\[0\]\026@2\026@3" \ - "({{0, 1}, {2, 3}, {4, 5}}|\[Cc\]annot.*)" \ - {p int1dim[0]@2@3} - gdb_test {p/x (short [])0x12345678} \ - " = ({0x1234, 0x5678}|{0x5678, 0x1234})" -} - -proc test_print_char_arrays {} { - global gdb_prompt - global hex - - gdb_test "set print elements 24" "" - gdb_test "set print address on" "" - - gdb_test "p arrays" \ - " = {array1 = \"abc\", array2 = \"d\", array3 = \"e\", array4 = \"fg\", array5 = \"hij\"}" - - gdb_test "p parrays" " = \\(struct some_arrays \\*\\) $hex" - gdb_test "p parrays->array1" " = \"abc\"" - gdb_test "p &parrays->array1" " = \\(unsigned char \\(\\*\\)\\\[4\\\]\\) $hex" - gdb_test "p parrays->array2" " = \"d\"" - gdb_test "p &parrays->array2" " = \\(unsigned char \\(\\*\\)\\\[1\\\]\\) $hex" - gdb_test "p parrays->array3" " = \"e\"" - gdb_test "p &parrays->array3" " = \\(unsigned char \\(\\*\\)\\\[1\\\]\\) $hex" - gdb_test "p parrays->array4" " = \"fg\"" - gdb_test "p &parrays->array4" " = \\(unsigned char \\(\\*\\)\\\[2\\\]\\) $hex" - gdb_test "p parrays->array5" " = \"hij\"" - gdb_test "p &parrays->array5" " = \\(unsigned char \\(\\*\\)\\\[4\\\]\\) $hex" - - gdb_test "set print address off" "" -} - -proc test_print_string_constants {} { - global gdb_prompt - - gdb_test "set print elements 50" "" - - if [target_info exists gdb,cannot_call_functions] { - setup_xfail "*-*-*" 2416 - fail "This target can not call functions" - return - } - - setup_xfail "a29k-*-udi" 2416 - gdb_test "p \"a string\"" " = \"a string\"" - setup_xfail "a29k-*-udi" 2416 - gdb_test "p \"embedded \\000 null\"" " = \"embedded \\\\000 null\"" - setup_xfail "a29k-*-udi" 2416 - gdb_test "p \"abcd\"\[2\]" " = 99 'c'" - setup_xfail "a29k-*-udi" 2416 - gdb_test "p sizeof (\"abcdef\")" " = 7" - setup_xfail "a29k-*-udi" 2416 - gdb_test "ptype \"foo\"" " = char \\\[4\\\]" - setup_xfail "a29k-*-udi" 2416 - gdb_test "p *\"foo\"" " = 102 'f'" - setup_xfail "a29k-*-udi" 2416 - gdb_test "ptype *\"foo\"" " = char" - setup_xfail "a29k-*-udi" 2416 - gdb_test "p &*\"foo\"" " = \"foo\"" - setup_xfail "*-*-*" - gdb_test "ptype &*\"foo\"" "type = char \\*" - setup_xfail "a29k-*-udi" 2416 - gdb_test "p (char *)\"foo\"" " = \"foo\"" -} - -proc test_print_array_constants {} { - - if [target_info exists gdb,cannot_call_functions] { - setup_xfail "*-*-*" 2416 - fail "This target can not call functions" - return - } - - setup_xfail "a29k-*-udi" 2416 - gdb_test "print {'a','b','c'}" " = \"abc\"" - setup_xfail "a29k-*-udi" 2416 - gdb_test "print {0,1,2}" " = {0, 1, 2}" - setup_xfail "a29k-*-udi" 2416 - gdb_test "print {(long)0,(long)1,(long)2}" " = {0, 1, 2}" - setup_xfail "a29k-*-udi" 2416 - gdb_test "print {{0,1,2},{3,4,5}}" " = {{0, 1, 2}, {3, 4, 5}}" - setup_xfail "a29k-*-udi" 2416 - gdb_test "print {4,5,6}\[2\]" " = 6" - setup_xfail "a29k-*-udi" 2416 - gdb_test "print *&{4,5,6}\[1\]" " = 5" -} - -proc test_printf {} { - gdb_test "printf \"x=%d,y=%d,z=%d\\n\", 5, 6, 7" "x=5,y=6,z=7" - gdb_test "printf \"string=%.4sxx\\n\", teststring" "string=testxx" - gdb_test "printf \"string=%sxx\\n\", teststring" \ - "string=teststring contentsxx" - - gdb_test "printf \"%f is fun\\n\", 1.0" "1\.0+ is fun" - - # Test mixing args of different sizes. - gdb_test "printf \"x=%d,y=%f,z=%d\\n\", 5, 6.0, 7" "x=5,y=6\.0+,z=7" - gdb_test "printf \"%x %f, %c %x, %x, %f\\n\", 0xbad, -99.541, 'z',\ -0xfeedface, 0xdeadbeef, 5.0" "bad -99.54\[0-9\]+, z feedface, deadbeef, 5.0+" -} - -# Start with a fresh gdb. - -gdb_exit -gdb_start -gdb_reinitialize_dir $srcdir/$subdir - -gdb_test "print \$pc" "No registers\\." -# FIXME: should also test "print $pc" when there is an execfile but no -# remote debugging target, process or corefile. - -gdb_load ${binfile} - -gdb_test "set print sevenbit-strings" "" -gdb_test "set print address off" "" -gdb_test "set width 0" "" - -if [set_lang_c] then { - gdb_test "p ctable1\[120\]" "120 'x'" - - if [runto_main] then { - test_integer_literals_accepted - test_integer_literals_rejected - test_character_literals_accepted - test_print_all_chars - test_print_repeats_10 - test_print_strings - test_print_int_arrays - test_artificial_arrays - test_print_char_arrays -# We used to do the runto main here. - test_print_string_constants - test_print_array_constants - test_printf - } -} else { - fail "C print command tests suppressed" -} diff --git a/gdb/testsuite/gdb.base/ptype.c b/gdb/testsuite/gdb.base/ptype.c deleted file mode 100644 index 1f3858e2b8b..00000000000 --- a/gdb/testsuite/gdb.base/ptype.c +++ /dev/null @@ -1,301 +0,0 @@ -/* - * Test file with lots of different types, for testing the - * "ptype" command. - */ - -/* - * First the basic C types. - */ - -#if !defined (__STDC__) && !defined (_AIX) -#define signed /**/ -#endif - -char v_char; -signed char v_signed_char; -unsigned char v_unsigned_char; - -short v_short; -signed short v_signed_short; -unsigned short v_unsigned_short; - -int v_int; -signed int v_signed_int; -unsigned int v_unsigned_int; - -long v_long; -signed long v_signed_long; -unsigned long v_unsigned_long; - -float v_float; -double v_double; - -/* - * Now some derived types, which are arrays, functions-returning, - * pointers, structures, unions, and enumerations. - */ - -/**** arrays *******/ - -char v_char_array[2]; -signed char v_signed_char_array[2]; -unsigned char v_unsigned_char_array[2]; - -short v_short_array[2]; -signed short v_signed_short_array[2]; -unsigned short v_unsigned_short_array[2]; - -int v_int_array[2]; -signed int v_signed_int_array[2]; -unsigned int v_unsigned_int_array[2]; - -long v_long_array[2]; -signed long v_signed_long_array[2]; -unsigned long v_unsigned_long_array[2]; - -float v_float_array[2]; -double v_double_array[2]; - -/**** pointers *******/ - -char *v_char_pointer; -signed char *v_signed_char_pointer; -unsigned char *v_unsigned_char_pointer; - -short *v_short_pointer; -signed short *v_signed_short_pointer; -unsigned short *v_unsigned_short_pointer; - -int *v_int_pointer; -signed int *v_signed_int_pointer; -unsigned int *v_unsigned_int_pointer; - -long *v_long_pointer; -signed long *v_signed_long_pointer; -unsigned long *v_unsigned_long_pointer; - -float *v_float_pointer; -double *v_double_pointer; - -/**** structs *******/ - -struct t_struct { - char v_char_member; - short v_short_member; - int v_int_member; - long v_long_member; - float v_float_member; - double v_double_member; -} v_struct1; - -struct t_struct *v_t_struct_p; - -struct { - char v_char_member; - short v_short_member; - int v_int_member; - long v_long_member; - float v_float_member; - double v_double_member; -} v_struct2; - -/* typedef'd struct without a tag. */ -typedef struct { - double v_double_member; - int v_int_member; -} t_struct3; -/* GCC seems to want a variable of this type, or else it won't put out - a symbol. */ -t_struct3 v_struct3; - -/**** unions *******/ - -union t_union { - char v_char_member; - short v_short_member; - int v_int_member; - long v_long_member; - float v_float_member; - double v_double_member; -} v_union; - -union { - char v_char_member; - short v_short_member; - int v_int_member; - long v_long_member; - float v_float_member; - double v_double_member; -} v_union2; - -/* typedef'd union without a tag. */ -typedef union { - double v_double_member; - int v_int_member; -} t_union3; -/* GCC seems to want a variable of this type, or else it won't put out - a symbol. */ -t_union3 v_union3; - -/*** Functions returning type ********/ - -char v_char_func () { return(0); } -signed char v_signed_char_func () { return (0); } -unsigned char v_unsigned_char_func () { return (0); } - -short v_short_func () { return (0); } -signed short v_signed_short_func () { return (0); } -unsigned short v_unsigned_short_func () { return (0); } - -int v_int_func () { return (0); } -signed int v_signed_int_func () { return (0); } -unsigned int v_unsigned_int_func () { return (0); } - -long v_long_func () { return (0); } -signed long v_signed_long_func () { return (0); } -unsigned long v_unsigned_long_func () { return (0); } - -float v_float_func () { return (0.0); } -double v_double_func () { return (0.0); } - -/**** Some misc more complicated things *******/ - -struct link { - struct link *next; -#ifdef __STDC__ - struct link *(*linkfunc) (struct link *this, int flags); -#else - struct link *(*linkfunc) (); -#endif - struct t_struct stuff[1][2][3]; -} *s_link; - -union tu_link { - struct link *next; -#ifdef __STDC__ - struct link *(*linkfunc) (struct link *this, int flags); -#else - struct link *(*linkfunc) (); -#endif - struct t_struct stuff[1][2][3]; -} u_link; - -struct outer_struct { - int outer_int; - struct inner_struct { - int inner_int; - long inner_long; - }inner_struct_instance; - union inner_union { - int inner_union_int; - long inner_union_long; - }inner_union_instance; - long outer_long; -} nested_su; - -/**** Enumerations *******/ - -enum -/* Work around the bug for compilers which don't put out the right stabs. */ -#if __GNUC__ < 2 && !defined (_AIX) -primary1_tag -#endif -{red1, green1, blue1} primary1; - -enum {red, green, blue} primary; -enum colors {yellow, purple, pink} nonprimary; - -enum {chevy, ford} clunker; -enum cars {bmw, porsche} sportscar; - -typedef enum {FALSE, TRUE} boolean; -boolean v_boolean; -typedef enum bvals {false, true} boolean2; - -enum misordered {two = 2, one = 1, zero = 0, three = 3}; - -/***********/ - -main () -{ - /* Seems like we need a variable of this type to get the type to be put - in the executable, at least for AIX xlc. */ - enum misordered v_misordered = three; - - /* Some of the tests in ptype.exp require invoking malloc, so make - sure it is linked in to this program. */ - v_char_pointer = (char *) malloc (1); - - /* Some linkers (e.g. on AIX) remove unreferenced variables, - so make sure to reference them. */ - primary = blue; - primary1 = blue1; - nonprimary = pink; - sportscar = porsche; - clunker = ford; - v_struct1.v_int_member = 5; - v_struct2.v_int_member = 6; - v_struct3.v_int_member = 7; - - v_char = 0; - v_signed_char = 0; - v_unsigned_char = 0; - - v_short = 0; - v_signed_short = 0; - v_unsigned_short = 0; - - v_int = 0; - v_signed_int = 0; - v_unsigned_int = 0; - - v_long = 0; - v_signed_long = 0; - v_unsigned_long = 0; - - v_float = 0; - v_double = 0; - - v_char_array[0] = 0; - v_signed_char_array[0] = 0; - v_unsigned_char_array[0] = 0; - - v_short_array[0] = 0; - v_signed_short_array[0] = 0; - v_unsigned_short_array[0] = 0; - - v_int_array[0] = 0; - v_signed_int_array[0] = 0; - v_unsigned_int_array[0] = 0; - - v_long_array[0] = 0; - v_signed_long_array[0] = 0; - v_unsigned_long_array[0] = 0; - - v_float_array[0] = 0; - v_double_array[0] = 0; - - v_char_pointer = 0; - v_signed_char_pointer = 0; - v_unsigned_char_pointer = 0; - - v_short_pointer = 0; - v_signed_short_pointer = 0; - v_unsigned_short_pointer = 0; - - v_int_pointer = 0; - v_signed_int_pointer = 0; - v_unsigned_int_pointer = 0; - - v_long_pointer = 0; - v_signed_long_pointer = 0; - v_unsigned_long_pointer = 0; - - v_float_pointer = 0; - v_double_pointer = 0; - - nested_su.outer_int = 0; - v_t_struct_p = 0; - - v_boolean = FALSE; -} diff --git a/gdb/testsuite/gdb.base/ptype.exp b/gdb/testsuite/gdb.base/ptype.exp deleted file mode 100644 index 9d7fa2c7794..00000000000 --- a/gdb/testsuite/gdb.base/ptype.exp +++ /dev/null @@ -1,533 +0,0 @@ -# Copyright (C) 1988, 1990, 1991, 1992, 1994, 1997 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - -# Please email any bugs, comments, and/or additions to this file to: -# bug-gdb@prep.ai.mit.edu - -# This file was written by Rob Savoye. (rob@cygnus.com) - -if $tracelevel then { - strace $tracelevel - } - -# -# test running programs -# -set prms_id 0 -set bug_id 0 - -set testfile "ptype" -set srcfile ${testfile}.c -set binfile ${objdir}/${subdir}/${testfile} -if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug}] != "" } { - perror "Couldn't compile ${srcfile}" - return -1 -} - -# Create and source the file that provides information about the compiler -# used to compile the test case. -if [get_compiler_info ${binfile}] { - return -1; -} - -gdb_exit -gdb_start -gdb_reinitialize_dir $srcdir/$subdir -gdb_load ${binfile} - -# Test ptype of unnamed enumeration members before any action causes -# the partial symbol table to be expanded to full symbols. This fails -# with stabs compilers which fail to use a nameless stab (such as -# pre-2.4.5 versions of gcc and most non-gcc compilers). - -send_gdb "ptype red1\n" -gdb_expect { - -re "type = enum primary1_tag \{red1, green1, blue1\}.*$gdb_prompt $"\ - { - # The workaround is in effect. As this is a compiler, not GDB, - # bug, we'll make it a PASS but perhaps it should be an XFAIL. - pass "ptype unnamed enumeration member (worked around)" - } - -re "type = enum \{red1, green1, blue1\}.*$gdb_prompt $"\ - { pass "ptype unnamed enumeration member" } - -re ".*$gdb_prompt $" { fail "ptype unnamed enumeration member" } - timeout { fail "(timeout) ptype unnamed enumeration member" } -} - -# -# test ptype command with structures -# -# Here and elsewhere, we accept -# "long", "long int", or "int" for long variables (whatis.exp already -# has an XFAIL for "int" (Sun cc bug), so no need to fail it here). -gdb_test "ptype struct t_struct" "type = struct t_struct \{.*\[\r\n\] (unsigned |)char v_char_member;.*\[\r\n\] (short|short int) v_short_member;.*\[\r\n\] int v_int_member;.*\[\r\n\] (long|long int|int) v_long_member;.*\[\r\n\] float v_float_member;.*\[\r\n\] double v_double_member;.*\[\r\n\]\}.*" "ptype structure" - - -# Test the equivalence between '.' and '->' for struct member references. - -if [gdb_test "ptype v_struct1.v_float_member" "type = float"]<0 then { - return -1 -} -if [gdb_test "ptype v_struct1->v_float_member" "type = float"]<0 then { - return -1 -} -if [gdb_test "ptype v_t_struct_p.v_float_member" "type = float"]<0 then { - return -1 -} -if [gdb_test "ptype v_t_struct_p->v_float_member" "type = float"]<0 then { - return -1 -} - - -# IBM's xlc puts out bogus stabs--the stuff field is type 42, -# which isn't defined. - -gdb_test "ptype struct link" "type = struct link \{.*\[\r\n\] struct link \[*\]next;.*\[\r\n\] struct link \[*(\]+linkfunc\[)(\]+(struct link \[*\], int\[)\]|);.*\[\r\n\] struct t_struct stuff.1..2..3.;.*\[\r\n\]\}.*" "ptype linked list structure" - -# -# test ptype command with unions -# -gdb_test "ptype union t_union" "type = union t_union \{.*\[\r\n\] (unsigned |)char v_char_member;.*\[\r\n\] (short|short int) v_short_member;.*\[\r\n\] int v_int_member;.*\[\r\n\] (long|long int|int) v_long_member;.*\[\r\n\] float v_float_member;.*\[\r\n\] double v_double_member;.*\[\r\n\]\}.*" "ptype union" - -# IBM's xlc puts out bogus stabs--the stuff field is type 42, -# which isn't defined. -gdb_test "ptype union tu_link" "type = union tu_link .*\[\r\n\] struct link \[*\]next;.*\[\r\n\] struct link \[(\*\]+linkfunc\[)(\]+(struct link \[*\], int\[)\]|);.*\[\r\n\] struct t_struct stuff.1..2..3.;.*\[\r\n\]\}.*" "ptype linked list union" - -# -# test ptype command with enums -# - -gdb_test "ptype primary" "type = enum .red, green, blue.*" "ptype unnamed enumeration" - -gdb_test "ptype enum colors" "type = enum colors \{yellow, purple, pink\}.*" "ptype named enumeration" - - -# -# test ptype command with enums as typedef -# -gdb_test "ptype boolean" "type = enum \{FALSE, TRUE\}.*" "ptype unnamed typedef'd enumeration" - -# And check that whatis shows the name, not "enum {...}". -# This probably fails for all DWARF 1 cases, so assume so for now. -fnf -# The problem with xlc is that the stabs look like -# :t51=eFALSE:0,TRUE:1,; -# boolean:t55=51 -# v_boolean:G51 -# GDB's behavior is correct; the type which the variable is defined -# as (51) doesn't have a name. Only 55 has a name. - -if {!$gcc_compiled} then { setup_xfail "rs6000-*-*" "i*86-*-sysv4*" } -setup_xfail_format "DWARF 1" -gdb_test "whatis v_boolean" "type = boolean" \ - "whatis unnamed typedef'd enum (compiler bug in IBM's xlc)" - -# Same thing with struct and union. -gdb_test "ptype t_struct3" "type = struct \{.* - *double v_double_member;.* - *int v_int_member;.*\}" "printing typedef'd struct" - -gdb_test "ptype t_union3" "type = union \{.* - *double v_double_member;.* - *int v_int_member;.*\}" "printing typedef'd union" - -gdb_test "ptype enum bvals" "type = enum bvals \{false, true\}.*" "ptype named typedef'd enumf'd enum" - -# -# test ptype command with out-of-order enum values -# -gdb_test "ptype enum misordered" "type = enum misordered \{two = 2, one = 1, zero = 0, three = 3\}.*" "ptype misordered enumeration" - -# -# test ptype command with a named enum's value -# -gdb_test "ptype three" "type = enum misordered \{two = 2, one = 1, zero = 0, three = 3\}.*" "ptype named enumeration member" - -gdb_test "ptype red" "type = enum \{red, green, blue\}.*" "ptype unnamed enumeration member" - -# -# test ptype command with basic C types -# -# I've commented most of this out because it duplicates tests in whatis.exp. -# I've just left in a token test or 2 which is designed to test that ptype -# acts like whatis for basic types. If it is thought to be necessary to -# test both whatis and ptype for all the types, the tests should be -# merged into whatis.exp, or else maintenance will be a royal pain -kingdon -#setup_xfail "i960-*-*" 1821 -#setup_xfail "mips-idt-*" "mips-sgi-*" "a29k-*-*" -#send "ptype v_char\n" -#gdb_expect { -# -re "type = char.*$gdb_prompt $" { pass "ptype char" } -# -re ".*$gdb_prompt $" { fail "ptype char" } -# timeout { fail "(timeout) ptype char" } -#} -# -# -#setup_xfail "mips-*-*" "a29k-*-*" -#send "ptype v_signed_char\n" -#gdb_expect { -# -re "type = signed char.*$gdb_prompt $" { pass "ptype signed char" } -# -re ".*$gdb_prompt $" { fail "ptype signed char" } -# timeout { fail "(timeout) ptype signed char" } -#} -# -# -#send "ptype v_unsigned_char\n" -#gdb_expect { -# -re "type = unsigned char.*$gdb_prompt $" { pass "ptype unsigned char" } -# -re ".*$gdb_prompt $" { fail "ptype unsigned char" } -# timeout { fail "(timeout) ptype unsigned char" } -#} - -gdb_test "ptype v_short" "type = short(| int).*" "ptype short" - -#send "ptype v_signed_short\n" -#gdb_expect { -# -re "type = short.*$gdb_prompt $" { pass "ptype signed short" } -# -re ".*$gdb_prompt $" { fail "ptype signed short" } -# timeout { fail "(timeout) ptype signed short" } -#} -# -# -#send "ptype v_unsigned_short\n" -#gdb_expect { -# -re "type = unsigned short.*$gdb_prompt $" { pass "ptype unsigned short" } -# -re ".*$gdb_prompt $" { fail "ptype unsigned short" } -# timeout { fail "(timeout) ptype unsigned short" } -#} - - -gdb_test "ptype v_int" "type = int.*" "ptype int" - -#send "ptype v_signed_int\n" -#gdb_expect { -# -re "type = int.*$gdb_prompt $" { pass "ptype signed int" } -# -re ".*$gdb_prompt $" { fail "ptype signed int" } -# timeout { fail "(timeout) ptype signed int" } -#} -# -# -#send "ptype v_unsigned_int\n" -#gdb_expect { -# -re "type = unsigned int.*$gdb_prompt $" { pass "ptype unsigned int" } -# -re ".*$gdb_prompt $" { fail "ptype unsigned int" } -# timeout { fail "(timeout) ptype unsigned int" } -#} -# -# -#send "ptype v_long\n" -#gdb_expect { -# -re "type = long.*$gdb_prompt $" { pass "ptype long" } -# -re ".*$gdb_prompt $" { fail "ptype long" } -# timeout { fail "(timeout) ptype long" } -#} -# -# -#send "ptype v_signed_long\n" -#gdb_expect { -# -re "type = long.*$gdb_prompt $" { pass "ptype signed long" } -# -re ".*$gdb_prompt $" { fail "ptype signed long" } -# timeout { fail "(timeout) ptype signed long" } -#} -# -# -#send "ptype v_unsigned_long\n" -#gdb_expect { -# -re "type = unsigned long.*$gdb_prompt $" { pass "ptype unsigned long" } -# -re ".*$gdb_prompt $" { fail "ptype unsigned long" } -# timeout { fail "(timeout) ptype unsigned long" } -#} -# -# -#send "ptype v_float\n" -#gdb_expect { -# -re "type = float.*$gdb_prompt $" { pass "ptype float" } -# -re ".*$gdb_prompt $" { fail "ptype float" } -# timeout { fail "(timeout) ptype float" } -#} -# -# -#send "ptype v_double\n" -#gdb_expect { -# -re "type = double.*$gdb_prompt $" { pass "ptype double" } -# -re ".*$gdb_prompt $" { fail "ptype double" } -# timeout { fail "(timeout) ptype double" } -#} - - -# -# test ptype command with arrays -# -#setup_xfail "i960-*-*" 1821 -#setup_xfail "mips-idt-*" "mips-sgi-*" "a29k-*-*" -#send "ptype v_char_array\n" -#gdb_expect { -# -re "type = char .2..*$gdb_prompt $" { pass "ptype char array" } -# -re ".*$gdb_prompt $" { fail "ptype char array" } -# timeout { fail "(timeout) ptype char array" } -#} -# -# -#setup_xfail "mips-*-*" "a29k-*-*" -#send "ptype v_signed_char_array\n" -#gdb_expect { -# -re "type = (|signed )char .2..*$gdb_prompt $" { pass "ptype signed char array" } -# -re ".*$gdb_prompt $" { fail "ptype signed char array" } -# timeout { fail "(timeout) ptype signed char array" } -#} -# -# -#send "ptype v_unsigned_char_array\n" -#gdb_expect { -# -re "type = unsigned char .2..*$gdb_prompt $" { pass "ptype unsigned char array" } -# -re ".*$gdb_prompt $" { fail "ptype unsigned char array" } -# timeout { fail "(timeout) ptype unsigned char array" } -#} -# -# -# -#send "ptype v_int_array\n" -#gdb_expect { -# -re "type = int .2..*$gdb_prompt $" { pass "ptype int array" } -# -re ".*$gdb_prompt $" { fail "ptype int array" } -# timeout { fail "(timeout) ptype int array" } -#} -# -# -#send "ptype v_signed_int_array\n" -#gdb_expect { -# -re "type = int .2..*$gdb_prompt $" { pass "ptype signed int array" } -# -re ".*$gdb_prompt $" { fail "ptype signed int array" } -# timeout { fail "(timeout) ptype signed int array" } -#} -# -# -#send "ptype v_unsigned_int_array\n" -#gdb_expect { -# -re "type = unsigned int .2..*$gdb_prompt $" { pass "ptype unsigned int array" } -# -re ".*$gdb_prompt $" { fail "ptype unsigned int array" } -# timeout { fail "(timeout) ptype unsigned int array" } -#} -# -# -#send "ptype v_long_array\n" -#gdb_expect { -# -re "type = (long|int|long int) .2..*$gdb_prompt $" { -# pass "ptype long array" } -# -re ".*$gdb_prompt $" { fail "ptype long array" } -# timeout { fail "(timeout) ptype long array" } -#} -# -# -#send "ptype v_signed_long_array\n" -#gdb_expect { -# -re "type = (long|int|long int) .2..*$gdb_prompt $" { -# pass "ptype signed long array" } -# -re ".*$gdb_prompt $" { fail "ptype signed long array" } -# timeout { fail "(timeout) ptype signed long array" } -#} -# -# -#send "ptype v_unsigned_long_array\n" -#gdb_expect { -# -re "type = unsigned long .2..*$gdb_prompt $" { pass "ptype unsigned long array" } -# -re ".*$gdb_prompt $" { fail "ptype unsigned long array" } -# timeout { fail "(timeout) ptype unsigned long array" } -#} -# -# -#send "ptype v_float_array\n" -#gdb_expect { -# -re "type = float .2..*$gdb_prompt $" { pass "ptype float array" } -# -re ".*$gdb_prompt $" { fail "ptype float array" } -# timeout { fail "(timeout) ptype float array" } -#} -# -# -#send "ptype v_double_array\n" -#gdb_expect { -# -re "type = double .2..*$gdb_prompt $" { pass "ptype double array" } -# -re ".*$gdb_prompt $" { fail "ptype double array" } -# timeout { fail "(timeout) ptype double array" } -#} -# - -if {!$gcc_compiled} then { setup_xfail "rs6000-*-*" "i*86-*-sysv4*" } -setup_xfail_format "DWARF 1" -gdb_test "ptype t_char_array" "type = (|unsigned )char \\\[0?\\\]" - -# -## -## test ptype command with pointers -## -#setup_xfail "i960-*-*" 1821 -#setup_xfail "mips-idt-*" "mips-sgi-*" "a29k-*-*" -#send "ptype v_char_pointer\n" -#gdb_expect { -# -re "type = char \*.*$gdb_prompt $" { pass "ptype char pointer" } -# -re ".*$gdb_prompt $" { fail "ptype char pointer" } -# timeout { fail "(timeout) ptype char pointer" } -#} -# -# -#setup_xfail "mips-*-*" "a29k-*-*" -#send "ptype v_signed_char_pointer\n" -#gdb_expect { -# -re "type = (|signed )char \*.*$gdb_prompt $" -# { pass "ptype signed char pointer" } -# -re ".*$gdb_prompt $" { fail "ptype signed char pointer" } -# timeout { fail "(timeout) ptype signed char pointer" } -#} -# -# -#send "ptype v_unsigned_char_pointer\n" -#gdb_expect { -# -re "type = unsigned char \*.*$gdb_prompt $" { pass "ptype unsigned char pointer" } -# -re ".*$gdb_prompt $" { fail "ptype unsigned char pointer" } -# timeout { fail "(timeout) ptype unsigned char pointer" } -#} -# -# -#send "ptype v_short_pointer\n" -#gdb_expect { -# -re "type = (short|short int) \*.*$gdb_prompt $" { pass "ptype short pointer" } -# -re ".*$gdb_prompt $" { fail "ptype short pointer" } -# timeout { fail "(timeout) ptype short pointer" } -#} -# -# -#send "ptype v_signed_short_pointer\n" -#gdb_expect { -# -re "type = short \*.*$gdb_prompt $" { pass "ptype signed short pointer" } -# -re ".*$gdb_prompt $" { fail "ptype signed short pointer" } -# timeout { fail "(timeout) ptype signed short pointer" } -#} -# -# -#send "ptype v_unsigned_short_pointer\n" -#gdb_expect { -# -re "type = unsigned short \*.*$gdb_prompt $" { pass "ptype unsigned short pointer" } -# -re ".*$gdb_prompt $" { fail "ptype unsigned short pointer" } -# timeout { fail "(timeout) ptype unsigned short pointer" } -#} -# -# -#send "ptype v_int_pointer\n" -#gdb_expect { -# -re "type = int \*.*$gdb_prompt $" { pass "ptype int pointer" } -# -re ".*$gdb_prompt $" { fail "ptype int pointer" } -# timeout { fail "(timeout) ptype int pointer" } -#} -# -# -#send "ptype v_signed_int_pointer\n" -#gdb_expect { -# -re "type = int \*.*$gdb_prompt $" { pass "ptype signed int pointer" } -# -re ".*$gdb_prompt $" { fail "ptype signed int pointer" } -# timeout { fail "(timeout) ptype signed int pointer" } -#} -# -# -#send "ptype v_unsigned_int_pointer\n" -#gdb_expect { -# -re "type = unsigned int \*.*$gdb_prompt $" { pass "ptype unsigned int pointer" } -# -re ".*$gdb_prompt $" { fail "ptype unsigned int pointer" } -# timeout { fail "(timeout) ptype unsigned int pointer" } -#} -# -# -#send "ptype v_long_pointer\n" -#gdb_expect { -# -re "type = long \*.*$gdb_prompt $" { pass "ptype long pointer" } -# -re ".*$gdb_prompt $" { fail "ptype long pointer" } -# timeout { fail "(timeout) ptype long pointer" } -#} -# -# -#send "ptype v_signed_long_pointer\n" -#gdb_expect { -# -re "type = long \*.*$gdb_prompt $" { pass "ptype signed long pointer" } -# -re ".*$gdb_prompt $" { fail "ptype signed long pointer" } -# timeout { fail "(timeout) ptype signed long pointer" } -#} -# -# -#send "ptype v_unsigned_long_pointer\n" -#gdb_expect { -# -re "type = unsigned long \*.*$gdb_prompt $" { pass "ptype unsigned long pointer" } -# -re ".*$gdb_prompt $" { fail "ptype unsigned long pointer" } -# timeout { fail "(timeout) ptype unsigned long pointer" } -#} -# -# -#send "ptype v_float_pointer\n" -#gdb_expect { -# -re "type = float \*.*$gdb_prompt $" { pass "ptype float pointer" } -# -re ".*$gdb_prompt $" { fail "ptype float pointer" } -# timeout { fail "(timeout) ptype float pointer" } -#} -# -# -#send "ptype v_double_pointer\n" -#gdb_expect { -# -re "type = double \*.*$gdb_prompt $" { pass "ptype double pointer" } -# -re ".*$gdb_prompt $" { fail "ptype double pointer" } -# timeout { fail "(timeout) ptype double pointer" } -#} - -# -# test ptype command with nested structure and union -# -gdb_test "ptype struct outer_struct" "type = struct outer_struct \{.*\[\r\n\] int outer_int;.*\[\r\n\] struct inner_struct inner_struct_instance;.*\[\r\n\] union inner_union inner_union_instance;.*\[\r\n\] (long|long int|int) outer_long;.*\[\r\n\]\}.*" "ptype outer structure" - -gdb_test "ptype struct inner_struct" "type = struct inner_struct \{.*\[\r\n\] int inner_int;.*\[\r\n\] (long|long int|int) inner_long;.*\[\r\n\]\}.*" "ptype inner structure" - -gdb_test "ptype union inner_union" "type = union inner_union \{.*\[\r\n\] int inner_union_int;.*\[\r\n\] (long|long int|int) inner_union_long;.*\[\r\n\]\}.*" "ptype inner union" - -gdb_test "ptype nested_su" "type = struct outer_struct \{.*\[\r\n\] int outer_int;.*\[\r\n\] struct inner_struct inner_struct_instance;.*\[\r\n\] union inner_union inner_union_instance;.*\[\r\n\] (long|long int|int) outer_long;.*\[\r\n\]\}.*" "ptype nested structure" - -gdb_test "ptype nested_su.outer_int" "type = int.*" "ptype outer int" - -gdb_test "ptype nested_su.inner_struct_instance" "type = struct inner_struct \{.*\[\r\n\] int inner_int;.*\[\r\n\] (long|long int|int) inner_long;.*\[\r\n\]\}.*" "ptype nested structure" - -gdb_test "ptype nested_su.inner_struct_instance.inner_int" "type = int.*" "ptype inner int" - -gdb_test "ptype nested_su.inner_union_instance" "type = union inner_union \{.*\[\r\n\] int inner_union_int;.*\[\r\n\] (long|long int|int) inner_union_long;.*\[\r\n\]\}.*" "ptype nested union" - -# Test printing type of string constants and array constants, but -# requires a running process. These call malloc, and can take a long -# time to execute over a slow serial link, so increase the timeout. - -# UDI can't do this (PR 2416). XFAIL is not suitable, because attempting -# the operation causes a slow painful death rather than a nice simple failure. - -if [runto_main] then { - - get_debug_format - if [target_info exists gdb,cannot_call_functions] { - setup_xfail "*-*-*" 2416 - fail "This target can not call functions" - continue - } - - gdb_test "ptype \"abc\"" "type = char \\\[4\\\]" - gdb_test "ptype {'a','b','c'}" "type = char \\\[3\\\]" - gdb_test "ptype {0,1,2}" "type = int \\\[3\\\]" - gdb_test "ptype {(long)0,(long)1,(long)2}" "type = long \\\[3\\\]" - gdb_test "ptype {(float)0,(float)1,(float)2}" "type = float \\\[3\\\]" - gdb_test "ptype {{0,1,2},{3,4,5}}" "type = int \\\[2\\\]\\\[3\\\]" - gdb_test "ptype {4,5,6}\[2\]" "type = int" - gdb_test "ptype *&{4,5,6}\[1\]" "type = int" -} diff --git a/gdb/testsuite/gdb.base/radix.exp b/gdb/testsuite/gdb.base/radix.exp deleted file mode 100644 index ae288d02de4..00000000000 --- a/gdb/testsuite/gdb.base/radix.exp +++ /dev/null @@ -1,185 +0,0 @@ -# Copyright (C) 1993 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ - -# Please email any bugs, comments, and/or additions to this file to: -# bug-gdb@prep.ai.mit.edu - -# This file was written by Fred Fish. (fnf@cygnus.com) - -if $tracelevel then { - strace $tracelevel -} - -set prms_id 0 -set bug_id 0 - -proc test_input_radix_2 {} { - gdb_test "set radix" \ - "Input and output radices now set to decimal 10, hex a, octal 12." - gdb_test "set input-radix 2" \ - "Input radix now set to decimal 2, hex 2, octal 2." - gdb_test "show radix" \ - "Input radix set to decimal 2, hex 2, octal 2.\r\nOutput radix set to decimal 10, hex a, octal 12." - gdb_test "p 010" "8" - gdb_test "p 20." "20" - gdb_test "p (int) 20." "20" - gdb_test "p 0xf" "15" - gdb_test "p 10" "2" - gdb_test "p -101" "-5" - gdb_test "p 101" "5" - gdb_test "p 10101" "21" - gdb_test "p 4" "Invalid number \"4\"" - gdb_test "p -2" "Invalid number \"2\"" -} - -# Test input radix 3 (an non-typical radix) - -proc test_input_radix_3 {} { - gdb_test "set radix" \ - "Input and output radices now set to decimal 10, hex a, octal 12." - gdb_test "set input-radix 3" \ - "Input radix now set to decimal 3, hex 3, octal 3." - gdb_test "show radix" \ - "Input radix set to decimal 3, hex 3, octal 3.\r\nOutput radix set to decimal 10, hex a, octal 12." - gdb_test "p 010" "8" - gdb_test "p 20." "20" - gdb_test "p (int) 20." "20" - gdb_test "p 0xf" "15" - gdb_test "p 10" "3" - gdb_test "p 0" "0" - gdb_test "p 1" "1" - gdb_test "p 2" "2" - gdb_test "p 10" "3" - gdb_test "p 20" "6" - gdb_test "p 100" "9" - gdb_test "p -100" "-9" - gdb_test "p 3" "Invalid number \"3\"." - gdb_test "p 30" "Invalid number \"30\"." -} - -proc test_input_radix_8 {} { - gdb_test "set radix" \ - "Input and output radices now set to decimal 10, hex a, octal 12." - gdb_test "set input-radix 8" \ - "Input radix now set to decimal 8, hex 8, octal 10." - gdb_test "show radix" \ - "Input radix set to decimal 8, hex 8, octal 10.\r\nOutput radix set to decimal 10, hex a, octal 12." - gdb_test "p 010" "8" - gdb_test "p 20." "20" - gdb_test "p (int) 20." "20" - gdb_test "p 0xf" "15" - gdb_test "p 10" "8" - gdb_test "p 20" "16" - gdb_test "p -20" "-16" - gdb_test "p 100" "64" - gdb_test "p 8" "Invalid number \"8\"." - gdb_test "p -9" "Invalid number \"9\"." -} - -proc test_input_radix_10 {} { - gdb_test "set radix" \ - "Input and output radices now set to decimal 10, hex a, octal 12." - gdb_test "set input-radix 10" \ - "Input radix now set to decimal 10, hex a, octal 12." - gdb_test "show radix" \ - "Input and output radices set to decimal 10, hex a, octal 12." - gdb_test "p 010" "8" - gdb_test "p 20." "20" - gdb_test "p (int) 20." "20" - gdb_test "p 0xf" "15" - gdb_test "p 10" "10" - gdb_test "p -12" "-12" -} - -proc test_input_radix_16 {} { - gdb_test "set radix" \ - "Input and output radices now set to decimal 10, hex a, octal 12." - gdb_test "set input-radix 16" \ - "Input radix now set to decimal 16, hex 10, octal 20." - gdb_test "show radix" \ - "Input radix set to decimal 16, hex 10, octal 20.\r\nOutput radix set to decimal 10, hex a, octal 12." - gdb_test "p 010" "8" - gdb_test "p 20." "20" - gdb_test "p (int) 20." "20" - gdb_test "p 0xf" "15" - gdb_test "p 10" "16" - gdb_test "p 100" "256" -} - -proc test_output_radix_8 {} { - gdb_test "set radix" \ - "Input and output radices now set to decimal 10, hex a, octal 12." - gdb_test "set output-radix 8" \ - "Output radix now set to decimal 8, hex 8, octal 10." - gdb_test "show radix" \ - "Input radix set to decimal 10, hex a, octal 12.\r\nOutput radix set to decimal 8, hex 8, octal 10." - gdb_test "p 010" "010" - # FIXME: If gdb can't handle float printing in different radices, it - # should at least warn once the first time that is attempted. - setup_xfail "*-*-*" - gdb_test "p 20." "24" "Float printing when output radix is 8" - gdb_test "p (int) 20." "24" - gdb_test "p 0xf" "17" - gdb_test "p 10" "12" - gdb_test "p 100" "144" -} - -proc test_output_radix_10 {} { - gdb_test "set radix" \ - "Input and output radices now set to decimal 10, hex a, octal 12." - gdb_test "set output-radix 10" \ - "Output radix now set to decimal 10, hex a, octal 12." - gdb_test "show radix" \ - "Input and output radices set to decimal 10, hex a, octal 12." - gdb_test "p 010" "8" - gdb_test "p 20." "20" - gdb_test "p (int) 20." "20" - gdb_test "p 0xf" "15" - gdb_test "p 10" "10" - gdb_test "p 100" "100" -} - -proc test_output_radix_16 {} { - gdb_test "set radix" \ - "Input and output radices now set to decimal 10, hex a, octal 12." - gdb_test "set output-radix 16" \ - "Output radix now set to decimal 16, hex 10, octal 20." - gdb_test "show radix" \ - "Input radix set to decimal 10, hex a, octal 12.\r\nOutput radix set to decimal 16, hex 10, octal 20." - gdb_test "p 010" "8" - # FIXME: If gdb can't handle float printing in different radices, it - # should at least warn once the first time that is attempted. - setup_xfail "*-*-*" - gdb_test "p 20." "14" "Float printing when output radix is 16" - gdb_test "p (int) 20." "14" - gdb_test "p 0xf" "f" - gdb_test "p 10" "a" - gdb_test "p 100" "64" -} - -# Start with a fresh gdb. - -gdb_exit -gdb_start - -test_input_radix_2 -test_input_radix_3 -test_input_radix_8 -test_input_radix_10 -test_input_radix_16 -test_output_radix_8 -test_output_radix_10 -test_output_radix_16 diff --git a/gdb/testsuite/gdb.base/recurse.c b/gdb/testsuite/gdb.base/recurse.c deleted file mode 100644 index 6ae93a5dd95..00000000000 --- a/gdb/testsuite/gdb.base/recurse.c +++ /dev/null @@ -1,21 +0,0 @@ -/* Trivial code used to test watchpoints in recursive code and - auto-deletion of watchpoints as they go out of scope. */ - -static int -recurse (a) - int a; -{ - int b = 0; - - if (a == 1) - return 1; - - b = a; - b *= recurse (a - 1); - return b; -} - -main() -{ - recurse (10); -} diff --git a/gdb/testsuite/gdb.base/recurse.exp b/gdb/testsuite/gdb.base/recurse.exp deleted file mode 100644 index 68524a9f257..00000000000 --- a/gdb/testsuite/gdb.base/recurse.exp +++ /dev/null @@ -1,141 +0,0 @@ -# Copyright (C) 1992, 1996 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ - -# Please email any bugs, comments, and/or additions to this file to: -# bug-gdb@prep.ai.mit.edu - -# This file was written by Jeff Law. (law@cs.utah.edu) - -if $tracelevel then { - strace $tracelevel -} - -set prms_id 0 -set bug_id 0 - -set testfile "recurse" -set srcfile ${testfile}.c -set binfile ${objdir}/${subdir}/${testfile} -if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug}] != "" } { - perror "Couldn't compile ${srcfile}" - return -1 -} - -# Start with a fresh gdb. - -gdb_exit -gdb_start -gdb_reinitialize_dir $srcdir/$subdir -gdb_load ${binfile} - -proc recurse_tests {} { - - if [runto recurse] then { - # First we need to step over the assignment of b, so it has a known - # value. - gdb_test "next" "if \\(a == 1\\)" "next over b = 0 in first instance" - gdb_test "watch b" ".*\[Ww\]atchpoint \[0-9]*: b" \ - "set first instance watchpoint" - - # Continue until initial set of b. - if [gdb_test "continue" \ - "Continuing.*\[Ww\]atchpoint.*: b.*Old value = 0.*New value = 10.*" \ - "continue to first instance watchpoint, first time"] then { - return - } - - # Continue inward for a few iterations - gdb_test "continue" "Breakpoint.* recurse \\(a=9\\).*" \ - "continue to recurse (a = 9)" - gdb_test "continue" "Breakpoint.* recurse \\(a=8\\).*" \ - "continue to recurse (a = 8)" - gdb_test "continue" "Breakpoint.* recurse \\(a=7\\).*" \ - "continue to recurse (a = 7)" - gdb_test "continue" "Breakpoint.* recurse \\(a=6\\).*" \ - "continue to recurse (a = 6)" - gdb_test "continue" "Breakpoint.* recurse \\(a=5\\).*" \ - "continue to recurse (a = 5)" - - # Put a watchpoint on another instance of b - # First we need to step over the assignment of b, so it has a known - # value. - gdb_test "next" "if \\(a == 1\\)" "next over b = 0 in second instance" - gdb_test "watch b" ".*\[Ww\]atchpoint \[0-9]*: b" \ - "set second instance watchpoint" - - # Continue until initial set of b (second instance). - if [gdb_test "continue" \ - "Continuing.*\[Ww\]atchpoint.*: b.*Old value = 0.*New value = 5.*"\ - "continue to second instance watchpoint, first time"] then { - return - } - - # Continue inward for a few iterations - gdb_test "continue" "Breakpoint.* recurse \\(a=4\\).*" \ - "continue to recurse (a = 4)" - gdb_test "continue" "Breakpoint.* recurse \\(a=3\\).*" \ - "continue to recurse (a = 3)" - gdb_test "continue" "Breakpoint.* recurse \\(a=2\\).*" \ - "continue to recurse (a = 2)" - gdb_test "continue" "Breakpoint.* recurse \\(a=1\\).*" \ - "continue to recurse (a = 1)" - - # Continue until second set of b (second instance). - if [gdb_test "continue" \ - "Continuing.*\[Ww\]atchpoint.*: b.*Old value = 5.*New value = 120.*return.*" \ - "continue to second instance watchpoint, second time"] then { - return - } - - # Continue again. We should have a watchpoint go out of scope now - if [gdb_test "continue" \ - "Continuing.*\[Ww\]atchpoint.*deleted.*recurse \\(a=6\\) .*" \ - "second instance watchpoint deleted when leaving scope"] then { - return - } - - # Continue until second set of b (first instance). - if [gdb_test "continue" \ - "Continuing.*\[Ww\]atchpoint.*b.*Old value = 10.*New value = 3628800.*return.*" \ - "continue to first instance watchpoint, second time"] then { - return - } - - # Continue again. We should have a watchpoint go out of scope now - if [gdb_test "continue" \ - "Continuing.*\[Ww\]atchpoint.*deleted.*main \\(\\) .*" \ - "first instance watchpoint deleted when leaving scope"] then { - return - } - } -} - -# Only enabled for some targets merely because it has not been tested -# elsewhere. -if {[istarget "sparc*-*-sunos4*"] || [istarget "hppa*-*-bsd*"] || [istarget "sparclet-*-*"] || [istarget "m32r-*-elf"] || [istarget "mn10200-*-*"]} then { - - # Preserve the old timeout, and set a new one that should be - # sufficient to avoid timing out during this test. - set oldtimeout $timeout - set timeout [expr "$timeout + 60"] - verbose "Timeout is now $timeout seconds" 2 - - recurse_tests - - # Restore the preserved old timeout value. - set timeout $oldtimeout - verbose "Timeout is now $timeout seconds" 2 -} diff --git a/gdb/testsuite/gdb.base/regs.exp b/gdb/testsuite/gdb.base/regs.exp deleted file mode 100644 index 91cd69924e2..00000000000 --- a/gdb/testsuite/gdb.base/regs.exp +++ /dev/null @@ -1,85 +0,0 @@ -# Tests of register displays for GDB. -# Copyright 1994, 1995 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ - -# Please email any bugs, comments, and/or additions to this file to: -# bug-gdb@prep.ai.mit.edu - -# This file was written by Stan Shebs. (shebs@cygnus.com) - -# This does not (yet) have an associated executable, since the IDT board -# will display registers even without a program being loaded. -# A more comprehensive register test would actually test reading -# and writing of registers in a real program, although some care -# would be required in the writing of the tests. - -if $tracelevel then { - strace $tracelevel - } - -# These tests exercise IDT-specific MIPS registers for several -# different processor models. - -# This should detect the actual processor in use and change -# the expected results appropriately. FIXME - -proc idt_register_tests { } { - # Test the generic IDT chip. - gdb_test "info registers" ".*" - gdb_test "info register zero" "zero(r0): 0x0;" - # FIXME access each generic register individually - # Test the 3041. - gdb_test "set processor r3041" ".*" - gdb_test "info registers" ".*" - gdb_test "info register bus" "bus.*0x.*" - gdb_test "info register ccfg" "ccfg.*0x.*" - gdb_test "info register port" "port.*0x.*" - gdb_test "info register cmp" "cmp.*0x.*" - gdb_test "info register elo" "elo: invalid register" - gdb_test "info register ehi" "ehi: invalid register" - gdb_test "info register cfg" "cfg: invalid register" - gdb_test "info register ctxt" "ctxt: invalid register" - # Test the 3051. - gdb_test "set processor r3051" ".*" - gdb_test "info registers" ".*" - gdb_test "info register bus" "bus: invalid register" - gdb_test "info register ccfg" "ccfg: invalid register" - gdb_test "info register port" "port: invalid register" - gdb_test "info register cmp" "cmp: invalid register" - gdb_test "info register elo" "elo.*0x.*" - gdb_test "info register ehi" "ehi.*0x.*" - gdb_test "info register cfg" "cfg: invalid register" - gdb_test "info register ctxt" "ctxt: invalid register" - # Test the 3071. - gdb_test "set processor r3071" ".*" - gdb_test "info registers" ".*" - gdb_test "info register bus" "bus: invalid register" - gdb_test "info register ccfg" "ccfg: invalid register" - gdb_test "info register port" "port: invalid register" - gdb_test "info register cmp" "cmp: invalid register" - gdb_test "info register elo" "elo.*0x.*" - gdb_test "info register ehi" "ehi.*0x.*" - gdb_test "info register cfg" "cfg.*0x.*" - gdb_test "info register ctxt" "ctxt.*0x.*" -} - -gdb_exit -gdb_start -gdb_reinitialize_dir $srcdir/$subdir - -if [istarget "mips*-idt-*"] then { - idt_register_tests -} diff --git a/gdb/testsuite/gdb.base/reread.exp b/gdb/testsuite/gdb.base/reread.exp deleted file mode 100644 index 05fc0542238..00000000000 --- a/gdb/testsuite/gdb.base/reread.exp +++ /dev/null @@ -1,115 +0,0 @@ -# Copyright (C) 1998 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - -# Please email any bugs, comments, and/or additions to this file to: -# bug-gdb@prep.ai.mit.edu - -if $tracelevel then { - strace $tracelevel -} - -set prms_id 0 -set bug_id 0 - -set prototypes 1 - -# build the first test case - -set testfile1 "reread1" -set srcfile1 ${testfile1}.c -set binfile1 ${objdir}/${subdir}/${testfile1} - -if { [gdb_compile "${srcdir}/${subdir}/${srcfile1}" "${binfile1}" executable {debug additional_flags=-w}] != "" } { - gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail." -} - -# build the second test case - -set testfile2 "reread2" -set srcfile2 ${testfile2}.c -set binfile2 ${objdir}/${subdir}/${testfile2} - -if { [gdb_compile "${srcdir}/${subdir}/${srcfile2}" "${binfile2}" executable {debug additional_flags=-w}] != "" } { - gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail." -} - -# Start with a fresh gdb. - -set testfile "reread" -set binfile ${objdir}/${subdir}/${testfile} - -gdb_start -gdb_reinitialize_dir $srcdir/$subdir - -set prms_id 13484 -set bug_id 0 - -# Load the first executable. - -gdb_test "shell mv ${binfile1} ${binfile}" "" "" -gdb_load ${binfile} - -# Set a breakpoint at foo - -gdb_test "break foo" \ - "Breakpoint.*at.* file .*$srcfile1, line 14.*" \ - "breakpoint foo in first file" - - -# Run, should see "Breakpoint 1, foo () at hello1.c:14" - -gdb_run_cmd - -gdb_expect { - -re ".*Breakpoint.* foo .* at .*$srcfile1:14.*$gdb_prompt $" { - pass "run to foo()"; - } - -re ".*$gdb_prompt $" { - fail "run to foo()"; - gdb_suppress_tests; - } - timeout { fail "run to foo() (timeout)" ; gdb_suppress_tests } -} - -# Restore first executable to its original name, and move -# second executable into its place. - -gdb_test "shell mv ${binfile} ${binfile1}" "" "" -gdb_test "shell mv ${binfile2} ${binfile}" "" "" -gdb_test "shell touch ${binfile}" "" "" - -# Run a second time; GDB should detect that the executable has changed -# and reset the breakpoints correctly. -# Should see "Breakpoint 1, foo () at reread2.c:9" - -gdb_run_cmd -gdb_expect { -# -re ".*re-reading symbols.*Breakpoint.* foo .* at .*$srcfile2:9.*$gdb_prompt $" {} - -re ".*Breakpoint.* foo .* at .*:9.*$gdb_prompt $" { - pass "run to foo() second time "; - } - -re ".*$gdb_prompt $" { - fail "run to foo() second time"; - gdb_suppress_tests; - } - timeout { fail "run to foo() second time (timeout)" ; gdb_suppress_tests } -} - -# End of tests. - -gdb_stop_suppressing_tests - -return 0 diff --git a/gdb/testsuite/gdb.base/reread1.c b/gdb/testsuite/gdb.base/reread1.c deleted file mode 100644 index ae9801047d4..00000000000 --- a/gdb/testsuite/gdb.base/reread1.c +++ /dev/null @@ -1,26 +0,0 @@ -/* pr 13484 */ - -#include <stdio.h> - -int x; - -void bar() -{ - x--; -} - -void foo() -{ - x++; -} - -int main() -{ -#ifdef usestubs - set_debug_traps (); - breakpoint (); -#endif - foo(); - bar(); - return 0; -} diff --git a/gdb/testsuite/gdb.base/reread2.c b/gdb/testsuite/gdb.base/reread2.c deleted file mode 100644 index fd9f7b7ad64..00000000000 --- a/gdb/testsuite/gdb.base/reread2.c +++ /dev/null @@ -1,21 +0,0 @@ -/* pr 13484 */ - -#include <stdio.h> - -int x; - -void foo() -{ - x++; - printf("This is foo\n"); -} - -int main() -{ -#ifdef usestubs - set_debug_traps (); - breakpoint (); -#endif - foo(); - return 0; -} diff --git a/gdb/testsuite/gdb.base/return.c b/gdb/testsuite/gdb.base/return.c deleted file mode 100644 index 73eee61b7cc..00000000000 --- a/gdb/testsuite/gdb.base/return.c +++ /dev/null @@ -1,26 +0,0 @@ -/* Test "return" command. */ - -func1 () -{ - printf("in func1\n"); -} - -int -func2 () -{ - return -5; -} - -double -func3 () -{ - return -5.0; -} - -main () -{ - func1 (); - printf("in main after func1\n"); - printf("func2 = %d\n", func2 ()); - printf("func3 = %f\n", func3 ()); -} diff --git a/gdb/testsuite/gdb.base/return.exp b/gdb/testsuite/gdb.base/return.exp deleted file mode 100644 index 612cf1e2677..00000000000 --- a/gdb/testsuite/gdb.base/return.exp +++ /dev/null @@ -1,125 +0,0 @@ -# Copyright (C) 1992 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ - -# Please email any bugs, comments, and/or additions to this file to: -# bug-gdb@prep.ai.mit.edu - -# This file was written by Jeff Law. (law@cs.utah.edu) - -if $tracelevel then { - strace $tracelevel -} - -set prms_id 0 -set bug_id 0 - -set testfile "return" -set srcfile ${testfile}.c -set binfile ${objdir}/${subdir}/${testfile} -if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug}] != "" } { - perror "Couldn't compile ${srcfile}" - return -1 -} - -proc return_tests { } { - global prompt - - - if { ! [ runto func1 ] } then { return 0 } - send_gdb "return\n" - expect { - -re "Make .* return now.*y or n. $" { - send_gdb "y\n" - exp_continue - } - -re "func1 ..;.*$prompt $" { - send_gdb "step\n" - exp_continue - } - -re ".*in main after func1.*$prompt $" { pass "simple return" } - -re "$prompt $" { fail "simple return" } - timeout { fail "(timeout) simple return" } - } - - # Set breakpoints in other interesting functions. - gdb_test "break func2" "" "break func2" - gdb_test "break func3" "" "break func3" - - gdb_test "continue" "return -5;" "continue to return of -5" - send_gdb "return 5\n" - expect { - -re "Make .* return now.*y or n. $" { - send_gdb "y\n" - exp_continue - } - -re ".*tmp2 = func2.*$prompt $" { } - -re "$prompt $" { fail "did not return (integer test)" } - timeout { fail "(timeout) did not return (integer test)" } - } - gdb_test "next" "tmp3 = func3.*" "next over call to func2" - - gdb_test "p tmp2" ".* = 5" "correct value returned (integer test)" - - gdb_test "continue" "return -5.0;" "continue to return of -5.0" - send_gdb "return 5.0\n" - expect { - -re "Make .* return now.*y or n. $" { - send_gdb "y\n" - exp_continue - } - -re ".*tmp3 = func3.*$prompt $" { } - -re "$prompt $" { fail "did not return (double test)" } - timeout { fail "(timeout) did not return (double test)" } - } - - gdb_test "next" "printf.*" "next over call to func3" - - # This test is going to fail on all i*86 systems using an i*87. - # When returning a floating point value from a function, all known - # compilers do this via a `fldl' instruction, which pushes the floating - # value on the i387 stack. This causes two problems: - # a) Most i*86 targets do not store (or cannot store, see comment in - # in i386v-nat.c:i386_register_u_addr) the floating point registers - # to the target. - # b) gdb would have to figure out if the `fldl' instruction (or variants - # of it) has already been executed. If not, it would have to simulate - # a push instruction, as it is not enough to write the register, - # the floating point `stack pointer' has to be updated too. - # Do not expect this to get fixed anytime soon. - - # This test also fails for sparc Solaris 2.3 & 2.4, but passes under 2.5 - # At the time the `next' is issued, the floating point unit for the - # process is not yet initialized, and the storing of the floating - # point value to the floating point return register is ignored. - # Xfail it for current versions that are known to fail. Presumably - # if some future version does initialize the floating point unit at - # process start, making this test pass, it will be for a version that - # is not xfailed. - - setup_xfail "i*86-*-*" "sparc-*-solaris2.3*" "sparc-*-solaris2.4*" - gdb_test "p tmp3" ".* = 5.*" "correct value returned double test (known problem with i*86 and sparc solaris" -} - - -# Start with a fresh gdb. - -gdb_exit -gdb_start -gdb_reinitialize_dir $srcdir/$subdir -gdb_load ${binfile} - -set timeout 30 -return_tests diff --git a/gdb/testsuite/gdb.base/run.c b/gdb/testsuite/gdb.base/run.c deleted file mode 100644 index eb17bf39862..00000000000 --- a/gdb/testsuite/gdb.base/run.c +++ /dev/null @@ -1,59 +0,0 @@ -/* - * This simple classical example of recursion is useful for - * testing stack backtraces and such. - */ - -#ifdef vxworks -# include <vxWorks.h> -# include <stdioLib.h> - -/* VxWorks does not supply atoi. */ -static int -atoi (z) - char *z; -{ - int i = 0; - - while (*z >= '0' && *z <= '9') - i = i * 10 + (*z++ - '0'); - return i; -} - -/* I don't know of any way to pass an array to VxWorks. This function - can be called directly from gdb. */ - -vxmain (arg) -char *arg; -{ - char *argv[2]; - - argv[0] = ""; - argv[1] = arg; - main (2, argv, (char **) 0); -} - -#else /* ! vxworks */ -# include <stdio.h> -#endif /* ! vxworks */ - -main (argc, argv, envp) -int argc; -char *argv[], **envp; -{ - if (argc != 2) { - printf ("usage: factorial <number>\n"); - return 1; - } else { - printf ("%d\n", factorial (atoi (argv[1]))); - } - return 0; -} - -int factorial (value) -int value; -{ - if (value > 1) { - value *= factorial (value - 1); - } - return (value); -} diff --git a/gdb/testsuite/gdb.base/scope.exp b/gdb/testsuite/gdb.base/scope.exp deleted file mode 100644 index 9a8292bbfb1..00000000000 --- a/gdb/testsuite/gdb.base/scope.exp +++ /dev/null @@ -1,606 +0,0 @@ -# Copyright (C) 1992, 1994 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ - -# Please email any bugs, comments, and/or additions to this file to: -# bug-gdb@prep.ai.mit.edu - -# This file was written by Fred Fish. (fnf@cygnus.com) - -if $tracelevel then { - strace $tracelevel -} - -set prms_id 0 -set bug_id 0 - -set testfile "scope" -set binfile ${objdir}/${subdir}/${testfile} -if { [gdb_compile "${srcdir}/${subdir}/scope0.c ${srcdir}/${subdir}/scope1.c" "${binfile}" executable {debug}] != "" } { - perror "Couldn't compile scope0.c to object" - return -1 -} - -# Create and source the file that provides information about the compiler -# used to compile the test case. -if [get_compiler_info ${binfile}] { - return -1; -} - -# Test locating various things when stopped just inside main, after -# running init(). To prevent cascading of errors, we report the -# first one and quit. If all pass, then we print the pass results. - -proc test_at_main {} { - global gdb_prompt - global decimal - global det_file - global srcdir - global subdir - global gcc_compiled - - # skip past init. There may be a call to __main at the start of - # main, so the first next may only get us to the init call. - if [gdb_test "next" "$decimal.*foo \\(\\);" "next over init() in main" "$decimal.*init \\(\\);" "next"] { - return ; - } - - - # Print scope0.c::filelocal, which is 1 - - if [gdb_test "print filelocal" "\\\$$decimal = 1" "print filelocal" ] { - return ; - } - - - if [gdb_test "print 'scope0.c'::filelocal" "\\\$$decimal = 1" "print 'scope0.c'::filelocal at main" "No symbol \"scope0.c\" in current context.*" "print '$srcdir/$subdir/scope0.c'::filelocal"] { - return ; - } - - - # Print scope0.c::filelocal_bss, which is 101 - - if [gdb_test "print filelocal_bss" "\\\$$decimal = 101" "print filelocal_bss" ] { - return ; - } - - - if [gdb_test "print 'scope0.c'::filelocal_bss" "\\\$$decimal = 101" "print 'scope0.c'::filelocal_bss in test_at_main" "No symbol \"scope0.c\" in current context.*" "print '$srcdir/$subdir/scope0.c'::filelocal_bss"] { - return ; - } - - - # Print scope0.c::filelocal_ro, which is 201 - - # No clue why the powerpc fails this test. - setup_xfail "powerpc-*-*" - if {$gcc_compiled} then { setup_xfail "rs6000-*-*" } - if [gdb_test "print filelocal_ro" "\\\$$decimal = 201" "print filelocal_ro in test_at_main" ] { - return ; - } - - - if {$gcc_compiled} then { setup_xfail "rs6000-*-*" } - setup_xfail "powerpc-*-*" - if [gdb_test "print 'scope0.c'::filelocal_ro" "\\\$$decimal = 201" "print 'scope0.c'::filelocal_ro" "No symbol \"scope0.c\" in current context.*" "print '$srcdir/$subdir/scope0.c'::filelocal_ro"] { - return ; - } - - - # Print scope1.c::filelocal, which is 2 - - if {$gcc_compiled} then { setup_xfail "rs6000-*-*" } - if [gdb_test "print 'scope1.c'::filelocal" "\\\$$decimal = 2" "print 'scope1.c'::filelocal" "No symbol \"scope1.c\" in current context.*" "print '$srcdir/$subdir/scope1.c'::filelocal"] { - return ; - } - - - # Print scope1.c::filelocal_bss, which is 102 - - if {$gcc_compiled} then { setup_xfail "rs6000-*-*" } - if [gdb_test "print 'scope1.c'::filelocal_bss" "\\\$$decimal = 102" "print 'scope1.c'::filelocal_bss" "No symbol \"scope1.c\" in current context.*" "print '$srcdir/$subdir/scope1.c'::filelocal_bss"] { - return ; - } - - - # Print scope1.c::filelocal_ro, which is 202 - - if {$gcc_compiled} then { setup_xfail "rs6000-*-*" } - if [gdb_test "print 'scope1.c'::filelocal_ro" "\\\$$decimal = 202" "print 'scope1.c'::filelocal_ro" "No symbol \"scope1.c\" in current context.*" "print '$srcdir/$subdir/scope1.c'::filelocal_ro"] { - return ; - } - - - # Print scope1.c::foo::funclocal, which is 3 - - if {!$gcc_compiled} then { setup_xfail "hppa*-*-hpux*" } - if [gdb_test "print foo::funclocal" "\\\$$decimal = 3" "print foo::funclocal" ] { - return ; - } - - - if {$gcc_compiled} then { setup_xfail "rs6000-*-*" } - if [gdb_test "print 'scope1.c'::foo::funclocal" "\\\$$decimal = 3" "print 'scope1.c'::foo::funclocal" "No symbol \"scope1.c\" in current context.*" "print '$srcdir/$subdir/scope1.c'::foo::funclocal"] { - return ; - } - - - # Print scope1.c::foo::funclocal_ro, which is 203 - - if [gdb_test "print foo::funclocal_ro" "\\\$$decimal = 203" "print foo::funclocal_ro" ] { - return ; - } - - - if {$gcc_compiled} then { setup_xfail "rs6000-*-*" } - if [gdb_test "print 'scope1.c'::foo::funclocal_ro" "\\\$$decimal = 203" "print 'scope1.c'::foo::funclocal_ro" "No symbol \"scope1.c\" in current context.*" "print '$srcdir/$subdir/scope1.c'::foo::funclocal_ro"] { - return ; - } - - - # Print scope1.c::bar::funclocal, which is 4 - - if [gdb_test "print bar::funclocal" "\\\$$decimal = 4" "print bar::funclocal" ] { - return ; - } - - - if {$gcc_compiled} then { setup_xfail "rs6000-*-*" } - if [gdb_test "print 'scope1.c'::bar::funclocal" "\\\$$decimal = 4" "print 'scope1.c'::bar::funclocal" "No symbol \"scope1.c\" in current context.*" "print '$srcdir/$subdir/scope1.c'::bar::funclocal"] { - return ; - } - -} - -proc test_at_foo {} { - global gdb_prompt - global decimal - global det_file - global srcdir - global subdir - global gcc_compiled - - if [gdb_test "next" ".*bar \\(\\);" "" ] { - return ; - } - - - # Print scope0.c::filelocal, which is 1 - - if [gdb_test "print 'scope0.c'::filelocal" "\\\$$decimal = 1" "print 'scope0.c'::filelocal at foo" "No symbol \"scope0.c\" in current context.*" "print '$srcdir/$subdir/scope0.c'::filelocal"] { - return ; - } - - - # Print scope0.c::filelocal_bss, which is 101 - - if [gdb_test "print 'scope0.c'::filelocal_bss" "\\\$$decimal = 101" "print 'scope0.c'::filelocal_bss in test_at_foo" "No symbol \"scope0.c\" in current context.*" "print '$srcdir/$subdir/scope0.c'::filelocal_bss"] { - return ; - } - - - # Print scope0.c::filelocal_ro, which is 201 - - if {$gcc_compiled} then { setup_xfail "rs6000-*-*" } - setup_xfail "powerpc-*-*" - if [gdb_test "print 'scope0.c'::filelocal_ro" "\\\$$decimal = 201" "print 'scope0.c'::filelocal_ro" "No symbol \"scope0.c\" in current context.*" "print '$srcdir/$subdir/scope0.c'::filelocal_ro"] { - return ; - } - - - gdb_test "print filelocal" "\\\$$decimal = 2" "print filelocal at foo" - - # Print scope1.c::filelocal, which is 2 - - if {$gcc_compiled} then { setup_xfail "rs6000-*-*" } - if [gdb_test "print 'scope1.c'::filelocal" "\\\$$decimal = 2" "print 'scope1.c'::filelocal at foo" "No symbol \"scope1.c\" in current context.*" "print '$srcdir/$subdir/scope1.c'::filelocal"] { - return ; - } - - - gdb_test "print filelocal_bss" "\\\$$decimal = 102" \ - "print filelocal_bss at foo" - - if {$gcc_compiled} then { setup_xfail "rs6000-*-*" } - gdb_test "print 'scope1.c'::filelocal_bss" "\\\$$decimal = 102" "print 'scope1.c'::filelocal_bss at foo" "No symbol \"scope1.c\" in current context.*" "print '$srcdir/$subdir/scope1.c'::filelocal_bss" - - - gdb_test "print filelocal_ro" "\\\$$decimal = 202" \ - "print filelocal_ro at foo" - - if {$gcc_compiled} then { setup_xfail "rs6000-*-*" } - gdb_test "print 'scope1.c'::filelocal_ro" "\\\$$decimal = 202" "print 'scope1.c'::filelocal_ro at foo" "No symbol \"scope1.c\" in current context.*" "print '$srcdir/$subdir/scope1.c'::filelocal_ro" - - - # Print scope1.c::foo::funclocal, which is 3 - - gdb_test "print funclocal" "\\\$$decimal = 3" "print funclocal at foo" - - if {!$gcc_compiled} then { setup_xfail "hppa*-*-hpux*" } - gdb_test "print foo::funclocal" "\\\$$decimal = 3" \ - "print foo::funclocal at foo" - - if {$gcc_compiled} then { setup_xfail "rs6000-*-*" } - if {!$gcc_compiled} then { setup_xfail "hppa*-*-hpux*" } - gdb_test "print 'scope1.c'::foo::funclocal" "\\\$$decimal = 3" "print 'scope1.c'::foo::funclocal at foo" "No symbol \"scope1.c\" in current context.*" "print '$srcdir/$subdir/scope1.c'::foo::funclocal" - - - # Print scope1.c::foo::funclocal_bss, which is 103 - - gdb_test "print funclocal_bss" "\\\$$decimal = 103" \ - "print funclocal_bss at foo" - - if {!$gcc_compiled} then { setup_xfail "hppa*-*-hpux*" } - gdb_test "print foo::funclocal_bss" "\\\$$decimal = 103" \ - "print foo::funclocal_bss at foo" - - if {$gcc_compiled} then { setup_xfail "rs6000-*-*" } - if {!$gcc_compiled} then { setup_xfail "hppa*-*-hpux*" } - gdb_test "print 'scope1.c'::foo::funclocal_bss" "\\\$$decimal = 103" "print 'scope1.c'::foo::funclocal_bss at foo" "No symbol \"scope1.c\" in current context.*" "print '$srcdir/$subdir/scope1.c'::foo::funclocal_bss" - - - # Print scope1.c::foo::funclocal_ro, which is 203 - - gdb_test "print funclocal_ro" "\\\$$decimal = 203" \ - "print funclocal_ro at foo" - - if {!$gcc_compiled} then { setup_xfail "hppa*-*-hpux*" } - gdb_test "print foo::funclocal_ro" "\\\$$decimal = 203" \ - "print foo::funclocal_ro at foo" - - if {$gcc_compiled} then { setup_xfail "rs6000-*-*" } - if {!$gcc_compiled} then { setup_xfail "hppa*-*-hpux*" } - gdb_test "print 'scope1.c'::foo::funclocal_ro" "\\\$$decimal = 203" "print 'scope1.c'::foo::funclocal_ro at foo" "No symbol \"scope1.c\" in current context.*" "print '$srcdir/$subdir/scope1.c'::foo::funclocal_ro" - - - # Print scope1.c::bar::funclocal, which is 4 - - if {!$gcc_compiled} then { setup_xfail "hppa*-*-hpux*" } - gdb_test "print bar::funclocal" "\\\$$decimal = 4" \ - "print bar::funclocal at foo" - - if {$gcc_compiled} then { setup_xfail "rs6000-*-*" } - if {!$gcc_compiled} then { setup_xfail "hppa*-*-hpux*" } - gdb_test "print 'scope1.c'::bar::funclocal" "\\\$$decimal = 4" "print 'scope1.c'::bar::funclocal at foo" "No symbol \"scope1.c\" in current context.*" "print '$srcdir/$subdir/scope1.c'::bar::funclocal" - -} - -proc test_at_bar {} { - global gdb_prompt - global decimal - global det_file - global srcdir - global subdir - global gcc_compiled - - if [gdb_test "next" ".*" "" ] { - return ; - } - - - # Print scope0.c::filelocal, which is 1 - - if [gdb_test "print 'scope0.c'::filelocal" "\\\$$decimal = 1" "print 'scope0.c'::filelocal at bar" "No symbol \"scope0.c\" in current context.*" "print '$srcdir/$subdir/scope0.c'::filelocal"] { - return ; - } - - - # Print scope0.c::filelocal_bss, which is 101 - - if [gdb_test "print 'scope0.c'::filelocal_bss" "\\\$$decimal = 101" "print 'scope0.c'::filelocal_bss in test_at_bar" "No symbol \"scope0.c\" in current context.*" "print '$srcdir/$subdir/scope0.c'::filelocal_bss"] { - return ; - } - - - # Print scope0.c::filelocal_ro, which is 201 - - if {$gcc_compiled} then { setup_xfail "rs6000-*-*" } - setup_xfail "powerpc-*-*" - if [gdb_test "print 'scope0.c'::filelocal_ro" "\\\$$decimal = 201" "print 'scope0.c'::filelocal_ro at bar" "No symbol \"scope0.c\" in current context.*" "print '$srcdir/$subdir/scope0.c'::filelocal_ro"] { - return ; - } - - - # Print scope1.c::filelocal, which is 2 - - if [gdb_test "print filelocal" "\\\$$decimal = 2" "print filelocal at bar" ] { - return ; - } - - - if {$gcc_compiled} then { setup_xfail "rs6000-*-*" } - if [gdb_test "print 'scope1.c'::filelocal" "\\\$$decimal = 2" "print 'scope1.c'::filelocal at bar" "No symbol \"scope1.c\" in current context.*" "print '$srcdir/$subdir/scope1.c'::filelocal"] { - return ; - } - - - # Print scope1.c::filelocal_bss, which is 102 - - if [gdb_test "print filelocal_bss" "\\\$$decimal = 102" "print filelocal_bss at bar" ] { - return ; - } - - - if {$gcc_compiled} then { setup_xfail "rs6000-*-*" } - if [gdb_test "print 'scope1.c'::filelocal_bss" "\\\$$decimal = 102" "print 'scope1.c'::filelocal_bss at bar" "No symbol \"scope1.c\" in current context.*" "print '$srcdir/$subdir/scope1.c'::filelocal_bss"] { - return ; - } - - - # Print scope1.c::filelocal_ro, which is 202 - - if [gdb_test "print filelocal_ro" "\\\$$decimal = 202" "print filelocal_ro in test_at_bar" ] { - return ; - } - - - if {$gcc_compiled} then { setup_xfail "rs6000-*-*" } - if [gdb_test "print 'scope1.c'::filelocal_ro" "\\\$$decimal = 202" "print 'scope1.c'::filelocal_ro at bar" "No symbol \"scope1.c\" in current context.*" "print '$srcdir/$subdir/scope1.c'::filelocal_ro"] { - return ; - } - - - # Print scope1.c::foo::funclocal, which is 3 - - if {!$gcc_compiled} then { setup_xfail "hppa*-*-hpux*" } - if [gdb_test "print foo::funclocal" "\\\$$decimal = 3" "print foo::funclocal at bar" ] { - return ; - } - - - if {$gcc_compiled} then { setup_xfail "rs6000-*-*" } - if [gdb_test "print 'scope1.c'::foo::funclocal" "\\\$$decimal = 3" "print 'scope1.c'::foo::funclocal at bar" "No symbol \"scope1.c\" in current context.*" "print '$srcdir/$subdir/scope1.c'::foo::funclocal"] { - return ; - } - - - # Print scope1.c::foo::funclocal_bss, which is 103 - - if [gdb_test "print foo::funclocal_bss" "\\\$$decimal = 103" "print foo::funclocal_bss at bar" ] { - return ; - } - - - if {$gcc_compiled} then { setup_xfail "rs6000-*-*" } - if [gdb_test "print 'scope1.c'::foo::funclocal_bss" "\\\$$decimal = 103" "print 'scope1.c'::foo::funclocal_bss at bar" "No symbol \"scope1.c\" in current context.*" "print '$srcdir/$subdir/scope1.c'::foo::funclocal_bss"] { - return ; - } - - - # Print scope1.c::foo::funclocal_ro, which is 203 - - if [gdb_test "print foo::funclocal_ro" "\\\$$decimal = 203" "print foo::funclocal_ro at bar" ] { - return ; - } - - - if {$gcc_compiled} then { setup_xfail "rs6000-*-*" } - if [gdb_test "print 'scope1.c'::foo::funclocal_ro" "\\\$$decimal = 203" "print 'scope1.c'::foo::funclocal_ro at bar" "No symbol \"scope1.c\" in current context.*" "print '$srcdir/$subdir/scope1.c'::foo::funclocal_ro"] { - return ; - } - - - # Print scope1.c::bar::funclocal, which is 4 - - if [gdb_test "print funclocal" "\\\$$decimal = 4" "print funclocal at bar" ] { - return ; - } - - - if [gdb_test "print bar::funclocal" "\\\$$decimal = 4" "print bar::funclocal at bar" ] { - return ; - } - - - if {$gcc_compiled} then { setup_xfail "rs6000-*-*" } - if [gdb_test "print 'scope1.c'::bar::funclocal" "\\\$$decimal = 4" "print 'scope1.c'::bar::funclocal at bar" "No symbol \"scope1.c\" in current context.*" "print '$srcdir/$subdir/scope1.c'::bar::funclocal"] { - return ; - } - - - # Print scope1.c::bar::funclocal_bss, which is 104 - - if [gdb_test "print funclocal_bss" "\\\$$decimal = 104" "print funclocal_bss at bar" ] { - return ; - } - - - if [gdb_test "print bar::funclocal_bss" "\\\$$decimal = 104" "print bar::funclocal_bss at bar" ] { - return ; - } - - - if {$gcc_compiled} then { setup_xfail "rs6000-*-*" } - if [gdb_test "print 'scope1.c'::bar::funclocal_bss" "\\\$$decimal = 104" "print 'scope1.c'::bar::funclocal_bss at bar" "No symbol \"scope1.c\" in current context.*" "print '$srcdir/$subdir/scope1.c'::bar::funclocal_bss"] { - return ; - } - -} - -# This test has little to do with local scopes, but it is in scope.exp anyway. -# That's life. - -proc test_at_autovars {} { - global gdb_prompt - global decimal - global hex - global srcfile - - # Test symbol table lookup with 100 local (auto) variables. - - gdb_breakpoint marker1 - - if [gdb_test "cont" "Break.* marker1 \\(\\) at .*:$decimal.*" "continue to marker1"] { - return; - } - - if [gdb_test "up" ".*" "" ] { - return ; - } - - set count 0 - while {$count < 100} { - if [gdb_test "print i$count" ".* = $count" "" ] { - return ; - } - - set count [expr $count+1] - } - clear_xfail "*-*-*" - pass "$count auto variables correctly initialized" - - # Test that block variable sorting is not screwing us. - gdb_test "frame" "#.*autovars \\(bcd=5, abc=6\\).*" "args in correct order" -} - -proc test_at_localscopes {} { - global gdb_prompt - global decimal - global hex - global srcfile - - gdb_breakpoint marker2 - gdb_breakpoint marker3 - gdb_breakpoint marker4 - - if [gdb_test "cont" "Break.* marker2 \\(\\) at .*:$decimal.*" "continue to marker2"] { - return; - } - if [gdb_test "up" ".*" "" ] { - return ; - } - - # Should be at first (outermost) scope. Check values. - - gdb_test "print localval" " = 10" "print localval, outer scope" - gdb_test "print localval1" " = 11" "print localval1, outer scope" - gdb_test "print localval2" "No symbol \"localval2\" in current context." \ - "print localval2, outer scope" - gdb_test "print localval3" "No symbol \"localval3\" in current context." \ - "print localval3, outer scope" - - if [gdb_test "cont" "Break.* marker3 \\(\\) at .*:$decimal.*" \ - "continue to marker3 in scope.exp"] then { return } - if [gdb_test "up" "" "up from marker3 in scope.exp"] then { return } - - # Should be at next (first nested) scope. Check values. - - gdb_test "print localval" " = 20" \ - "print localval, first nested scope" - gdb_test "print localval1" " = 11" "print localval1, first nested scope" - gdb_test "print localval2" " = 12" "print localval2, first nested scope" - gdb_test "print localval3" "No symbol \"localval3\" in current context." \ - "print localval3, first nested scope" - - # This test will only fail if the file was compiled by gcc, but - # there's no way to check that. - setup_xfail "a29k-*-udi" 2423 - if [gdb_test "cont" "Break.* marker4.*at .*:$decimal.*" \ - "continue to marker4 in scope.exp"] then { return } - if [gdb_test "up" "" "up from marker4 in scope.exp"] then { return } - - gdb_test "print localval" " = 30" "print localval, innermost scope" - gdb_test "print localval1" " = 11" "print localval1, innermost scope" - gdb_test "print localval2" " = 12" "print localval2, innermost scope" - gdb_test "print localval3" " = 13" "print localval3, innermost scope" -} - -# Start with a fresh gdb. - -gdb_exit -gdb_start -gdb_reinitialize_dir $srcdir/$subdir -gdb_load ${binfile} - -if [istarget "*-*-vxworks*"] { - set timeout 120 - verbose "Timeout is now $timeout seconds" 2 -} - -# Test that variables in various segments print out correctly before -# the program is run. - -# AIX--sections get mapped to the same address so we can't get the right one. -setup_xfail "rs6000-*-*" -setup_xfail "powerpc-*-*" - -gdb_test "print 'scope0.c'::filelocal_ro" "= 201" - -# gdb currently cannot access bss memory on some targets if the inferior -# is not running. -# -# For PA boards using monitor/remote-pa.c, the bss test is going to -# randomly fail. We've already put remote-pa on the target stack, -# so we actually read memory from the board. Problem is crt0.o -# is responsible for clearing bss and that hasnt' happened yet. -setup_xfail "hppa*-*-*pro*" -send_gdb "print 'scope0.c'::filelocal_bss\n" -gdb_expect { - -re " = 0\r\n$gdb_prompt $" { - pass "print 'scope0.c'::filelocal_bss before run" - } - -re "Cannot access memory.*$gdb_prompt $" { - setup_xfail "*-*-*" - fail "print 'scope0.c'::filelocal_bss before run" - } - -re ".*$gdb_prompt $" { - fail "print 'scope0.c'::filelocal_bss before run" - } - default { - fail "print 'scope0.c'::filelocal_bss before run" - } -} - -gdb_test "print 'scope0.c'::filelocal" "= 1" \ - "print 'scope0.c'::filelocal before run" - -if [runto_main] then { test_at_main } -if [istarget "mips-idt-*"] then { - # Restart because IDT/SIM runs out of file descriptors. - gdb_exit - gdb_start - gdb_reinitialize_dir $srcdir/$subdir - gdb_load ${binfile} -} -if [runto foo] then { test_at_foo } -if [istarget "mips-idt-*"] then { - # Restart because IDT/SIM runs out of file descriptors. - gdb_exit - gdb_start - gdb_reinitialize_dir $srcdir/$subdir - gdb_load ${binfile} -} -if [runto bar] then { test_at_bar } -if [istarget "mips-idt-*"] then { - # Restart because IDT/SIM runs out of file descriptors. - gdb_exit - gdb_start - gdb_reinitialize_dir $srcdir/$subdir - gdb_load ${binfile} -} -if [runto localscopes] then { test_at_localscopes } -if [istarget "mips-idt-*"] then { - # Restart because IDT/SIM runs out of file descriptors. - gdb_exit - gdb_start - gdb_reinitialize_dir $srcdir/$subdir - gdb_load ${binfile} -} -if [runto autovars] then { test_at_autovars } - -if [istarget "*-*-vxworks*"] { - set timeout 120 - verbose "Timeout is now $timeout seconds" 2 -} diff --git a/gdb/testsuite/gdb.base/scope0.c b/gdb/testsuite/gdb.base/scope0.c deleted file mode 100644 index 85af2e5db10..00000000000 --- a/gdb/testsuite/gdb.base/scope0.c +++ /dev/null @@ -1,172 +0,0 @@ -static int filelocal = 1; /* In Data section */ -static int filelocal_bss; /* In BSS section */ -#ifndef __STDC__ -#define const /**/ -#endif -static const int filelocal_ro = 201; /* In Read-Only Data section */ - -main () -{ - init (); - foo (); - autovars (5, 6); - localscopes (0); -} - -/* On some systems, such as AIX, unreferenced variables are deleted - from the executable. */ -usestatics () -{ - useit (filelocal); - useit (filelocal_bss); - useit (filelocal_ro); -} - -init () -{ - filelocal_bss = 101; - init1 (); -} - -/* This is to derail optimizer in localscopes. - Return 1 + 2 + . . . + N. */ -int -sum_upto (n) - int n; -{ - int i; - int retval = 0; - - for (i = 1; i <= n; ++i) - retval += i; - return retval; -} - -int -useit (val) -{ - static int usedval; - - usedval = val; - return val + sum_upto (0); -} - -int -autovars (bcd, abc) - int bcd; - int abc; -{ - int i0 = useit (0), i1 = useit (1), i2 = useit (2); - int i3 = useit (3), i4 = useit (4), i5 = useit (5); - int i6 = useit (6), i7 = useit (7), i8 = useit (8); - int i9 = useit (9), i10 = useit (10), i11 = useit (11); - int i12 = useit (12), i13 = useit (13), i14 = useit (14); - int i15 = useit (15), i16 = useit (16), i17 = useit (17); - int i18 = useit (18), i19 = useit (19), i20 = useit (20); - int i21 = useit (21), i22 = useit (22), i23 = useit (23); - int i24 = useit (24), i25 = useit (25), i26 = useit (26); - int i27 = useit (27), i28 = useit (28), i29 = useit (29); - int i30 = useit (30), i31 = useit (31), i32 = useit (32); - int i33 = useit (33), i34 = useit (34), i35 = useit (35); - int i36 = useit (36), i37 = useit (37), i38 = useit (38); - int i39 = useit (39), i40 = useit (40), i41 = useit (41); - int i42 = useit (42), i43 = useit (43), i44 = useit (44); - int i45 = useit (45), i46 = useit (46), i47 = useit (47); - int i48 = useit (48), i49 = useit (49), i50 = useit (50); - int i51 = useit (51), i52 = useit (52), i53 = useit (53); - int i54 = useit (54), i55 = useit (55), i56 = useit (56); - int i57 = useit (57), i58 = useit (58), i59 = useit (59); - int i60 = useit (60), i61 = useit (61), i62 = useit (62); - int i63 = useit (63), i64 = useit (64), i65 = useit (65); - int i66 = useit (66), i67 = useit (67), i68 = useit (68); - int i69 = useit (69), i70 = useit (70), i71 = useit (71); - int i72 = useit (72), i73 = useit (73), i74 = useit (74); - int i75 = useit (75), i76 = useit (76), i77 = useit (77); - int i78 = useit (78), i79 = useit (79), i80 = useit (80); - int i81 = useit (81), i82 = useit (82), i83 = useit (83); - int i84 = useit (84), i85 = useit (85), i86 = useit (86); - int i87 = useit (87), i88 = useit (88), i89 = useit (89); - int i90 = useit (90), i91 = useit (91), i92 = useit (92); - int i93 = useit (93), i94 = useit (94), i95 = useit (95); - int i96 = useit (96), i97 = useit (97), i98 = useit (98); - int i99 = useit (99); - - /* Use all 100 of the local variables to derail agressive optimizers. */ - - useit ( i0); useit ( i1); useit ( i2); useit ( i3); useit ( i4); - useit ( i5); useit ( i6); useit ( i7); useit ( i8); useit ( i9); - useit (i10); useit (i11); useit (i12); useit (i13); useit (i14); - useit (i15); useit (i16); useit (i17); useit (i18); useit (i19); - useit (i20); useit (i21); useit (i22); useit (i23); useit (i24); - useit (i25); useit (i26); useit (i27); useit (i28); useit (i29); - useit (i30); useit (i31); useit (i32); useit (i33); useit (i34); - useit (i35); useit (i36); useit (i37); useit (i38); useit (i39); - useit (i40); useit (i41); useit (i42); useit (i43); useit (i44); - useit (i45); useit (i46); useit (i47); useit (i48); useit (i49); - useit (i50); useit (i51); useit (i52); useit (i53); useit (i54); - useit (i55); useit (i56); useit (i57); useit (i58); useit (i59); - useit (i60); useit (i61); useit (i62); useit (i63); useit (i64); - useit (i65); useit (i66); useit (i67); useit (i68); useit (i69); - useit (i70); useit (i71); useit (i72); useit (i73); useit (i74); - useit (i75); useit (i76); useit (i77); useit (i78); useit (i79); - useit (i80); useit (i81); useit (i82); useit (i83); useit (i84); - useit (i85); useit (i86); useit (i87); useit (i88); useit (i89); - useit (i90); useit (i91); useit (i92); useit (i93); useit (i94); - useit (i95); useit (i96); useit (i97); useit (i98); useit (i99); - - useit (abc); useit (bcd); - - marker1 (); - return i0 + i1 + i2 + i3 + i4 + i5 + i6 + i7 + i8 + i9 + i10 - + i11 + i12 + i13 + i14 + i15 + i16 + i17 + i18 + i19 + i20 - + i21 + i22 + i23 + i24 + i25 + i26 + i27 + i28 + i29 + i30 - + i31 + i32 + i33 + i34 + i35 + i36 + i37 + i38 + i39 + i40 - + i41 + i42 + i43 + i44 + i45 + i46 + i47 + i48 + i49 + i50 - + i51 + i52 + i53 + i54 + i55 + i56 + i57 + i58 + i59 + i60 - + i61 + i62 + i63 + i64 + i65 + i66 + i67 + i68 + i69 + i70 - + i71 + i72 + i73 + i74 + i75 + i76 + i77 + i78 + i79 + i80 - + i81 + i82 + i83 + i84 + i85 + i86 + i87 + i88 + i89 + i90 - + i91 + i92 + i93 + i94 + i95 + i96 + i97 + i98 + i99 + abc + bcd; -} - -int -localscopes (x) - int x; -{ - int localval; - int retval; - int i; - - localval = 0; - useit (localval); - - { - int localval = x + 4 + sum_upto (3); /* 10 */ - int localval1 = x + 5 + sum_upto (3); /* 11 */ - - useit (localval); - useit (localval1); - marker2 (); - { - int localval = localval1 + 3 + sum_upto (3); /* 20 */ - int localval2 = localval1 + sum_upto (1); /* 12 */ - useit (localval); - useit (localval2); - marker3 (); - { - int localval = localval2 + 3 + sum_upto (5); /* 30 */ - int localval3 = localval2 + sum_upto (1); /* 13 */ - useit (localval); - useit (localval3); - marker4 (); - retval = x + localval1 + localval2 + localval3; - } - } - } - return retval; -} - -marker1 () {} -marker2 () {} -marker3 () {} -marker4 () {} diff --git a/gdb/testsuite/gdb.base/scope1.c b/gdb/testsuite/gdb.base/scope1.c deleted file mode 100644 index cccad6f321e..00000000000 --- a/gdb/testsuite/gdb.base/scope1.c +++ /dev/null @@ -1,45 +0,0 @@ -static int filelocal = 2; /* In Data section */ -static int filelocal_bss; /* In BSS section */ -#ifndef __STDC__ -#define const /**/ -#endif -static const int filelocal_ro = 202; /* In Read-Only Data section */ - -foo () -{ - static int funclocal = 3; /* In Data section */ - static int funclocal_bss; /* In BSS section */ - static const int funclocal_ro = 203; /* RO Data */ - static const int funclocal_ro_bss; /* RO Data */ - - funclocal_bss = 103; - bar (); -} - -bar () -{ - static int funclocal = 4; /* In data section */ - static int funclocal_bss; /* In BSS section */ - funclocal_bss = 104; -} - -init1 () -{ - filelocal_bss = 102; -} - -/* On some systems, such as AIX, unreferenced variables are deleted - from the executable. */ -usestatics1 () -{ - useit1 (filelocal); - useit1 (filelocal_bss); - useit1 (filelocal_ro); -} - -useit1 (val) -{ - static int usedval; - - usedval = val; -} diff --git a/gdb/testsuite/gdb.base/sect-cmd.exp b/gdb/testsuite/gdb.base/sect-cmd.exp deleted file mode 100644 index 27bde04452a..00000000000 --- a/gdb/testsuite/gdb.base/sect-cmd.exp +++ /dev/null @@ -1,109 +0,0 @@ -# Copyright (C) 1997, 1998 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ - -# Please email any bugs, comments, and/or additions to this file to: -# bug-gdb@prep.ai.mit.edu - -if $tracelevel then { - strace $tracelevel - } - -global usestubs - -# -# test running programs -# -set prms_id 0 -set bug_id 0 - -# This test exists solely to exercise the "section" command for -# code-coverage on HP-UX. (So far as I can tell, the "section" -# command isn't needed on HP-UX, but probably is for embedded -# apps.) -# -if ![istarget "hppa*-*-hpux*"] then { - return -} - -set testfile "break" -set srcfile ${testfile}.c -set binfile ${objdir}/${subdir}/${testfile} -if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug}] != "" } { - gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail." -} - -gdb_exit -gdb_start -gdb_reinitialize_dir $srcdir/$subdir -gdb_load ${binfile} - -if ![runto_main] then { fail "section command tests suppressed" } - -# Get the $CODE$ section's starting address. -# -# (Note that this works for PA32 programs, which use the SOM file -# format. PA64 uses ELF, and when support for that is added, it's -# not clear that there'll be a section named "$CODE$" in such -# programs.) -# -send_gdb "info files\n" -gdb_expect { - -re ".*(0x\[0-9a-fA-F\]*) - (0x\[0-9a-fA-F\]*) is .CODE..*$gdb_prompt $"\ - {pass "info files"} - -re "$gdb_prompt $"\ - {fail "info files"} - timeout {fail "(timeout) info files"} -} - -# Reset the section to that same starting address, which should be -# harmless (i.e., we just want to exercise the section command). -# -send_gdb "section \$CODE\$ $expect_out(1,string)\n" -gdb_expect { - -re ".*$expect_out(1,string) \- $expect_out(2,string) is .CODE..*$gdb_prompt $"\ - {pass "set section command"} - -re "$gdb_prompt $"\ - {fail "set section command"} - timeout {fail "(timeout) set section command"} -} - -# Verify that GDB responds gracefully to a non-existent section name. -# -send_gdb "section FOOBARBAZ 0x1234\n" -gdb_expect { - -re "Section FOOBARBAZ not found\r\n$gdb_prompt $"\ - {pass "non-existent section disallowed"} - -re "$gdb_prompt $"\ - {fail "non-existent section disallowed"} - timeout {fail "(timeout) non-existent section disallowed"} -} - -# We "happen to know" that GDB uses a fixed size character buffer to -# parse the section name into, and the buffer is declared to be 100 -# characters in length. Verify that GDB gracefully handles section -# names longer than that. (The section is also non-existent.) -# -send_gdb "section A234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123 0x1234\n" -gdb_expect { - -re "Section A23456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 not found\r\n$gdb_prompt $"\ - {pass "non-existent too-long section disallowed"} - -re "$gdb_prompt $"\ - {fail "non-existent too-long section disallowed"} - timeout {fail "(timeout) non-existent too-long section disallowed"} -} - -gdb_exit -return 0 diff --git a/gdb/testsuite/gdb.base/setshow.c b/gdb/testsuite/gdb.base/setshow.c deleted file mode 100644 index 2ac7508f0fb..00000000000 --- a/gdb/testsuite/gdb.base/setshow.c +++ /dev/null @@ -1,16 +0,0 @@ -/* IMPORTANT: leave this comment in the first line of this source file. */ -/* this will guarantee that line 1 contains no code. */ - -#include <stdio.h> - -int -main(argc, argv) - int argc; - char **argv; -{ - int i = 1; - - while (i < argc) - printf ("%s ", argv[i++]); - return 0; -} diff --git a/gdb/testsuite/gdb.base/setshow.exp b/gdb/testsuite/gdb.base/setshow.exp deleted file mode 100644 index 60736f3c33a..00000000000 --- a/gdb/testsuite/gdb.base/setshow.exp +++ /dev/null @@ -1,237 +0,0 @@ -# Copyright (C) 1992, 1994, 1997 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - -# Please email any bugs, comments, and/or additions to this file to: -# bug-gdb@prep.ai.mit.edu - -# This file was written by Michael Snyder (msnyder@cygnus.com) - -if $tracelevel then { - strace $tracelevel -} - -set prms_id 0 -set bug_id 0 - -set testfile "setshow" -set srcfile ${srcdir}/${subdir}/${testfile}.c -set binfile ${objdir}/${subdir}/${testfile} -if { [gdb_compile ${srcfile} ${binfile} executable {debug}] != "" } { - perror "Couldn't compile ${srcfile}" - return -1 -} - -# Start with a fresh gdb - -gdb_exit -gdb_start -gdb_reinitialize_dir $srcdir/$subdir -gdb_load ${binfile} - -# -# Test gdb set and show commands. -# Add tests here for show and set that don't fit neatly elsewhere. -# FIXME: many rudimentary tests for set and show commands have been -# added below, but most do nothing more than check that a -# variable has been set successfully, ie. they do not test -# whether setting the variable has had the desired effect. -# - -#test default annotation_level is 0 -gdb_test "show annotate" "Annotation_level is 0..*" "default annotation_level is zero" - -#test set annotate 2 -send_gdb "set annotate 2\n" -gdb_expect { - -re ".*\032\032pre-prompt.*$gdb_prompt .*\032\032prompt.*$" \ - { pass "set annotate 2" } - -re ".*$gdb_prompt $" { fail "set annotate 2" } - timeout { fail "(timeout) set annotate 2" } - } - -send_gdb "show annotate\n" -gdb_expect { - -re ".*\032\032post-prompt.*Annotation_level is 2..*\032\032pre-prompt.*$gdb_prompt .*\032\032prompt.*$" \ - { pass "show annotate (2)" } - -re ".*$gdb_prompt $" { fail "show annotate (2)" } - timeout { fail "(timeout) show annotate (2)" } - } - -#test annotation_level 2 -send_gdb "info line 1\n" -gdb_expect { - -re ".*\032\032post-prompt.*Line 1 of .* is at address .* but contains no code.*:1:0:beg:0x.*\032\032pre-prompt.*$gdb_prompt .*\032\032prompt.*$" \ - { pass "annotation_level 2" } - -re ".*$gdb_prompt $" { fail "annotation_level 2" } - timeout { fail "(timeout) annotation_level 2" } - } - -#test set annotate 1 -gdb_test "set annotate 1" ".*post-prompt.*" "set annotate 1" -gdb_test "show annotate" "Annotation_level is 1..*" "show annotate (1)" -#test annotation_level 1 -gdb_test "info line 1" "Line 1 of .* is at address .* but contains no code.*:1:0:beg:0x.*" "annotation_level 1" -#test set annotate 0 -gdb_test "set annotate 0" "" "set annotate 0" -gdb_test "show annotate" "Annotation_level is 0..*" "show annotate (0)" -#test annotation_level 0 -gdb_test "info line 1" "Line 1 of .* is at address .* but contains no code.*" "annotation_level 0" -#test set args -gdb_test "set args foo bar blup baz bubble" "" "set args" -#test show args -gdb_test "show args" "Arguments to give program being debugged when it is started is \"foo bar blup baz bubble\"..*" "show args" - -# Don't test if we can't pass args or if we're using a stub. -if { ![target_info exists gdb,use_stub] && ![target_info exists noargs] } { - #test passing args - gdb_test "run" "Starting program:.*foo bar blup baz bubble.*" "passing args" -} -#test set check range on -gdb_test "set check range on" "" "set check range on" -#test show check range on -gdb_test "show check range" "Range checking is \"on\"\..*" "show check range (on)" -#test set check range auto -gdb_test "set check range auto" "" "set check range auto" -#test show check range auto -gdb_test "show check range" "Range checking is \"auto; currently .*" "show check range (auto)" -#test set check type on -gdb_test "set check type on" "" "set check type on" -#test show check type on -gdb_test "show check type" "Type checking is \"on\"..*" "show check type (on)" -#test set check type auto -gdb_test "set check type auto" "" "set check type auto" -#test show check type -gdb_test "show check type" "Type checking is \"auto; currently .*" "show check type (auto)" -#test set complaints 100 -gdb_test "set complaints 100" "" "set complaints 100" -#test show complaints 100 -gdb_test "show complaints" "Max number of complaints about incorrect symbols is 100..*" "show complaints (100)" -#test set complaints 0 -gdb_test "set complaints 0" "" "set complaints 0" -#test show complaints 0 -gdb_test "show complaints" "Max number of complaints about incorrect symbols is 0..*" "show complaints (0)" -#test set confirm off -gdb_test "set confirm off" "" "set confirm off" -#test show confirm off -gdb_test "show confirm" "Whether to confirm potentially dangerous operations is off..*" "show confirm (off)" -#test set confirm on -gdb_test "set confirm on" "" "set confirm on" -#test show confirm on -gdb_test "show confirm" "Whether to confirm potentially dangerous operations is on..*" "show confirm (on)" -#test set editing off -gdb_test "set editing off" "" "set editing off" -#test show editing off -gdb_test "show editing" "Editing of command lines as they are typed is off..*" "show editing (off)" -#test set editing on -#gdb_test "set editing on" "" "set editing on" -#test show editing on -#gdb_test "show editing" "Editing of command lines as they are typed is on..*" "show editing (on)" -#test set environment FOOBARBAZ -gdb_test "set environment FOOBARBAZ = grbxgrbxgrbx" "" "set environment FOOBARBAZ" -#test show environment FOOBARBAZ -gdb_test "show environment FOOBARBAZ" "FOOBARBAZ = grbxgrbxgrbx.*" "show environment FOOBARBAZ" -#test set height 100 -gdb_test "set height 100" "" "set height 100" -#test show height 100 -gdb_test "show height" "Number of lines gdb thinks are in a page is 100..*" "show height" -#test set history expansion on -gdb_test "set history expansion on" "" "set history expansion on" -#test show history expansion on -gdb_test "show history expansion on" "History expansion on command input is on.*" "show history expansion" -#test set history filename foobar.baz -gdb_test "set history filename foobar.baz" "" "set history filename foobar.baz" -#test show history filename foobar.baz -gdb_test "show history filename" "The filename in which to record the command history is \"foobar.baz\"..*" "show history filename (foobar.baz)" -#test set history save on -gdb_test "set history save on" "" "set history save on" -#test show history save on -gdb_test "show history save" "Saving of the history record on exit is on..*" "show history save (on)" -#test set history size 100 -gdb_test "set history size 100" "" "set history size 100" -#test show history size 100 -gdb_test "show history size" "The size of the command history is 100..*" "show history size (100)" -#test set language asm -gdb_test "set language asm" "" "set language asm" -#test show language asm -gdb_test "show language" "The current source language is \"asm\"..*" "show language (asm)" -#test set language auto -gdb_test "set language auto" "" "set language auto" -#test show language -gdb_test "show language" "The current source language is \"auto.*\"..*" "show language (auto)" -#test set listsize 100 -gdb_test "set listsize 100" "" "set listsize 100" -#test show listsize 100 -gdb_test "show listsize" "Number of source lines gdb will list by default is 100..*" "show listsize (100)" - -if ![board_info target exists gdb_prompt] { - #test set prompt (FooBarBaz) - set newprompt "\\(FooBarBaz\\)" - send_gdb "set prompt (FooBarBaz) \n" - gdb_expect { - -re "$newprompt $" { pass "set prompt (FooBarBaz) " } - timeout { fail "(timeout) set prompt (FooBarBaz) " } - } - - #test show prompt (FooBarBaz) - send_gdb "show prompt\n" - gdb_expect { - -re "Gdb's prompt is \"$newprompt \"..* $" \ - { pass "show prompt (FooBarBaz) " } - timeout { fail "(timeout) show prompt (FooBarBaz) " } - } - - #test set prompt (gdb) - send_gdb "set prompt (gdb) \n" - gdb_expect { - -re "$gdb_prompt $" { pass "set prompt (gdb) " } - timeout { fail "(timeout) set prompt (gdb) " } - } -} - -#test set radix 11 -gdb_test "set radix 11" "Unsupported output radix ``decimal 11''; output radix unchanged..*" "set radix 11" -#test set radix 16 -gdb_test "set radix 16" "Input and output radices now set to decimal 16, hex 10, octal 20..*" "set radix 16" -#test show radix 16 -gdb_test "show radix" "Input and output radices set to decimal 16, hex 10, octal 20..*" "show radix (16)" -#test set radix 10 -gdb_test "set radix" "Input and output radices now set to decimal 10, hex a, octal 12..*" "set radix 10" -#test show radix 10 -gdb_test "show radix" "Input and output radices set to decimal 10, hex a, octal 12..*" "show radix (10)" -#test set width 90 -gdb_test "set width 90" "" "set width 90" -#test show width 90 -gdb_test "show width" "Number of characters gdb thinks are in a line is 90..*" "show width (90)" -#test set write on -# This is only supported on targets which use exec.o. -gdb_test "set write on" "" "set write on" -#test show write on -# This is only supported on targets which use exec.o. -gdb_test "show write" "Writing into executable and core files is on..*" "show write (on)" -#test set symbol-reloading on -gdb_test "set symbol-reloading on" "" "set symbol-reloading on" -#test show symbol-reloading on -gdb_test "show symbol-reloading" "Dynamic symbol table reloading multiple times in one run is on..*" "show symbol-reloading (on)" -#test show user -gdb_test "show user" "" "show user" -#test set verbose on -gdb_test "set verbose on" "" "set verbose on" -#test show verbose on -gdb_test "show verbose" "Verbose printing of informational messages is on..*" "show verbose (on)" -#test set verbose off -gdb_test "set verbose off" "" "set verbose off" -#test show verbose off -gdb_test "show verbose" "Verbosity is off..*" "show verbose (off)" diff --git a/gdb/testsuite/gdb.base/setvar.c b/gdb/testsuite/gdb.base/setvar.c deleted file mode 100644 index ee98b6fcb9e..00000000000 --- a/gdb/testsuite/gdb.base/setvar.c +++ /dev/null @@ -1,248 +0,0 @@ -main (argc, argv, envp) - int argc; - char **argv; - char **envp; -{ - extern void dummy(); - dummy(); -} - -/* We put main() right up front so its line number doesn't keep changing. */ - -/* - * Test file with lots of different types, for testing the - * "whatis" command. - */ - -/* - * First the basic C types. - */ - -#if !defined (__STDC__) && !defined (_AIX) -#define signed /**/ -#endif - -char v_char; -signed char v_signed_char; -unsigned char v_unsigned_char; - -short v_short; -signed short v_signed_short; -unsigned short v_unsigned_short; - -int v_int; -signed int v_signed_int; -unsigned int v_unsigned_int; - -long v_long; -signed long v_signed_long; -unsigned long v_unsigned_long; - -float v_float; -double v_double; - -/* - * Now some derived types, which are arrays, functions-returning, - * pointers, structures, unions, and enumerations. - */ - -/**** arrays *******/ - -char v_char_array[2]; -signed char v_signed_char_array[2]; -unsigned char v_unsigned_char_array[2]; - -short v_short_array[2]; -signed short v_signed_short_array[2]; -unsigned short v_unsigned_short_array[2]; - -int v_int_array[2]; -signed int v_signed_int_array[2]; -unsigned int v_unsigned_int_array[2]; - -long v_long_array[2]; -signed long v_signed_long_array[2]; -unsigned long v_unsigned_long_array[2]; - -float v_float_array[2]; -double v_double_array[2]; - -/**** pointers *******/ - -char *v_char_pointer; -signed char *v_signed_char_pointer; -unsigned char *v_unsigned_char_pointer; - -short *v_short_pointer; -signed short *v_signed_short_pointer; -unsigned short *v_unsigned_short_pointer; - -int *v_int_pointer; -signed int *v_signed_int_pointer; -unsigned int *v_unsigned_int_pointer; - -long *v_long_pointer; -signed long *v_signed_long_pointer; -unsigned long *v_unsigned_long_pointer; - -float *v_float_pointer; -double *v_double_pointer; - -/**** structs *******/ - -struct t_struct { - char v_char_member; - short v_short_member; - int v_int_member; - long v_long_member; - float v_float_member; - double v_double_member; -} v_struct1; - -struct { - char v_char_member; - short v_short_member; - int v_int_member; - long v_long_member; - float v_float_member; - double v_double_member; -} v_struct2; - -/**** unions *******/ - -union t_union { - char v_char_member; - short v_short_member; - int v_int_member; - long v_long_member; - float v_float_member; - double v_double_member; -} v_union; - -union { - char v_char_member; - short v_short_member; - int v_int_member; - long v_long_member; - float v_float_member; - double v_double_member; -} v_union2; - -/*** Functions returning type ********/ - -char v_char_func () { return(0); } -signed char v_signed_char_func () { return (0); } -unsigned char v_unsigned_char_func () { return (0); } - -short v_short_func () { return (0); } -signed short v_signed_short_func () { return (0); } -unsigned short v_unsigned_short_func () { return (0); } - -int v_int_func () { return (0); } -signed int v_signed_int_func () { return (0); } -unsigned int v_unsigned_int_func () { return (0); } - -long v_long_func () { return (0); } -signed long v_signed_long_func () { return (0); } -unsigned long v_unsigned_long_func () { return (0); } - -float v_float_func () { return (0.0); } -double v_double_func () { return (0.0); } - -/**** Some misc more complicated things *******/ - -struct link { - struct link *next; -#ifdef __STDC__ - struct link *(*linkfunc) (struct link *this, int flags); -#else - struct link *(*linkfunc) (); -#endif - struct t_struct stuff[1][2][3]; -} *s_link; - -union tu_link { - struct link *next; -#ifdef __STDC__ - struct link *(*linkfunc) (struct link *this, int flags); -#else - struct link *(*linkfunc) (); -#endif - struct t_struct stuff[1][2][3]; -} u_link; - -/**** Enumerations *******/ - -enum colors {red, green, blue} color; -enum cars {chevy, ford, porsche} clunker; - -void dummy() -{ - /* Some linkers (e.g. on AIX) remove unreferenced variables, - so make sure to reference them. */ - v_char = 0; - v_signed_char = 1; - v_unsigned_char = 2; - - v_short = 3; - v_signed_short = 4; - v_unsigned_short = 5; - - v_int = 6; - v_signed_int = 7; - v_unsigned_int = 8; - - v_long = 9; - v_signed_long = 10; - v_unsigned_long = 11; - - v_float = 100.0; - v_double = 200.0; - - - v_char_array[0] = v_char; - v_signed_char_array[0] = v_signed_char; - v_unsigned_char_array[0] = v_unsigned_char; - - v_short_array[0] = v_short; - v_signed_short_array[0] = v_signed_short; - v_unsigned_short_array[0] = v_unsigned_short; - - v_int_array[0] = v_int; - v_signed_int_array[0] = v_signed_int; - v_unsigned_int_array[0] = v_unsigned_int; - - v_long_array[0] = v_long; - v_signed_long_array[0] = v_signed_long; - v_unsigned_long_array[0] = v_unsigned_long; - - v_float_array[0] = v_float; - v_double_array[0] = v_double; - - v_char_pointer = &v_char; - v_signed_char_pointer = &v_signed_char; - v_unsigned_char_pointer = &v_unsigned_char; - - v_short_pointer = &v_short; - v_signed_short_pointer = &v_signed_short; - v_unsigned_short_pointer = &v_unsigned_short; - - v_int_pointer = &v_int; - v_signed_int_pointer = &v_signed_int; - v_unsigned_int_pointer = &v_unsigned_int; - - v_long_pointer = &v_long; - v_signed_long_pointer = &v_signed_long; - v_unsigned_long_pointer = &v_unsigned_long; - - v_float_pointer = &v_float; - v_double_pointer = &v_double; - - color = red; - clunker = porsche; - - u_link.next = s_link; - - v_struct2.v_int_member = v_struct1.v_int_member; - v_union2.v_short_member = v_union.v_short_member; -} diff --git a/gdb/testsuite/gdb.base/setvar.exp b/gdb/testsuite/gdb.base/setvar.exp deleted file mode 100644 index cc1d9621e16..00000000000 --- a/gdb/testsuite/gdb.base/setvar.exp +++ /dev/null @@ -1,390 +0,0 @@ -# Copyright (C) 1988, 1990, 1991, 1992, 1994, 1995 -# Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ - -# Please email any bugs, comments, and/or additions to this file to: -# bug-gdb@prep.ai.mit.edu - -# This file was written by Rob Savoye. (rob@cygnus.com) - -if $tracelevel then { - strace $tracelevel - } - -# -# test running programs -# -set prms_id 0 -set bug_id 0 - -set testfile "setvar" -set srcfile ${testfile}.c -set binfile ${objdir}/${subdir}/${testfile} -if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug}] != "" } { - perror "Couldn't compile ${srcfile}" - return -1 -} - -# Create and source the file that provides information about the compiler -# used to compile the test case. -if [get_compiler_info ${binfile}] { - return -1; -} - -gdb_exit -gdb_start -gdb_reinitialize_dir $srcdir/$subdir -gdb_load $binfile - -# -# set it up at a breakpoint so we canplay with the variable values -# -send_gdb "set print sevenbit-strings\n" ; expect -re "$gdb_prompt $" - -if ![runto_main] then { - perror "couldn't run to breakpoint" - continue -} - -# Determine expected output for unsigned long variables, -# the output varies with sizeof (unsigned long). - -set ulong_minus_1 4294967295 -set ulong_minus_456 4294966840 -send_gdb "print sizeof (unsigned long)\n" -expect { - -re ".\[0-9\]* = 4.*$gdb_prompt $" {} - -re ".\[0-9\]* = 8.*$gdb_prompt $" { - set ulong_minus_1 18446744073709551615 - set ulong_minus_456 18446744073709551160 - } - -re ".*$gdb_prompt $" { - fail "getting sizeof unsigned long" - } - default { fail "(timeout) getting sizeof unsigned long" } -} - -proc test_set { args } { - global gdb_prompt - - set length [expr [llength $args] - 3]; - set print_cmd "[lindex $args $length]"; - set print_result "[lindex $args [expr $length + 1]]"; - set message "[lindex $args [expr $length + 2]]"; - - # Set up the variables. - for {set x 0;} {$x < $length} {incr x;} { - if { "[lindex $args $x]" != "" } { - verbose "doing [lindex $args $x]" - if [gdb_test "[lindex $args $x]" "" ""] { - fail "$message [lindex $args $x]"; - return 1; - } - } - } - verbose "expecting $print_result from '$print_cmd'" - # Now run the test. - return [gdb_test "$print_cmd" "$print_result" "$message"]; -} - -# -# test "set variable" for type "char" -# -# Because bare char types can be either signed or unsigned, we just test the -# range of values that are common to both (0-127). -# - -test_set "set variable v_char=0" "print v_char" ".\[0-9\]* = 0 \'.000\'" "set variable char=0" -test_set "set variable v_char=1" "print v_char" ".\[0-9\]* = 1 \'.001\'" "set variable char=1" -test_set "set variable v_char=27" "print v_char" ".\[0-9\]* = 27 \'.e\'" "set variable char=27 (Esc)" -test_set "set variable v_char=32" "print v_char" ".\[0-9\]* = 32 \' \'" "set variable char=32 (SPC)" -test_set "set variable v_char=65" "print v_char" ".\[0-9\]* = 65 \'A\'" "set variable char=65 ('A')" -test_set "set variable v_char=97" "print v_char" ".\[0-9\]* = 97 \'a\'" "set variable char=97 ('a')" -test_set "set variable v_char=126" "print v_char" ".\[0-9\]* = 126 \'~\'" "set variable char=126 ('~')" -test_set "set variable v_char=127" "print v_char" ".\[0-9\]* = 127 \'.177\'" "set variable char=127 (8-bit)" -# -# test "set variable" for type "signed char" -# -test_set "set variable v_char=0" "print v_signed_char" ".\[0-9\]* = 0 \'.000\'" "set variable signed char=0" -test_set "set variable v_signed_char=1" "print v_signed_char" ".\[0-9\]* = 1 \'.001\'" "set variable signed char=1" -test_set "set variable v_signed_char=27" "print v_signed_char" ".\[0-9\]* = 27 \'.e\'" "set variable signed char=27 (Esc)" -test_set "set variable v_signed_char=32" "print v_signed_char" ".\[0-9\]* = 32 \' \'" "set variable signed char=32 (SPC)" -test_set "set variable v_signed_char=65" "print v_signed_char" ".\[0-9\]* = 65 \'A\'" "set variable signed char=65 ('A')" -test_set "set variable v_signed_char=97" "print v_signed_char" ".\[0-9\]* = 97 \'a\'" "set variable signed char=97 ('a')" -test_set "set variable v_signed_char=126" "print v_signed_char" ".\[0-9\]* = 126 \'~\'" "set variable signed char=126 ('~')" -test_set "set variable v_signed_char=127" "print v_signed_char" ".\[0-9\]* = 127 \'.177\'" "set variable signed char=127 (8-bit)" -gdb_test "set variable v_signed_char=-1" "" -if {!$gcc_compiled} then { setup_xfail "mips-sgi-irix4*" } -gdb_test "print v_signed_char" ".\[0-9\]* = -1 \'.377\'" \ - "set variable signed char=-1 (-1)" -gdb_test "set variable v_signed_char=0xFF" "" -if {!$gcc_compiled} then { setup_xfail "mips-sgi-irix4*" } -gdb_test "print v_signed_char" ".\[0-9\]* = -1 \'.377\'" \ - "set variable signed char=0xFF (0xFF)" -# -# test "set variable" for type "unsigned char" -# -test_set "set variable v_unsigned_char=0" "print v_unsigned_char" ".\[0-9\]* = 0 \'.000\'" "set variable unsigned char=0" -test_set "set variable v_unsigned_char=1" "print v_unsigned_char" ".\[0-9\]* = 1 \'.001\'" "set variable unsigned char=1" -test_set "set variable v_unsigned_char=27" "print v_unsigned_char" ".\[0-9\]* = 27 \'.e\'" "set variable unsigned char=27 (Esc)" -test_set "set variable v_unsigned_char=32" "print v_unsigned_char" ".\[0-9\]* = 32 \' \'" "set variable unsigned char=32 (SPC)" -test_set "set variable v_unsigned_char=65" "print v_unsigned_char" ".\[0-9\]* = 65 \'A\'" "set variable unsigned char=65 ('A')" -test_set "set variable v_unsigned_char=97" "print v_unsigned_char" ".\[0-9\]* = 97 \'a\'" "set variable unsigned char=97 ('a')" -test_set "set variable v_unsigned_char=126" "print v_unsigned_char" ".\[0-9\]* = 126 \'~\'" "set variable unsigned char=126 ('~')" -test_set "set variable v_unsigned_char=~0" "print v_unsigned_char" ".\[0-9\]* = 255 \'.377\'" "set variable unsigned char=255 (8-bit)" -# -# test "set variable" for type "short" -# -test_set "set variable v_short=0" "print v_short" ".\[0-9\]* = 0" "set variable short=0" -test_set "set variable v_short=1" "print v_short" ".\[0-9\]* = 1" "set variable short=1" -test_set "set variable v_short=-1" "print v_short" ".\[0-9\]* = -1" "set variable short=-1 (minus)" -# -# test "set variable" for type "signed short" -# -test_set "set variable v_signed_short=0" "print v_signed_short" ".\[0-9\]* = 0" "set variable signed short=0" -test_set "set variable v_signed_short=1" "print v_signed_short" ".\[0-9\]* = 1" "set variable signed short=1" -test_set "set variable v_signed_short=-1" "print v_signed_short" ".\[0-9\]* = -1" "set variable signed short=-1 (minus)" -# -# test "set variable" for type "unsigned short" -# -test_set "set variable v_unsigned_short=0" "print v_unsigned_short" ".\[0-9\]* = 0" "set variable unsigned short=0" -test_set "set variable v_unsigned_short=1" "print v_unsigned_short" ".\[0-9\]* = 1" "set variable unsigned short=1" -test_set "set variable v_unsigned_short=~0" "print v_unsigned_short" ".\[0-9\]* = 65535" "set variable unsigned short=~0 (minus)" -# -# test "set variable" for type "int" -# -test_set "set variable v_int=0" "print v_int" ".\[0-9\]* = 0" "set variable int=0" -test_set "set variable v_int=1" "print v_int" ".\[0-9\]* = 1" "set variable int=1" -test_set "set variable v_int=-1" "print v_int" ".\[0-9\]* = -1" "set variable int=-1 (minus)" -# -# test "set variable" for type "signed int" -# -test_set "set variable v_signed_int=0" "print v_signed_int" ".\[0-9\]* = 0" "set variable signed int=0" -test_set "set variable v_signed_int=1" "print v_signed_int" ".\[0-9\]* = 1" "set variable signed int=1" -test_set "set variable v_signed_int=-1" "print v_signed_int" ".\[0-9\]* = -1" "set variable signed int=-1 (minus)" -# -# test "set variable" for type "unsigned int" -# -test_set "set variable v_unsigned_int=0" "print v_unsigned_int" ".\[0-9\]* = 0" "set variable unsigned int=0" -test_set "set variable v_unsigned_int=1" "print v_unsigned_int" ".\[0-9\]* = 1" "set variable unsigned int=1" -test_set "set variable v_unsigned_int=~0" "print v_unsigned_int" ".\[0-9\]* = (4294967295|65535)" "set variable unsigned int=~0 (minus)" -#test_set ".\[0-9\]* = 65535" "set variable unsigned int=~0 (minus)" -# -# test "set variable" for type "long" -# -test_set "set variable v_long=0" "print v_long" ".\[0-9\]* = 0" "set variable long=0" -test_set "set variable v_long=1" "print v_long" ".\[0-9\]* = 1" "set variable long=1" -test_set "set variable v_long=-1" "print v_long" ".\[0-9\]* = -1" "set variable long=-1 (minus)" -# -# test "set variable" for type "signed long" -# -test_set "set variable v_signed_long=0" "print v_signed_long" ".\[0-9\]* = 0" "set variable signed long=0" -test_set "set variable v_signed_long=1" "print v_signed_long" ".\[0-9\]* = 1" "set variable signed long=1" -test_set "set variable v_signed_long=-1" "print v_signed_long" ".\[0-9\]* = -1" "set variable signed long=-1 (minus)" -# -# test "set variable" for type "unsigned long" -# -test_set "set variable v_unsigned_long=0" "print v_unsigned_long" ".\[0-9\]* = 0" "set variable unsigned long=0" -test_set "set variable v_unsigned_long=1" "print v_unsigned_long" ".\[0-9\]* = 1" "set variable unsigned long=1" -test_set "set variable v_unsigned_long=~0" "print v_unsigned_long" ".\[0-9\]* = $ulong_minus_1" "set variable unsigned long=~0 (minus)" -# -# test "set variable" for type "float" -# -test_set "set variable v_float=0.0" "print v_float" ".\[0-9\]* = 0" "set variable float=0" -test_set "set variable v_float=1.0" "print v_float" ".\[0-9\]* = 1" "set variable float=1" -test_set "set variable v_float=-1.0" "print v_float" ".\[0-9\]* = -1" "set variable float=-1 (minus)" -# -# test "set variable" for type "double" -# -test_set "set variable v_double=0.0" "print v_double" ".\[0-9\]* = 0" "set variable double=0" -test_set "set variable v_double=1.0" "print v_double" ".\[0-9\]* = 1" "set variable double=1" -test_set "set variable v_double=-1.0" "print v_double" "print.*.\[0-9\]* = -1" "set variable double=-1 (minus)" -# -# test "set variable" for "char array[2]" -# -test_set "set variable v_char_array\[0\]='h'" "set variable v_char_array\[1\]='i'" "print v_char_array" "print.*.\[0-9\]* =.*\"hi\"" "set variable char array=\"hi\" (string)" -# -# test "set variable" for "signed char array[2]" -# -test_set "set variable v_signed_char_array\[0\]='h'" "set variable v_signed_char_array\[1\]='i'" "print v_signed_char_array" "print.*.\[0-9\]* =.*\"hi\"" "set variable signed char array=\"hi\" (string)" -# -# test "set variable" for "unsigned char array[2]" -# -test_set "set variable v_unsigned_char_array\[0\]='h'" "set variable v_unsigned_char_array\[1\]='i'" "print v_unsigned_char_array" "print.*.\[0-9\]* =.*\"hi\"" "set variable unsigned char array=\"hi\" (string)" -# -# test "set variable" for "short array[2]" -# -test_set "set variable v_short_array\[0\]=123" "set variable v_short_array\[1\]=-456" "print v_short_array" "print.*.\[0-9\]* =.*\{123,.*-456\}" "set variable short array" -# -# test "set variable" for "signed short array[2]" -# -test_set "set variable v_signed_short_array\[0\]=123" "set variable v_signed_short_array\[1\]=-456" "print v_signed_short_array" "print.*.\[0-9\]* =.*\{123,.*-456\}" "set variable signed short array" -# -# test "set variable" for "unsigned short array[2]" -# -test_set "set variable v_unsigned_short_array\[0\]=123" "set variable v_unsigned_short_array\[1\]=-456" "print v_unsigned_short_array" "print.*.\[0-9\]* =.*\{123,.*65080\}" "set variable unsigned short array" -# -# test "set variable" for "int array[2]" -# -test_set "set variable v_int_array\[0\]=123" "set variable v_int_array\[1\]=-456" "print v_int_array" "print.*.\[0-9\]* =.*\{123,.*-456\}" "set variable int array" -# -# test "set variable" for "signed int array[2]" -# -test_set "set variable v_signed_int_array\[0\]=123" "set variable v_signed_int_array\[1\]=-456" "print v_signed_int_array" "print.*.\[0-9\]* =.*\{123,.*-456\}" "set variable signed int array" -# -# test "set variable" for "unsigned int array[2]" -# -test_set "set variable v_unsigned_int_array\[0\]=123" "set variable v_unsigned_int_array\[1\]=-456" "print v_unsigned_int_array" "print.*.\[0-9\]* =.*\{123,.*(4294966840|65080)\}" "set variable unsigned int array" -# -# test "set variable" for "long array[2]" -# -test_set "set variable v_long_array\[0\]=123" "set variable v_long_array\[1\]=-456" "print v_long_array" "print.*.\[0-9\]* =.*\{123,.*-456\}" "set variable long array" -# -# test "set variable" for "signed long array[2]" -# -test_set "set variable v_signed_long_array\[0\]=123" "set variable v_signed_long_array\[1\]=-456" "print v_signed_long_array" "print.*.\[0-9\]* =.*\{123,.*-456\}" "set variable signed long array" -# -# test "set variable" for "unsigned long array[2]" -# -test_set "set variable v_unsigned_long_array\[0\]=123" "set variable v_unsigned_long_array\[1\]=-456" "print v_unsigned_long_array" "print.*.\[0-9\]* =.*\{123,.*$ulong_minus_456\}" "set variable unsigned long array" -# -# test "set variable" for "float array[2]" -# -test_set "set variable v_float_array\[0\]=123.0" "set variable v_float_array\[1\]=-456.0" "print v_float_array" "print.*.\[0-9\]* =.*\{123,.*-456\}" "set variable float array" -# -# test "set variable" for "double array[2]" -# -test_set "set variable v_double_array\[0\]=123.0" "set variable v_double_array\[1\]=-456.0" "print v_double_array" "print.*.\[0-9\]* =.*\{123,.*-456\}" "set variable double array" -# -# test "set variable" for type "char *" -# -test_set "set v_char_pointer=v_char_array" "set variable *(v_char_pointer)='h'" "set variable *(v_char_pointer+1)='i'" "print v_char_array" "print.*.\[0-9\]* =.*\"hi\"" "print *(v_char_pointer+1)" "print.*.\[0-9\]* = 105 \'i\'" "set variable char pointer=\"hi\" (string)" -# -# test "set variable" for type "signed char *" -# -test_set "set v_signed_char_pointer=v_signed_char_array" "set variable *(v_signed_char_pointer)='h'" "set variable *(v_signed_char_pointer+1)='i'" "print v_signed_char_array" "print.*.\[0-9\]* =.*\"hi\"" "print *(v_signed_char_pointer+1)" "print.*.\[0-9\]* = 105 \'i\'" "set variable signed char pointer=\"hi\" (string)" -# -# test "set variable" for type "unsigned char *" -# -test_set "set v_unsigned_char_pointer=v_unsigned_char_array" "set variable *(v_unsigned_char_pointer)='h'" "set variable *(v_unsigned_char_pointer+1)='i'" "print v_unsigned_char_array" "print.*.\[0-9\]* =.*\"hi\"" "print *(v_unsigned_char_pointer+1)" "print.*.\[0-9\]* = 105 \'i\'" "set variable unsigned char pointer=\"hi\" (string)" -# -# test "set variable" for type "short *" -# -test_set "set v_short_pointer=v_short_array" "set variable *(v_short_pointer)=123" "set variable *(v_short_pointer+1)=-456" "print v_short_array" "print.*.\[0-9\]* =.*\{123,.*-456\}" "print *(v_short_pointer+1)" "print.*.\[0-9\]* = -456" "set variable short pointer" -# -# test "set variable" for type "signed short *" -# -gdb_test "set v_signed_short_pointer=v_signed_short_array" "" -gdb_test "set variable *(v_signed_short_pointer)=123" "" -gdb_test "set variable *(v_signed_short_pointer+1)=-456" "" -gdb_test "print v_signed_short_array" ".\[0-9\]* =.*\{123,.*-456\}" \ - "set variable signed short pointer" -gdb_test "print *(v_signed_short_pointer+1)" ".\[0-9\]*.*=.*-456" -# -# test "set variable" for type "unsigned short *" -# -gdb_test "set v_unsigned_short_pointer=v_unsigned_short_array" "" -gdb_test "set variable *(v_unsigned_short_pointer)=123" "" -gdb_test "set variable *(v_unsigned_short_pointer+1)=-456" "" -gdb_test "print v_unsigned_short_array" ".\[0-9\]* =.*\{123,.*65080\}" \ - "set variable unsigned short pointer" -gdb_test "print *(v_unsigned_short_pointer+1)" ".\[0-9\]* = 65080" -# -# test "set variable" for type "int *" -# -test_set "set v_int_pointer=v_int_array" "set variable *(v_int_pointer)=123" "set variable *(v_int_pointer+1)=-456" "print v_int_array" "print.*.\[0-9\]* =.*\{123,.*-456\}" "print *(v_int_pointer+1)" "print.*.\[0-9\]* = -456" "set variable int pointer" -# -# test "set variable" for type "signed int *" -# -test_set "set v_signed_int_pointer=v_signed_int_array" "set variable *(v_signed_int_pointer)=123" "set variable *(v_signed_int_pointer+1)=-456" "print v_signed_int_array" "print.*.\[0-9\]* =.*\{123,.*-456\}" "print *(v_signed_int_pointer+1)" "print.*.\[0-9\]* = -456" "set variable signed int pointer" -# -# test "set variable" for type "unsigned int *" -# -test_set "set v_unsigned_int_pointer=v_unsigned_int_array" "set variable *(v_unsigned_int_pointer)=123" "set variable *(v_unsigned_int_pointer+1)=-456" "print v_unsigned_int_array" "print.*.\[0-9\]* =.*\{123,.*(4294966840|65080)\}" "set variable unsigned int pointer" -test_set "" "print *(v_unsigned_int_pointer+1)" "print.*.\[0-9\]* = (4294966840|65080)" "print variable unsigned int pointer+1" -# -# test "set variable" for type "long *" -# -test_set "set v_long_pointer=v_long_array" "set variable *(v_long_pointer)=123" "set variable *(v_long_pointer+1)=-456" "print v_long_array" "print.*.\[0-9\]* =.*\{123,.*-456\}" "print *(v_long_pointer+1)" "print.*.\[0-9\]* = -456" "set variable long pointer" -# -# test "set variable" for type "signed long *" -# -test_set "set v_signed_long_pointer=v_signed_long_array" "set variable *(v_signed_long_pointer)=123" "set variable *(v_signed_long_pointer+1)=-456" "print v_signed_long_array" "print.*.\[0-9\]* =.*\{123,.*-456\}" "print *(v_signed_long_pointer+1)" "print.*.\[0-9\]* = -456" "set variable signed long pointer" -# -# test "set variable" for type "unsigned long *" -# -test_set "set v_unsigned_long_pointer=v_unsigned_long_array" "set variable *(v_unsigned_long_pointer)=123" "set variable *(v_unsigned_long_pointer+1)=-456" "print v_unsigned_long_array" "print.*.\[0-9\]* =.*\{123,.*$ulong_minus_456\}" "print *(v_unsigned_long_pointer+1)" "print.*.\[0-9\]* = $ulong_minus_456" "set variable unsigned long pointer" -# -# test "set variable" for type "float *" -# -test_set "set v_float_pointer=v_float_array" "set variable *(v_float_pointer)=123.0" "set variable *(v_float_pointer+1)=-456.0" "print v_float_array" "print.*.\[0-9\]* =.*\{123,.*-456\}" "print *(v_float_pointer+1)" "print.*.\[0-9\]* = -456" "set variable float pointer" -# -# test "set variable" for type "double *" -# -test_set "set v_double_pointer=v_double_array" "set variable *(v_double_pointer)=123.0" "set variable *(v_double_pointer+1)=-456.0" "print v_double_array" "print.*.\[0-9\]* =.*\{123,.*-456\}" "print *(v_double_pointer+1)" "print.*.\[0-9\]* = -456" "set variable double pointer" -# -# test "set variable" for struct members -# -test_set "set variable v_struct1.v_char_member='h'" "print v_struct1.v_char_member" "print.*.\[0-9\]* = 104 \'h\'" "set variable structure char member" -test_set "set variable v_struct1.v_short_member=1" "print v_struct1.v_short_member" "print.*.\[0-9\]* = 1" "set variable structure short member" -test_set "set variable v_struct1.v_int_member=2" "print v_struct1.v_int_member" "print.*.\[0-9\]* = 2" "set variable structure int member" -test_set "set variable v_struct1.v_long_member=3" "print v_struct1.v_long_member" "print.*.\[0-9\]* = 3" "set variable structure long member" -test_set "set variable v_struct1.v_float_member=4.0" "print v_struct1.v_float_member" "print.*.\[0-9\]* = 4" "set variable structure float member" -test_set "set variable v_struct1.v_double_member=5.0" "print v_struct1.v_double_member" "print.*.\[0-9\]* = 5" "set variable structure double member" - -gdb_test "print v_struct1" \ - "print.*.\[0-9\]* = \{.*v_char_member = 104 \'h\',.*v_short_member = 1,\ -.*v_int_member = 2,.*\ -v_long_member = 3,.*v_float_member = 4,.*v_double_member = 5.*\}" \ - "set print structure #1" - -# This should be an error. GCC extensions for structure constants require -# the type of the structure to be specified, as in -# v_struct1 = (struct t_struct) {32, 33, 34, 35, 36, 37} -# GDB should do the same if it wants to provide this feature. -if [target_info exists gdb,cannot_call_functions] { - setup_xfail "*-*-*" 2416 - fail "set variable v_struct1 = {32, 33, 34, 35, 36, 37}" - continue -} -gdb_test "set variable v_struct1 = {32, 33, 34, 35, 36, 37}" "Invalid.*" - -# And after the error the structure should be unchanged. -gdb_test "print v_struct1" \ - "print.*.\[0-9\]* = \{.*v_char_member = 104 \'h\',.*v_short_member = 1,\ -.*v_int_member = 2,.*\ -v_long_member = 3,.*v_float_member = 4,.*v_double_member = 5.*\}" \ - "set print structure #2" - -# Test printing of enumeration bitfields. -# GNU C supports them, some other compilers don't. - -if {$gcc_compiled} then { - gdb_test "print sef.field=sm1" "print.*.\[0-9\]* = sm1" - gdb_test "print sef.field" "print.*.\[0-9\]* = sm1" "print sef.field (sm1)" - gdb_test "print sef.field=s1" "print.*.\[0-9\]* = s1" - gdb_test "print sef.field" "print.*.\[0-9\]* = s1" "print sef.field (s1)" - gdb_test "print uef.field=u2" "print.*.\[0-9\]* = u2" - gdb_test "print uef.field" "print.*.\[0-9\]* = u2" "print uef.field (u2)" - gdb_test "print uef.field=u1" "print.*.\[0-9\]* = u1" - gdb_test "print uef.field" "print.*.\[0-9\]* = u1" "print uef.field (u1)" - - # Test for truncation when assigning invalid values to bitfields. - gdb_test "print sef.field=7" \ - "print.*warning: Value does not fit in 2 bits.*\[0-9\]* = sm1" - gdb_test "print uef.field=6" \ - "print.*warning: Value does not fit in 2 bits.*\[0-9\]* = u2" -} diff --git a/gdb/testsuite/gdb.base/shlib-call.exp b/gdb/testsuite/gdb.base/shlib-call.exp deleted file mode 100644 index f6929b88614..00000000000 --- a/gdb/testsuite/gdb.base/shlib-call.exp +++ /dev/null @@ -1,240 +0,0 @@ -# Copyright (C) 1997, 1998 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - -# Please email any bugs, comments, and/or additions to this file to: -# bug-gdb@prep.ai.mit.edu - -# file to test calls into shared libraries -# the source files for this test are: -# -# shmain.c -# shr1.c (shared lib) -# shr2.c (shared lib) -# ss.h (header for shr2.c) -# -# file written by Elena Zannoni: elz@ch.apollo.com -# - -#debug shmain -#prop lib shr1.sl -#prop lib shr2.sl - -if $tracelevel then { - strace $tracelevel -} - -set prms_id 0 -set bug_id 0 - -# are we on a target board? -if ![isnative] then { - return 0 -} - -set testfile "shmain" -set libfile "shr" -set srcfile ${testfile}.c -set binfile ${objdir}/${subdir}/${testfile} - -# build the first test case -if [get_compiler_info ${binfile}] { - return -1 -} - -if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}.o" object {debug}] != "" } { - gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail." -} - - -# Build the shared libraries this test case needs. -# - -if {$gcc_compiled == 0} { - if [istarget "hppa*-hp-hpux*"] then { - set additional_flags "additional_flags=+z" - } else { - # don't know what the compiler is... - set additional_flags "" - } -} else { - set additional_flags "additional_flags=-fpic" -} - -if {[gdb_compile "${srcdir}/${subdir}/${libfile}1.c" "${objdir}/${subdir}/${libfile}1.o" object [list debug $additional_flags]] != ""} { - gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail." -} - -if {[gdb_compile "${srcdir}/${subdir}/${libfile}2.c" "${objdir}/${subdir}/${libfile}2.o" object [list debug $additional_flags]] != ""} { - gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail." -} - -if [istarget "hppa*-*-hpux*"] { - remote_exec build "ld -b ${objdir}/${subdir}/${libfile}1.o -o ${objdir}/${subdir}/${libfile}1.sl" - remote_exec build "ld -b ${objdir}/${subdir}/${libfile}2.o -o ${objdir}/${subdir}/${libfile}2.sl" -} else { - set additional_flags "additional_flags=-shared" - if {[gdb_compile "${objdir}/${subdir}/${libfile}1.o" "${objdir}/${subdir}/${libfile}1.sl" executable [list debug $additional_flags]] != ""} { - gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail." - } - if {[gdb_compile "${objdir}/${subdir}/${libfile}2.o" "${objdir}/${subdir}/${libfile}2.sl" executable [list debug $additional_flags]] != ""} { - gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail." - } -} -if {[gdb_compile "${objdir}/${subdir}/${testfile}.o ${objdir}/${subdir}/${libfile}1.sl ${objdir}/${subdir}/${libfile}2.sl" "${binfile}" executable {debug}] != ""} { - gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail." -} - - - -# Start with a fresh gdb. - -gdb_exit -gdb_start -gdb_reinitialize_dir $srcdir/$subdir -gdb_load ${binfile} -send_gdb "set print sevenbit-strings\n" ; gdb_expect -re "$gdb_prompt $" -send_gdb "set print address off\n" ; gdb_expect -re "$gdb_prompt $" -send_gdb "set width 0\n" ; gdb_expect -re "$gdb_prompt $" - - -if ![runto_main] then { - perror "C function calling tests suppressed" -} - - -#step -over - - send_gdb "next\n" - gdb_expect { - -re ".*g = shr1\\(g\\).*$gdb_prompt $" {pass "next to shr2"} - -re ".*$gdb_prompt $" { fail "next to shr2" } - timeout { fail "next to shr2 (timeout)" } - } - - - -#print g - -send_gdb "print g\n" -gdb_expect { - -re ".*\[0-9\]* = 1.*$gdb_prompt $" { - pass "print g" - } - -re ".*$gdb_prompt $" { fail "print g" } - timeout { fail "(timeout) print g" } - } - - -#step -over - send_gdb "next\n" - gdb_expect { - -re ".*address of sgs is $hex.*g = shr2\\(g\\).*$gdb_prompt $" { - pass "next over shr1" } - -re ".*$gdb_prompt $" { fail "next over shr1" } - timeout { fail "next over shr1 (timeout)" } - } - -#print g -send_gdb "print g\n" -gdb_expect { - -re ".*\[0-9\]* = 2.*$gdb_prompt $" { - pass "print g" } - -re ".*$gdb_prompt $" { fail "print g" } - timeout { fail "(timeout) print g" } - } - -#print shr1(1) -send_gdb "print shr1(1)\n" -gdb_expect { - -re ".*address of sgs is $hex.*\[0-9\]* = 2.*$gdb_prompt $" { - pass "print shr1(1)" } - -re ".*$gdb_prompt $" { fail "print shr1(1)" } - timeout { fail "(timeout) print shr1(1)" } - } - -#print shr1(g) -send_gdb "print shr1(g)\n" -gdb_expect { - -re ".*address of sgs is $hex.*\[0-9\]* = 4.*$gdb_prompt $" { - pass "print shr1(g)" } - -re ".*$gdb_prompt $" { fail "print shr1(g)" } - timeout { fail "(timeout) print shr1(g)" } - } - -#break shr2 -#go -gdb_test "break shr2" \ - "Breakpoint.*file.*shr2.c, line.*" \ - "breakpoint function shr2" - -gdb_test continue "Continuing\\..*Breakpoint \[0-9\]+, shr2 \\(.*\\) at.*shr2\\.c:3.*3.*return 2.x;" \ -"run until breakpoint set at a function" - - -#print shr1(1) -send_gdb "print shr1(1)\n" -gdb_expect { - -re ".*address of sgs is $hex.*\[0-9\]* = 2.*$gdb_prompt $" { - pass "print shr1(1)" - } - -re ".*$gdb_prompt $" { fail "print shr1(1)" } - timeout { fail "(timeout) print shr1(1)" } - } - -#print mainshr1(1) -send_gdb "print mainshr1(1)\n" -gdb_expect { - -re ".*\[0-9\]* = 2.*$gdb_prompt $" { - pass "print mainshr1(1) from shlib func" - } - -re ".*$gdb_prompt $" { fail "print mainshr1(1) from shlib func" } - timeout { fail "(timeout) print mainshr1(1) from shlib func" } - } - -#step -return - send_gdb "step\n" - gdb_expect { - -re ".*\\\}.*$gdb_prompt $" { pass "step inside shr2 (shlib func)"} - -re ".*$gdb_prompt $" { fail "step inside shr2 (shlib func)" } - timeout { fail "step inside shr2 (shlib func) (timeout)" } - } - - send_gdb "step\n" - gdb_expect { - -re "main \\(\\) at.*g = mainshr1\\(g\\);.*$gdb_prompt $" { pass "step out of shr2 to main"} - -re ".*$gdb_prompt $" { fail "step out of shr2 to main" } - timeout { fail "step out of shr2 to main (timeout)" } - } - -#print mainshr1(1) -send_gdb "print mainshr1(1)\n" -gdb_expect { - -re ".*\[0-9\]* = 2.*$gdb_prompt $" { - pass "print mainshr1(1)" - } - -re ".*$gdb_prompt $" { fail "print mainshr1(1) from main" } - timeout { fail "(timeout) print mainshr1(1) from main" } - } - -#step - send_gdb "step\n" - gdb_expect { - -re ".*mainshr1 \\(g=4\\) at.*return 2.g;.*$gdb_prompt $" { pass "step into mainshr1"} - -re ".*$gdb_prompt $" { fail "step into mainshr1" } - timeout { fail "step into mainshr1 (timeout)" } - } - -return 0 diff --git a/gdb/testsuite/gdb.base/shmain.c b/gdb/testsuite/gdb.base/shmain.c deleted file mode 100644 index 954c3db6d02..00000000000 --- a/gdb/testsuite/gdb.base/shmain.c +++ /dev/null @@ -1,47 +0,0 @@ -/* A test */ - -#include "ss.h" -#include <stdio.h> - -extern int shr1(); -extern int shr2(); -extern float sg; - -int eglob; - -struct { - int a; - int b; -} s; - -int g; - -int local_structarg(x) -struct s x; -{ - return x.b; -} - -main() -{ - struct s y; - g = 1; - g = shr1(g); - g = shr2(g); - g = mainshr1(g); - sg = 1.1; - printf("address of sg is 0x%x\n", &sg); - y.a = 3; - y.b = 4; - g = local_structarg(y); - g = structarg(y); - g = pstructarg(&y); -} - -int mainshr1(g) -int g; -{ - return 2*g; -} - - diff --git a/gdb/testsuite/gdb.base/sigall.exp b/gdb/testsuite/gdb.base/sigall.exp deleted file mode 100644 index d483788bc14..00000000000 --- a/gdb/testsuite/gdb.base/sigall.exp +++ /dev/null @@ -1,211 +0,0 @@ -# Copyright (C) 1995 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ - -if $nosignals { - verbose "Skipping sigall.exp because of nosignals." - continue - } - -if $tracelevel then { - strace $tracelevel -} - -set prms_id 0 -set bug_id 0 - -gdb_exit -gdb_start -gdb_reinitialize_dir $srcdir/$subdir - -set testfile sigall -set srcfile ${testfile}.c -set binfile ${objdir}/${subdir}/${testfile} -if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug}] != "" } { - perror "Couldn't compile ${srcfile}" - return -1 -} - -# Make the first signal SIGABRT because it is always supported. -set sig_supported 1 -set thissig "ABRT" - -proc test_one_sig {nextsig} { - global sig_supported - global gdb_prompt - global thissig - - set this_sig_supported $sig_supported - gdb_test "handle SIG$thissig stop print" \ - "SIG$thissig\[ \t\]*Yes\[ \t\]*Yes\[ \t\]*Yes.*" - gdb_test "b handle_$thissig" "Breakpoint \[0-9\]+ .*" - gdb_test "b gen_$nextsig" "Breakpoint \[0-9\]+ .*" - - set need_another_continue 1 - set missed_handler 0 - if $this_sig_supported then { - send_gdb "continue\n" - if { $thissig == "IO" } { - setup_xfail "i*86-pc-linuxoldld-gnu" "i*86-pc-linuxaout-gnu" - } - expect { - -re "Continuing.*Program received signal SIG$thissig.*$gdb_prompt $" { - pass "get signal $thissig" - } - -re ".*$gdb_prompt $" { - fail "get signal $thissig" - set need_another_continue 0 - } - default { - fail "get signal $thissig (eof or timeout)" - } - } - } - if [ istarget "alpha-dec-osf3*" ] then { - # OSF/1-3.x is unable to continue with a job control stop signal. - # The inferior remains stopped without an event of interest - # and GDB waits forever for the inferior to stop on an event - # of interest. Work around the kernel bug. - if { $thissig == "TSTP" || $thissig == "TTIN" || $thissig == "TTOU" } { - setup_xfail "alpha-dec-osf3*" - fail "cannot continue from signal $thissig" - set need_another_continue 0 - } - } - - if $need_another_continue then { - send_gdb "continue\n" - if { $thissig == "URG" } { - setup_xfail "i*86-pc-linuxoldld-gnu" "i*86-pc-linuxaout-gnu" - } - # Either Lynx or GDB screws up on SIGPRIO - if { $thissig == "PRIO" } { - setup_xfail "*-*-*lynx*" - } - expect { - -re "Breakpoint.*handle_$thissig.*$gdb_prompt $" { - pass "send signal $thissig" - } - -re "Breakpoint.*gen_$nextsig.*kill.*$gdb_prompt $" { - fail "missed breakpoint at handle_$thissig" - set missed_handler 1 - } - } - } - - if { $missed_handler == "0" } then { - send_gdb "signal 0\n" - expect { - -re "Breakpoint.*gen_$nextsig.*kill.*$gdb_prompt $" { - pass "advance to $nextsig" - set sig_supported 1 - } - -re "Breakpoint.*gen_$nextsig.*handle.*$gdb_prompt $" { - pass "advance to $nextsig" - set sig_supported 0 - } - -re ".*$gdb_prompt $" { fail "advance to $nextsig" } - default { fail "advance to $nextsig (eof or timeout)" } - } - } - set thissig $nextsig -} - -gdb_load $binfile - -runto gen_ABRT -test_one_sig HUP -test_one_sig QUIT -test_one_sig ILL -test_one_sig EMT -test_one_sig FPE -test_one_sig BUS -test_one_sig SEGV -test_one_sig SYS -test_one_sig PIPE -test_one_sig ALRM -test_one_sig URG -test_one_sig TSTP -test_one_sig CONT -test_one_sig CHLD -test_one_sig TTIN -test_one_sig TTOU -test_one_sig IO -test_one_sig XCPU -test_one_sig XFSZ -test_one_sig VTALRM -test_one_sig PROF -test_one_sig WINCH -test_one_sig LOST -test_one_sig USR1 -test_one_sig USR2 -test_one_sig PWR -test_one_sig POLL -test_one_sig WIND -test_one_sig PHONE -test_one_sig WAITING -test_one_sig LWP -test_one_sig DANGER -test_one_sig GRANT -test_one_sig RETRACT -test_one_sig MSG -test_one_sig SOUND -test_one_sig SAK -test_one_sig PRIO -test_one_sig 33 -test_one_sig 34 -test_one_sig 35 -test_one_sig 36 -test_one_sig 37 -test_one_sig 38 -test_one_sig 39 -test_one_sig 40 -test_one_sig 41 -test_one_sig 42 -test_one_sig 43 -test_one_sig 44 -test_one_sig 45 -test_one_sig 46 -test_one_sig 47 -test_one_sig 48 -test_one_sig 49 -test_one_sig 50 -test_one_sig 51 -test_one_sig 52 -test_one_sig 53 -test_one_sig 54 -test_one_sig 55 -test_one_sig 56 -test_one_sig 57 -test_one_sig 58 -test_one_sig 59 -test_one_sig 60 -test_one_sig 61 -test_one_sig 62 -test_one_sig 63 -test_one_sig TERM - -# The last signal (SIGTERM) gets handled slightly differently because -# we are not setting up for another test. -gdb_test "handle SIGTERM stop print" \ - "SIGTERM\[ \t\]*Yes\[ \t\]*Yes\[ \t\]*Yes.*" -gdb_test "b handle_TERM" "Breakpoint \[0-9\]+ .*" -gdb_test "continue" \ - "Continuing.*Program received signal SIGTERM.*" \ - "get signal TERM" -gdb_test "continue" "Breakpoint.*handle_TERM.*" "send signal TERM" -gdb_test "continue" "Program exited normally\\." "continue to sigall exit" - -return 0 diff --git a/gdb/testsuite/gdb.base/signals.exp b/gdb/testsuite/gdb.base/signals.exp deleted file mode 100644 index f315d3cc2b1..00000000000 --- a/gdb/testsuite/gdb.base/signals.exp +++ /dev/null @@ -1,397 +0,0 @@ -# Copyright (C) 1997 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - -# Please email any bugs, comments, and/or additions to this file to: -# bug-gdb@prep.ai.mit.edu - -if [target_info exists gdb,nosignals] { - verbose "Skipping signals.exp because of nosignals." - continue -} - -if $tracelevel then { - strace $tracelevel -} - -set prms_id 0 -set bug_id 0 - -set testfile signals -set srcfile ${testfile}.c -set binfile ${objdir}/${subdir}/${testfile} -if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug}] != "" } { - perror "Couldn't compile ${srcfile}" - return -1 -} - -# Create and source the file that provides information about the compiler -# used to compile the test case. -if [get_compiler_info ${binfile}] { - return -1; -} - -proc signal_tests_1 {} { - global gdb_prompt - if [runto_main] then { - gdb_test "next" "signal \\(SIGUSR1.*" \ - "next over signal (SIGALRM, handler)" - gdb_test "next" "alarm \\(.*" \ - "next over signal (SIGUSR1, handler)" - gdb_test "next" "\\+\\+count; /\\* first \\*/" \ - "next over alarm (1)" - # An alarm has been signaled, give the signal time to get delivered. - sleep 2 - - # i386 BSD currently fails the next test with a SIGTRAP. - setup_xfail "i*86-*-bsd*" - # But Dynix has a DECR_PC_AFTER_BREAK of zero, so the failure - # is shadowed by hitting the through_sigtramp_breakpoint. - clear_xfail "i*86-sequent-bsd*" - # Univel SVR4 i386 continues instead of stepping. - setup_xfail "i*86-univel-sysv4*" - # lynx fails with "next" acting like "continue" - setup_xfail "*-*-*lynx*" - # linux (aout versions) also fails with "next" acting like "continue" - # this is probably more dependant on the kernel version than on the - # object file format or utils. (sigh) - setup_xfail "i*86-pc-linuxaout-gnu" "i*86-pc-linuxoldld-gnu" - send_gdb "next\n" - gdb_expect { - -re "alarm .*$gdb_prompt $" { pass "next to 2nd alarm (1)" } - -re "Program received signal SIGTRAP.*first.*$gdb_prompt $" { - - # This can happen on machines that have a trace flag - # in their PS register. - # The trace flag in the PS register will be set due to - # the `next' command. - # Before calling the signal handler, the PS register - # is pushed along with the context on the user stack. - # When the signal handler has finished, it reenters the - # the kernel via a sigreturn syscall, which restores the - # PS register along with the context. - # If the kernel erroneously does not clear the trace flag - # in the pushed context, gdb will receive a SIGTRAP from - # the set trace flag in the restored context after the - # signal handler has finished. - - # I do not yet understand why the SIGTRAP does not occur - # after stepping the instruction at the restored PC on - # i386 BSDI 1.0 systems. - - # Note that the vax under Ultrix also exhibits - # this behaviour (it is uncovered by the `continue from - # a break in a signal handler' test below). - # With this test the failure is shadowed by hitting the - # through_sigtramp_breakpoint upon return from the signal - # handler. - - fail "next to 2nd alarm (1) (probably kernel bug)" - gdb_test "next" "alarm.*" "next to 2nd alarm (1)" - } - -re "Program exited with code.*$gdb_prompt $" { - - # This is apparently a bug in the UnixWare kernel (but - # has not been investigated beyond the - # resume/target_wait level, and has not been reported - # to Univel). If it steps when a signal is pending, - # it does a continue instead. I don't know whether - # there is a workaround. - - # Perhaps this problem exists on other SVR4 systems; - # but (a) we have no reason to think so, and (b) if we - # put a wrong xfail here, we never get an XPASS to let - # us know that it was incorrect (and then if such a - # configuration regresses we have no way of knowing). - # Solaris is not a relevant data point either way - # because it lacks single stepping. - - # fnf: I don't agree with the above philosophy. We - # can never be sure that any particular XFAIL is - # specified 100% correctly in that no systems with - # the bug are missed and all systems without the bug - # are excluded. If we include an XFAIL that isn't - # appropriate for a particular system, then when that - # system gets tested it will XPASS, and someone should - # investigate and fix the setup_xfail as appropriate, - # or more preferably, the actual bug. Each such case - # adds more data to narrowing down the scope of the - # problem and ultimately fixing it. - - setup_xfail "i*86-*-sysv4*" - fail "'next' behaved as 'continue (known SVR4 bug)'" - return 0 - } - -re ".*$gdb_prompt $" { fail "next to 2nd alarm (1)" } - timeout { fail "next to 2nd alarm (1); (timeout)" } - eof { fail "next to 2nd alarm (1); (eof)" } - } - - gdb_test "break handler" "Breakpoint \[0-9\]+ .*" - gdb_test "next" "\\+\\+count; /\\* second \\*/" \ - "next to 2nd ++count in signals_tests_1" - # An alarm has been signaled, give the signal time to get delivered. - sleep 2 - - set bash_bug 0 - send_gdb "next\n" - setup_xfail "i*86-pc-linux-gnu" - gdb_expect { - -re "Breakpoint.*handler.*$gdb_prompt $" { - pass "next to handler in signals_tests_1" - } - -re "Program received signal SIGEMT.*$gdb_prompt $" { - # Bash versions before 1.13.5 cause this behaviour - # by blocking SIGTRAP. - fail "next to handler in signals_tests_1 (known problem with bash versions before 1.13.5)" - set bash_bug 1 - gdb_test "signal 0" "Breakpoint.*handler.*" - } - -re ".*$gdb_prompt $" { fail "next to handler in signals_tests_1" } - timeout { fail "next to handler in signals_tests_1 (timeout)" } - eof { fail "next to handler in signals_tests_1 (eof)" } - } - - # This doesn't test that main is frame #2, just that main is frame - # #2, #3, or higher. At some point this should be fixed (but - # it quite possibly would introduce new FAILs on some systems). - setup_xfail "i*86-pc-linux-gnu" "i*86-*-bsdi2.0" - gdb_test "backtrace" "#0.*handler.*#1.*#2.*main.*" \ - "backtrace in signals_tests_1" - - gdb_test "break func1" "Breakpoint \[0-9\]+ .*" - gdb_test "break func2" "Breakpoint \[0-9\]+ .*" - - # Vax Ultrix and i386 BSD currently fail the next test with - # a SIGTRAP, but with different symptoms. - setup_xfail "vax-*-ultrix*" - setup_xfail "i*86-*-bsd*" - setup_xfail "i*86-pc-linux-gnu" - send_gdb "continue\n" - gdb_expect { - -re "Breakpoint.*func1.*$gdb_prompt $" { pass "continue to func1" } - -re "Program received signal SIGTRAP.*second.*$gdb_prompt $" { - - # See explanation for `next to 2nd alarm (1)' fail above. - # We did step into the signal handler, hit a breakpoint - # in the handler and continued from the breakpoint. - # The set trace flag in the restored context is causing - # the SIGTRAP, without stepping an instruction. - - fail "continue to func1 (probably kernel bug)" - gdb_test "continue" "Breakpoint.*func1.*" \ - "extra continue to func1" - } - -re "Program received signal SIGTRAP.*func1 ..;.*$gdb_prompt $" { - - # On the vax under Ultrix the set trace flag in the restored - # context is causing the SIGTRAP, but after stepping one - # instruction, as expected. - - fail "continue to func1 (probably kernel bug)" - gdb_test "continue" "Breakpoint.*func1.*" \ - "extra continue to func1" - } - -re ".*$gdb_prompt $" { fail "continue to func1" } - default { fail "continue to func1" } - } - - setup_xfail "*-*-irix*" - send_gdb "signal SIGUSR1\n" - gdb_expect { - -re "Breakpoint.*handler.*$gdb_prompt $" { pass "signal SIGUSR1" } - -re "Program received signal SIGUSR1.*$gdb_prompt $" { - # This is what irix4 and irix5 do. - # It would appear to be a kernel bug. - fail "signal SIGUSR1" - gdb_test "continue" "Breakpoint.*handler.*" "pass it SIGUSR1" - } - -re ".*$gdb_prompt $" { fail "signal SIGUSR1" } - default { fail "signal SIGUSR1" } - } - - # Will tend to wrongly require an extra continue. - - # The problem here is that the breakpoint at func1 will be - # inserted, and when the system finishes with the signal - # handler it will try to execute there. For GDB to try to - # remember that it was going to step over a breakpoint when a - # signal happened, distinguish this case from the case where - # func1 is called from the signal handler, etc., seems - # exceedingly difficult. So don't expect this to get fixed - # anytime soon. - - setup_xfail "*-*-*" - send_gdb "continue\n" - gdb_expect { - -re "Breakpoint.*func2.*$gdb_prompt $" { pass "continue to func2" } - -re "Breakpoint.*func1.*$gdb_prompt $" { - fail "continue to func2" - gdb_test "continue" "Breakpoint.*func2.*" \ - "extra continue to func2" - } - -re ".*$gdb_prompt $" { fail "continue to func2" } - default { fail "continue to func2" } - } - - sleep 2 - - # GDB yanks out the breakpoints to step over the breakpoint it - # stopped at, which means the breakpoint at handler is yanked. - # But if NO_SINGLE_STEP, we won't get another chance to reinsert - # them (at least not with procfs, where we tell the kernel not - # to tell gdb about `pass' signals). So the fix would appear to - # be to just yank that one breakpoint when we step over it. - - setup_xfail "sparc*-*-*" - setup_xfail "rs6000-*-*" - setup_xfail "powerpc-*-*" - - # A faulty bash will not step the inferior into sigtramp on sun3. - if {$bash_bug} then { - setup_xfail "m68*-*-sunos4*" - } - - setup_xfail "i*86-pc-linux-gnu" - gdb_test "continue" "Breakpoint.*handler.*" "continue to handler" - - # If the NO_SINGLE_STEP failure happened, we have already exited. - # If we succeeded a continue will return from the handler to func2. - # GDB now has `forgotten' that it intended to step over the - # breakpoint at func2 and will stop at func2. - setup_xfail "*-*-*" - # The sun3 with a faulty bash will also be `forgetful' but it - # already got the spurious stop at func2 and this continue will work. - if {$bash_bug} then { - clear_xfail "m68*-*-sunos4*" - } - gdb_test "continue" "Program exited with code 010\\." \ - "continue to exit in signals_tests_1 " - } -} - -# On a few losing systems, ptrace (PT_CONTINUE) or ptrace (PT_STEP) -# causes pending signals to be cleared, which causes these tests to -# get nowhere fast. This is totally losing behavior (perhaps there -# are cases in which is it useful but the user needs more control, -# which they mostly have in GDB), but some people apparently think it -# is a feature. It is documented in the ptrace manpage on Motorola -# Delta Series sysV68 R3V7.1 and on HPUX 9.0. Even the non-HPUX PA -# OSes (BSD and OSF/1) seem to have figured they had to copy this -# braindamage. - -if {[ istarget "m68*-motorola-*" ] || [ istarget "hppa*-*-bsd*" ] || - [ istarget "*-*-hpux*" ] || [ istarget "hppa*-*-osf*" ]} then { - setup_xfail "*-*-*" - fail "ptrace loses on signals on this target" - return 0 -} - -# lynx2.2.2 doesn't lose signals, instead it screws up the stack pointer -# in some of these tests leading to massive problems. I've -# reported this to lynx, hopefully it'll be fixed in lynx2.3. -# Severe braindamage. -if [ istarget "*-*-*lynx*" ] then { - setup_xfail "*-*-*" - fail "kernel scroggs stack pointer in signal tests on this target" - return 0 -} - -gdb_exit -gdb_start - -# This will need to be updated as the exact list of signals changes, -# but I want to test that TARGET_SIGNAL_0, TARGET_SIGNAL_DEFAULT, and -# TARGET_SIGNAL_UNKNOWN are skipped. -proc test_handle_all_print {} { - global timeout - # Increase timeout and expect input buffer for large output from gdb. - # Allow blank or TAB as whitespace characters. - set oldtimeout $timeout - set timeout [expr "$timeout + 360"] - verbose "Timeout is now $timeout seconds" 2 - match_max 10000 - gdb_test "handle all print" "Signal\[ \]+Stop\[ \]+Print\[ \]+Pass to program\[ \]+Description\r\nSIGHUP\[ \]+Yes\[ \]+Yes\[ \]+Yes\[ \]+Hangup.*SIG63\[ \]+Yes\[ \]+Yes\[ \]+Yes\[ \]+Real-time event 63.*EXC_BREAKPOINT\[ \]+Yes\[ \]+Yes\[ \]+Yes\[ \]+Breakpoint" - set timeout $oldtimeout - verbose "Timeout restored to $timeout seconds" 2 -} -test_handle_all_print - -gdb_exit -gdb_start -gdb_reinitialize_dir $srcdir/$subdir -gdb_load $binfile -signal_tests_1 - -# Force a resync, so we're looking at the right prompt. On SCO we -# were getting out of sync (I don't understand why). -send_gdb "p 1+1\n" -gdb_expect { - -re "= 2.*$gdb_prompt $" {} - -re ".*$gdb_prompt $" { perror "sync trouble in signals.exp" } - default { perror "sync trouble in signals.exp" } -} - -if [runto_main] then { - gdb_test "break handler if 0" "Breakpoint \[0-9\]+ .*" - gdb_test "set \$handler_breakpoint_number = \$bpnum" "" - - # Get to the point where a signal is waiting to be delivered - gdb_test "next" "signal \\(SIGUSR1.*" "next to signal in signals.exp" - gdb_test "next" "alarm \\(.*" "next to alarm #1 in signals.exp" - gdb_test "next" "\\+\\+count; /\\* first \\*/" \ - "next to ++count #1 in signals.exp" - # Give the signal time to get delivered - sleep 2 - - # Now call a function. When GDB tries to run the stack dummy, - # it will hit the breakpoint at handler. Provided it doesn't - # lose its cool, this is not a problem, it just has to note - # that the breakpoint condition is false and keep going. - - gdb_test "p func1 ()" "^p func1 \\(\\)\r\n.\[0-9\]* = void" \ - "p func1 () #1 in signals.exp" - - # Make sure the count got incremented. - - # Haven't investigated this xfail - setup_xfail "rs6000-*-*" - setup_xfail "powerpc-*-*" - gdb_test "p count" "= 2" "p count #1 in signals.exp" - if { [istarget "rs6000-*-*"] || [istarget "powerpc-*-*"] } { return 0 } - - gdb_test "condition \$handler_breakpoint_number" "now unconditional\\." - gdb_test "next" "alarm \\(.*" "next to alarm #2 in signals.exp" - gdb_test "next" "\\+\\+count; /\\* second \\*/" \ - "next to ++count #2 in signals.exp" - sleep 2 - - # This time we stop when GDB tries to run the stack dummy. - # So it is OK that we do not print the return value from the function. - gdb_test "p func1 ()" \ -"Breakpoint \[0-9\]*, handler.* -The program being debugged stopped while in a function called from GDB.*" \ - "p func1 () #2 in signals.exp" - # But we should be able to backtrace... - # On alpha-*-osf2.0 this test works when run manually but sometime fails when - # run under dejagnu, making it very hard to debug the problem. Weird... - gdb_test "bt" "#0.*handler.*#1.*#2.*main.*" "bt in signals.exp" - # ...and continue... - gdb_test "continue" "Continuing\\." "continue in signals.exp" - # ...and then count should have been incremented - gdb_test "p count" "= 5" "p count #2 in signals.exp" -} - -return 0 diff --git a/gdb/testsuite/gdb.base/smoke.c b/gdb/testsuite/gdb.base/smoke.c deleted file mode 100644 index 69d34c9790f..00000000000 --- a/gdb/testsuite/gdb.base/smoke.c +++ /dev/null @@ -1,40 +0,0 @@ -/* Test various kinds of stepping. -*/ -int glob = 0; - -int callee() { - glob++; - return (0); -} - -int main () { - int w,x,y,z; - int a[10], b[10]; - - /* Test "next" and "step" */ - w = 0; - x = 1; - y = 2; - z = 3; - w = w + 2; - x = x + 3; - y = y + 4; - z = z + 5; - - /* Test that "next" goes over a call */ - callee(); /* OVER */ - - /* Test that "step" doesn't */ - callee(); /* INTO */ - - /* Test "stepi" */ - a[5] = a[3] - a[4]; - callee(); /* STEPI */ - - /* Test "nexti" */ - callee(); /* NEXTI */ - - y = w + z; - - return (0); -} diff --git a/gdb/testsuite/gdb.base/smoke.cc b/gdb/testsuite/gdb.base/smoke.cc deleted file mode 100644 index 931fdaf061b..00000000000 --- a/gdb/testsuite/gdb.base/smoke.cc +++ /dev/null @@ -1,480 +0,0 @@ -// Test various -*- C++ -*- things. - -typedef struct fleep fleep; -struct fleep { int a; } s; - -// ====================== simple class structures ======================= - -struct default_public_struct { - // defaults to public: - int a; - int b; -}; - -struct explicit_public_struct { - public: - int a; - int b; -}; - -struct protected_struct { - protected: - int a; - int b; -}; - -struct private_struct { - private: - int a; - int b; -}; - -struct mixed_protection_struct { - public: - int a; - int b; - private: - int c; - int d; - protected: - int e; - int f; - public: - int g; - private: - int h; - protected: - int i; -}; - -class public_class { - public: - int a; - int b; -}; - -class protected_class { - protected: - int a; - int b; -}; - -class default_private_class { - // defaults to private: - int a; - int b; -}; - -class explicit_private_class { - private: - int a; - int b; -}; - -class mixed_protection_class { - public: - int a; - int b; - private: - int c; - int d; - protected: - int e; - int f; - public: - int g; - private: - int h; - protected: - int i; -}; - -// ========================= simple inheritance ========================== - -class A { - public: - int a; - int x; -}; - -A g_A; - -class B : public A { - public: - int b; - int x; -}; - -B g_B; - -class C : public A { - public: - int c; - int x; -}; - -C g_C; - -class D : public B, public C { - public: - int d; - int x; -}; - -D g_D; - -class E : public D { - public: - int e; - int x; -}; - -E g_E; - -class class_with_anon_union -{ - public: - int one; - union - { - int a; - long b; - }; -}; - -class_with_anon_union g_anon_union; - -void inheritance2 (void) -{ -} - -void inheritance1 (void) -{ - int ival; - int *intp; - - // {A::a, A::x} - - g_A.A::a = 1; - g_A.A::x = 2; - - // {{A::a,A::x},B::b,B::x} - - g_B.A::a = 3; - g_B.A::x = 4; - g_B.B::b = 5; - g_B.B::x = 6; - - // {{A::a,A::x},C::c,C::x} - - g_C.A::a = 7; - g_C.A::x = 8; - g_C.C::c = 9; - g_C.C::x = 10; - - // {{{A::a,A::x},B::b,B::x},{{A::a,A::x},C::c,C::x},D::d,D::x} - - // The following initialization code is non-portable, but allows us - // to initialize all members of g_D until we can fill in the missing - // initialization code with legal C++ code. - - for (intp = (int *) &g_D, ival = 11; - intp < ((int *) &g_D + sizeof (g_D) / sizeof (int)); - intp++, ival++) - { - *intp = ival; - } - - // Overlay the nonportable initialization with legal initialization. - - // ????? = 11; (g_D.A::a = 11; is ambiguous) - // ????? = 12; (g_D.A::x = 12; is ambiguous) - g_D.B::b = 13; - g_D.B::x = 14; - // ????? = 15; - // ????? = 16; - g_D.C::c = 17; - g_D.C::x = 18; - g_D.D::d = 19; - g_D.D::x = 20; - - - // {{{{A::a,A::x},B::b,B::x},{{A::a,A::x},C::c,C::x},D::d,D::x}},E::e,E::x} - - // The following initialization code is non-portable, but allows us - // to initialize all members of g_D until we can fill in the missing - // initialization code with legal C++ code. - - for (intp = (int *) &g_E, ival = 21; - intp < ((int *) &g_E + sizeof (g_E) / sizeof (int)); - intp++, ival++) - { - *intp = ival; - } - - // Overlay the nonportable initialization with legal initialization. - - // ????? = 21; (g_E.A::a = 21; is ambiguous) - // ????? = 22; (g_E.A::x = 22; is ambiguous) - g_E.B::b = 23; - g_E.B::x = 24; - // ????? = 25; - // ????? = 26; - g_E.C::c = 27; - g_E.C::x = 28; - g_E.D::d = 29; - g_E.D::x = 30; - g_E.E::e = 31; - g_E.E::x = 32; - - g_anon_union.one = 1; - g_anon_union.a = 2; - - inheritance2 (); -} - -// ======================== virtual base classes========================= - -class vA { - public: - int va; - int vx; -}; - -vA g_vA; - -class vB : public virtual vA { - public: - int vb; - int vx; -}; - -vB g_vB; - -class vC : public virtual vA { - public: - int vc; - int vx; -}; - -vC g_vC; - -class vD : public virtual vB, public virtual vC { - public: - int vd; - int vx; -}; - -vD g_vD; - -class vE : public virtual vD { - public: - int ve; - int vx; -}; - -vE g_vE; - -void inheritance4 (void) -{ -} - -void inheritance3 (void) -{ - int ival; - int *intp; - - // {vA::va, vA::vx} - - g_vA.vA::va = 1; - g_vA.vA::vx = 2; - - // {{vA::va, vA::vx}, vB::vb, vB::vx} - - g_vB.vA::va = 3; - g_vB.vA::vx = 4; - g_vB.vB::vb = 5; - g_vB.vB::vx = 6; - - // {{vA::va, vA::vx}, vC::vc, vC::vx} - - g_vC.vA::va = 7; - g_vC.vA::vx = 8; - g_vC.vC::vc = 9; - g_vC.vC::vx = 10; - - // {{{{vA::va, vA::vx}, vB::vb, vB::vx}, vC::vc, vC::vx}, vD::vd,vD::vx} - - g_vD.vA::va = 11; - g_vD.vA::vx = 12; - g_vD.vB::vb = 13; - g_vD.vB::vx = 14; - g_vD.vC::vc = 15; - g_vD.vC::vx = 16; - g_vD.vD::vd = 17; - g_vD.vD::vx = 18; - - - // {{{{{vA::va,vA::vx},vB::vb,vB::vx},vC::vc,vC::vx},vD::vd,vD::vx},vE::ve,vE::vx} - - g_vD.vA::va = 19; - g_vD.vA::vx = 20; - g_vD.vB::vb = 21; - g_vD.vB::vx = 22; - g_vD.vC::vc = 23; - g_vD.vC::vx = 24; - g_vD.vD::vd = 25; - g_vD.vD::vx = 26; - g_vE.vE::ve = 27; - g_vE.vE::vx = 28; - - inheritance4 (); -} - -// ====================================================================== - -class Base1 { - public: - int x; - Base1(int i) { x = i; } -}; - -class Foo -{ - public: - int x; - int y; - static int st; - Foo (int i, int j) { x = i; y = j; } - int operator! (); - operator int (); - int times (int y); -}; - -class Bar : public Base1, public Foo { - public: - int z; - Bar (int i, int j, int k) : Base1 (10*k), Foo (i, j) { z = k; } -}; - -int Foo::operator! () { return !x; } - -int Foo::times (int y) { return x * y; } - -int Foo::st = 100; - -Foo::operator int() { return x; } - -Foo foo(10, 11); -Bar bar(20, 21, 22); - -class Contains_static_instance -{ - public: - int x; - int y; - Contains_static_instance (int i, int j) { x = i; y = j; } - static Contains_static_instance null; -}; - -Contains_static_instance Contains_static_instance::null(0,0); -Contains_static_instance csi(10,20); - -class Contains_nested_static_instance -{ - public: - class Nested - { - public: - Nested(int i) : z(i) {} - int z; - static Contains_nested_static_instance xx; - }; - - Contains_nested_static_instance(int i, int j) : x(i), y(j) {} - - int x; - int y; - - static Contains_nested_static_instance null; - static Nested yy; -}; - -Contains_nested_static_instance Contains_nested_static_instance::null(0, 0); -Contains_nested_static_instance::Nested Contains_nested_static_instance::yy(5); -Contains_nested_static_instance - Contains_nested_static_instance::Nested::xx(1,2); -Contains_nested_static_instance cnsi(30,40); - -typedef struct { - int one; - int two; -} tagless_struct; -tagless_struct v_tagless; - -/* Try to get the compiler to allocate a class in a register. */ -class small { - public: - int x; - int method (); -}; -int small::method () -{ - return x + 5; -} -void marker_reg1 () {} - -int -register_class () -{ - /* We don't call any methods for v, so gcc version cygnus-2.3.3-930220 - might put this variable in a register. This is a lose, though, because - it means that GDB can't call any methods for that variable. */ - register small v; - - int i; - - /* Perform a computation sufficiently complicated that optimizing compilers - won't optimized out the variable. If some compiler constant-folds this - whole loop, maybe using a parameter to this function here would help. */ - v.x = 0; - for (i = 0; i < 13; ++i) - v.x += i; - --v.x; /* v.x is now 77 */ - marker_reg1 (); - return v.x + 5; -} - -int -main() -{ -#ifdef usestubs - set_debug_traps(); - breakpoint(); -#endif - inheritance1 (); - inheritance3 (); - register_class (); - - /* FIXME: pmi gets optimized out. Need to do some more computation with - it or something. (No one notices, because the test is xfail'd anyway, - but that probably won't always be true...). */ - int Foo::* pmi = &Foo::y; - - /* Make sure the AIX linker doesn't remove the variable. */ - v_tagless.one = 5; - - return foo.*pmi; -} - -/* Create an instance for some classes, otherwise they get optimized away. */ -default_public_struct default_public_s; -explicit_public_struct explicit_public_s; -protected_struct protected_s; -private_struct private_s; -mixed_protection_struct mixed_protection_s; -public_class public_c; -protected_class protected_c; -default_private_class default_private_c; -explicit_private_class explicit_private_c; -mixed_protection_class mixed_protection_c; diff --git a/gdb/testsuite/gdb.base/smoke.exp b/gdb/testsuite/gdb.base/smoke.exp deleted file mode 100644 index 42de7c891f1..00000000000 --- a/gdb/testsuite/gdb.base/smoke.exp +++ /dev/null @@ -1,181 +0,0 @@ -# Copyright (C) 1997, 1998 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ - -# Please email any bugs, comments, and/or additions to this file to: -# bug-gdb@prep.ai.mit.edu - -# smoke.exp -- Expect script to test gdb before checkins - -# use this to debug: -# -#log_user 1 - -if $tracelevel then { - strace $tracelevel -} - -set testfile smoke -set testfile1 smoke1 -set c_srcfile ${srcdir}/${subdir}/${testfile}.c -set cpp_srcfile ${srcdir}/${subdir}/${testfile}.cc -set binfile ${objdir}/${subdir}/${testfile} -set binfile1 ${objdir}/${subdir}/${testfile1} - -#remote_exec build "rm -f ${binfile}" -remote_exec build "rm -f core" - -# "C" section, using source copied from "step-test.c" from "gdb.base" -# -if { [gdb_compile "${c_srcfile}" "${binfile}" executable {debug}] != "" } { - gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail." -} - -gdb_exit -gdb_start -gdb_reinitialize_dir $srcdir/$subdir -gdb_load ${binfile} - -# Some basic tests -# -gdb_test "tb main" ".*Breakpoint 1 at.*line 15.*" "temp breakpoint" -gdb_test "b callee" ".*Breakpoint 2 at.*line 6.*" "breakpoint" -gdb_test "l 10" ".*10.*int main.*11.*int w,x,y,z;.*12.*int a.*" "list" -gdb_test "c" ".*The program is not being run.*" "catch error" -gdb_test "r" ".*Starting program.*main.*15.*" "hit bp" -gdb_test "hel r" ".*Start debugged program.*without arguments.*" "help" -gdb_test "n" ".*x = 1;.*" "next" -gdb_test "s" ".*y = 2;.*" "step" -gdb_test "p/t y" ".* = 1.*" "print y in binary" -gdb_test "p 1+2*3+4" ".* = 11.*" "calculate" -gdb_test "p/t 1+2*3+4" ".* = 1011.*" "binary" - -# Note: accept either "Watchpoint" or "Hardware watchpoint"; -# 10.20 can't do the hardware watch. The hardware kind -# triggers one line earlier than the regular kind. -# -gdb_test "wat y" ".*atchpoint.*y.*" "set watch" -gdb_test "c" ".*atchpoint.*Old.*= .*New.*= 2.*1\[78\].*" "continue, hit watch" - -gdb_test "set glob=999" ".*.*" "set" -gdb_test "p glob" ".*= 999.*.*" "print glob" -gdb_test "p/x glob" ".*= 0x3e7.*" "hex" -gdb_test "c" ".*atchpoint.*Old.*= 2.*New.*= 6.*2\[12\].*" "continue, 2nd hit watch" -gdb_test "d 5" "No breakpoint number 5." "del non existing watch" -gdb_test "c" ".*Breakpoint.*callee.*6.*" "hit bp" -gdb_test "bt" ".*callee.*6.*main.*25.*" "bt" -gdb_test "fin" ".*Run till exit.*callee.*Value returned.*0.*" "finish" -gdb_test "c" ".*Breakpoint.*callee.*6.*" "hit bp again" -gdb_test "cle" ".*Deleted breakpoint.*" "clear" -gdb_test "wat glob" ".*atchpoint.*glob.*" "set 2nd watch" -gdb_test "i wat" ".*" "" -gdb_test "whe" ".*" "" - -# ??rehrauer: We're now disabling watchpoints while an interactive -# call is "in flight". When/if we can teach gdb how to unwind through -# the call dummy frame, we can then allow watches during calls, and -# also then restore this testpoint to the original, commented-out form. -# -gdb_test "call callee()" ".*\[0-9\]* = 0.*" "call, didn't hit watch" -#gdb_test "call callee()" ".*atchpoint.*Old.*= 1000.*New.*= 1001.*\[67\].*being debug.*is done.*" "call, hit watch" - -gdb_test "d 4" ".*" "del watch 2" -gdb_test "d 3" ".*" "del watch 1" -gdb_test "info break" "No breakpoints or watchpoints." -# since we have deleted all the watchpoints this test is useless -#gdb_test "c" ".*Continuing.*" "end call" -gdb_test "c" ".*Program exited normally.*" "pgm exit" - -# Check for production of a core file -# -#set exec_output [execute_anywhere "ls core"] -set exec_output [remote_exec build "ls core"] - -if [ regexp "core not found" $exec_output] { - pass "No core dumped on quit" -} else { - if [ regexp "No such file or directory" $exec_output] { - pass "ls: core: No core dumped on quit" - } else { - remote_exec build "rm -f core" - fail "Core dumped on quit" - } -} - - -#======================================== -# -# "C++" section, using source copied from "misc.cc" from "gdb.c++" -# - -# -#remote_exec build "rm -f ${binfile}" -#remote_exec build "CC -g -o ${binfile} ${cpp_srcfile}" -if {[gdb_compile "${cpp_srcfile}" "${binfile1}" executable {c++ debug}] != ""} { - gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail." -} - -gdb_exit -gdb_start -gdb_reinitialize_dir $srcdir/$subdir -gdb_load ${binfile1} - -# Tests, some copied from misc.exp. -# - - # See what language gdb thinks main() is, prior to reading full symbols. - # I think this fails for COFF targets. - setup_xfail "a29k-*-udi" - send_gdb "show language\n" - gdb_expect { - -re ".* source language is \"auto; currently c\\+\\+\".*$gdb_prompt $" { - pass "deduced language is C++, before full symbols" - } - -re ".*$gdb_prompt $" { fail "source language not correct for C++ (psymtabs only)"} - return - - timeout { fail "can't show language (timeout)"} - return - } - -gdb_test "b main" ".*Breakpoint 1 at.*" "" -gdb_test "r" ".*Starting program.*Breakpoint 1.*" "run to main" -gdb_test "ptype Foo" ".*type = class Foo.*static int st;.*int operator.*" "ptype" -gdb_test "step" ".*inheritance1.*" "step" -gdb_test "ptype g_anon_union" ".*anon_union.*union.*int a;.*" "anon" -gdb_test "p g_E" ".*class D.*class B.*class A.*class C.*class A.*x = 0.*" "print inherited class " -gdb_test "p g_E.x = 99" ".*warn.*x ambiguous; using E::x. Use a cast to disambig.*99.*" "set via print" -gdb_test "c" ".*Program exited.*" "run to end" - -gdb_exit - -# Check for production of a core file -# -#set exec_output [execute_anywhere "ls core"] -set exec_output [remote_exec build "ls core"] -if [ regexp "core not found" $exec_output] { - pass "No core dumped on quit" -} else { - if [ regexp "No such file or directory" $exec_output] { - pass "ls: core: No core dumped on quit" - } else { - remote_exec build "rm -f core" - fail "Core dumped on quit" - } -} - -# execute_anywhere "rm -f ${binfile1}" -# -return 0 diff --git a/gdb/testsuite/gdb.base/so-impl-ld.c b/gdb/testsuite/gdb.base/so-impl-ld.c deleted file mode 100644 index a8fa18949b2..00000000000 --- a/gdb/testsuite/gdb.base/so-impl-ld.c +++ /dev/null @@ -1,18 +0,0 @@ -/* This program is linked against SOM shared libraries, which the loader - automatically loads along with the program itself). - */ - -#include <stdio.h> - -extern int solib_main (int); - -main () -{ - int result; - - /* Call a shlib function. */ - result = solib_main (100); - - /* Call it again. */ - result = solib_main (result); -} diff --git a/gdb/testsuite/gdb.base/so-indr-cl.c b/gdb/testsuite/gdb.base/so-indr-cl.c deleted file mode 100644 index dc29badcbd7..00000000000 --- a/gdb/testsuite/gdb.base/so-indr-cl.c +++ /dev/null @@ -1,23 +0,0 @@ -/* This program is linked against SOM shared libraries, which the loader - automatically loads along with the program itself). - */ - -#include <stdio.h> - -extern int solib_main (int); - -static int -solib_wrapper (function) - int (*function)(int); -{ - return (*function)(100); -} - - -main () -{ - int result; - - /* This is an indirect call to solib_main. */ - result = solib_wrapper (solib_main); -} diff --git a/gdb/testsuite/gdb.base/sparc-aout.u b/gdb/testsuite/gdb.base/sparc-aout.u deleted file mode 100644 index 8b4eef915c3..00000000000 --- a/gdb/testsuite/gdb.base/sparc-aout.u +++ /dev/null @@ -1,732 +0,0 @@ -begin 777 sparc-aout -M@0,!"P ( " #YP " @ "\$" T .@0)(#H$25 -M*B "E *@!)0"0 H7 0U"+@H , C" &((@) 0* 0! 0 "@$ -M ! @$ 0 $ -6<(Z @0 ( P$ ! @$ 0 )WCOV@O (KA7B -M*!$ B0$B(,0 2Y(0( "L$ (D@.@7$ $N4$" @@*(@(!* $\! -MPA.@7H"@80L2@ !+ 0 .@#H&#" Z!DX@.@:*0% &2!( 1+P "*X5XDB0 -M$" E! @!1<@ "6$N "F! %D #2:$" IA ") " !32 Z!DE! @!Q<@ -M "6$N 2F! %D "N:$ 4+P "*X5XG01 (D!(B&T ".2$" JA -M",(#H&B D ! H "R\ BN%>)(D 3 $I(0 !&4$" '%R )82X!*8$ 5 -M0 %YH0( #" Z!PH 3 >8CH'SJ(Z" [".@A , C" &((PB.@B , !#" -M &"@PB.@C , B"$&!DPB.@D) 0( &?Q DA @?(''X B!Z $( !H(0 -M( 40@ $@A @1Q" *"$" #D= @ J 0! @</@" $ "0$" "D@7@ -M!-0%P ""$" $D= @ ) 0('^"$" !D= @ 0 O=7-R+VQI8B]L9"YS;P O -M9&5V+WIE<F\ &6-R=# Z(&YO("]U<W(O;&EB+VQD+G-O"@ -M F8W)T,#H@+W5S<B]L:6(O;&0N<V\@;6%P<&EN9R!F86EL=7)E"@ -M !1C<G0P.B!N;R O9&5V+WIE<F\* "=X[^0L! @ #" &!Q^ (@>@ -M )WCOY"P$" ,( 8''X B!Z G>._D+ 0( P@ !@<?@"('H "=X[^0 -ML! @ #" &!Q^ (@>@ )WCOY"P$" ,( 8''X B!Z G>._D+ 0( P -M@ !@<?@"('H "=X[^0L! @ #" &!Q^ (@>@ )WCOY"P$" ,( 8'' -MX B!Z G>._D+ 0( P@ !@<?@"('H "=X[^0L! @ #" &!Q^ (@>@ -M )WCOY"P$" ,( 8''X B!Z G>._D+ 0( P@ !@<?@"('H -MG>._D!$ C! B. ,( 8''X B!Z G>._D!$ !#!&B"H,( 8''X B! -MZ 0L@ )WCOWA #D 0 !$ !# *B,0$0 $)(0( '2*B)8$0 $)(0 -M( +2*B%X$0 $)(0( /2,B$P$0 $)(0( 32,B$($0 $)(0( 72,B'@$0 -M$)(0( ;2(B'($0 $)(0( ?2(B&@$0 $)(0( C2(B$ $0 $)(0( G2(B,( -M$0 $)(0( K2(B)($0 $)(0( O2(B%@$0 $!, C4 F.TU"(A*!$ ! 3 -M 0U!I@L-0Z(8@1 0$P $-0*8Q#4*B&P$0 $!, !#4"F)8U"HAF!$ -M ! 3 0U IA>-0J(.@1 0$P $-0283#4,B)H$0 $!, !#4$F$(U#(B -M,!$ ! 3 0U!)AX-0R(5@1 0$P $-0"8<C4(B% $0 $!, !#4 F&@ -MU"(A.!$ ! 3 0U )A -0B(B@1 0$P $-0"8PC4(B&H$0 $!, !#4 -M F)(U"(AD!$ ! 3 0U )A8-0B(. 1 0$P $-0"82C4(B)@$0 $!, -M !#4&F&(U#HA$!$ ! 5 0DA*C$-(B(/@1 0%0 $)(2HEC2(B#8$0 -M$!4 !"2$J%XTB(AP!$ ! 5 0DA*A,-(B(7 1 0%0 $)(2H0C2(B%0 -M$0 $!4 !"2$J'@TB(C !$ ! 5 0DA*AR-(B(E 1 0%0 $)(2H:#2 -M(B(@$0 $!4 !"2$J$ TB(A2!$ ! 5 0DA*C"-(B(/ 1 0%0 $)(2 -MHDC2(B#0$0 $!4 !"2$J%@TB(AN!$ ! 5 0DA*A*-(B(6@1 0%0 -M$)(2H8C2(B'8$0 $)(0( +2(B#($0 $)(0( +2(B(X$0 $)(0( '2(B'0 -M$0 $)(0( '2(B'H$0 $!, !#4 F) U"(B<!$ ! 3 0U!)A(-0R(8"! -MQ^ (@>@ )WCOY 1 0U (C(("BO_\2@ -DA(C(- "8 2 HB H "900 -M( "6 F $DA @ )("8 30 D +@*(@ !*___V4 J !DI* 2 H1 0HA(C -M(*$J8 +0! 1G\( * $/_R I" -+___= $ !&!Q^ (@>@ )WCOY 1 0 -MT@(C'("B8 "@ )H!(C'- $ "?P@ H 0@!- $ " HB $K__^P$ 1 -M )D!(BB$ !E62$" @<?@"('H "=X[^0$P $- "8+R HB $H !) 0 -M( %____GT")@O(''X B!Z 0&P 26____Q 0'@ F6____ -MM 0(0 66____K 0) $V6____3 4 6 2@ -M & H 7 ! !D ) 50 T A (@ "T -M G 1_____\ -@ #_____ $$ !@ -M #X " %0 P R *@ K ,P "0 U -M!P "0 ! ( , : " #@ + , X < -M #P !L 0 )0 !$ = $@ !X 3 'P !0 -M Y %0 "( 6 *P !< !& & ", 9 ,0 -M !H G &P "8 < * !T J '@ "D ? -M/P " !! (0 "P C +P "4 N )@ H -M "D [ + #8 M -P "X T +P #T -M P .@ #$ !/ ,@ S 0@ #0 -0 -M $4 W / #@ ! .0 Z #L !4 -M/ %( ] 0P #X !$ /P $D ! 2 $( -M 0P !$ 30 $4 !* 1@ $P !' 2P $@ -M !0 20 $X !+ 40 $P !3 30 !. -M $\ 4 !1 %( 4P !0 ' -MC ,[@ '!P &X0 0,@ ."0 %S 0R@ 3!0 %#@ (" 9 -M 0 #8@ E 0 &X@ L!0 #?@ ([@ R!P %<@ 0* -M [!P '.0 0 !% 0 #H !+!0 \P (QP !>!0 'KP -M(P@ !J"0 'SP 0,@ !S!0 "@P (O0 "*"0 &] 0- "A"0 # -M^@ 0-@ "X"0 '3P 0. #/"0 $:0 0.@ #F"0 "K@ 0/ #V -M"0 (4@ 0/@ $&"0 &@ 00 $6"0 3 00@ $F"0 N0 01 -M $V"0 'Q@ 02 $_"0 &R 02@ %("0 'F@ 03 %1!0 $DP -M(U@ %E!0 ';P (J0 %Y"0 " P 03@ &-!0 SP (T0 &:!0 # -MJP (I &G"0 &W0 04 &T!0 $I@ )TP &\"0 (A 04@ '4 -M"0 &% 05 'L"0 %(P 05@ ($"0 $V0 06 (5"0 "]@ 06@ -M (F"0 &)@ 07 (W"0 $9@ 07@ )("0 '( 08 )2"0 %:P -M08@ )<!0 $Q0 (S )Q!0 $=P (N *&"0 I0 09 *;"0 & -M70 09@ *P!0 %)P (X0 *^!0 %C0 (LP +,"0 (1 0: +: -M"0 !NP 0:@ +H"0 '<P 0; +V"0 'P@ 0;@ ,/"0 $R 0< -M ,H"0 '\ 0<@ ,O"0 "^ 0= ,Z"0 '1 0=@ -,"0 !V@ -M0> ->"0 $G@ 0>@ -G"0 '*P 0? -R"0 '+ 0@@ -]!0 # -MF0 (VP .3!0 &=0 (K@ .I"0 #S@ 0B ._"0 !"0 0B@ /5 -M"0 ;0 0C /K"0 "=P 0C@ /W"0 '10 0D /_!0 $G0 (YP -M 0."0 (80 0D@ 0="0 %^@ 0E 0L"0 '[@ 0E@ 0["0 !S0 -M0F 1*"0 "F0 0F@ 19"0 'A0 0G 1A"0 'K 0P 1["0 ' -MN0 0P@ 2#"0 '1@ 0Q 2+ 0 &= 24!P "F 0, 2F -M"0 '<0 0Q@ 2U"0 "TP 0R 3$!0 &>0 )P 37!0 &B0 )H@ -M 3J!P %H 0+A?971E>'0 7V5D871A %]E;F0 <W1A<G0 <W1A<G1?9FQO -M870 7U]E>&ET %]M86EN %]E;G9I<F]N %]?1%E.04U)0P!?97AI= !?=E]S -M:6=N961?:6YT7V9U;F, 7W9?:6YT7V9U;F, 7W!R:6UA<GD 7W9?=6YS:6=N -M961?<VAO<G1?9G5N8P!?=E]S:6=N961?;&]N9U]P;VEN=&5R %]V7W-I9VYE -M9%]C:&%R7W!O:6YT97( 7W9?=6YS:6=N961?;&]N9U]A<G)A>0!?=E]U;G-I -M9VYE9%]C:&%R7V%R<F%Y %]V7VQO;F=?<&]I;G1E<@!?=E]C:&%R7W!O:6YT -M97( 7W9?=6YS:6=N961?:6YT %]V7W-I9VYE9%]S:&]R= !?=E]D;W5B;&5? -M87)R87D 7W9?=6YI;VX 7W9?9FQO870 7W9?<VAO<G0 7W9?<VEG;F5D7VQO -M;F=?9G5N8P!?=E]S:6=N961?8VAA<E]F=6YC %]V7W-I9VYE9%]I;G1?87)R -M87D 7W9?;&]N9U]F=6YC %]V7V-H87)?9G5N8P!?=E]I;G1?87)R87D 7U]? -M;6%I;@!?=E]U;G-I9VYE9%]I;G1?<&]I;G1E<@!?=E]S:6=N961?<VAO<G1? -M<&]I;G1E<@!?=E]U;G-I9VYE9%]S:&]R=%]A<G)A>0!?=E]U;G-I9VYE9%]L -M;VYG %]V7V9L;V%T7W!O:6YT97( 7W9?<VAO<G1?<&]I;G1E<@!?=E]U;G-I -M9VYE9%]C:&%R %]V7W5N:6]N,@!?=E]D;W5B;&4 7W9?=6YS:6=N961?:6YT -M7V9U;F, 7W9?<VEG;F5D7W-H;W)T7V9U;F, 7W9?<VEG;F5D7VQO;F=?87)R -M87D 7W9?<VEG;F5D7V-H87)?87)R87D 7W9?9FQO871?9G5N8P!?=E]S:&]R -M=%]F=6YC %]V7W-I9VYE9%]I;G0 7W9?;&]N9U]A<G)A>0!?=E]C:&%R7V%R -M<F%Y %]V7W5N<VEG;F5D7VQO;F=?<&]I;G1E<@!?=E]U;G-I9VYE9%]C:&%R -M7W!O:6YT97( 7W9?:6YT %]S<&]R='-C87( 7W9?9&]U8FQE7W!O:6YT97( -M7W9?=6YS:6=N961?<VAO<G0 7V-L=6YK97( 7W9?<W1R=6-T,0!?=E]S=')U -M8W0R %]V7W5N<VEG;F5D7VQO;F=?9G5N8P!?=E]U;G-I9VYE9%]C:&%R7V9U -M;F, 7W9?<VEG;F5D7VEN=%]P;VEN=&5R %]V7W5N<VEG;F5D7VEN=%]A<G)A -M>0!?=E]S:6=N961?<VAO<G1?87)R87D 7VYO;G!R:6UA<GD 7W-?;&EN:P!? -M=E]D;W5B;&5?9G5N8P!?=E]S:6=N961?;&]N9P!?=E]I;G1?<&]I;G1E<@!? -M=E]S:6=N961?8VAA<@!?=E]F;&]A=%]A<G)A>0!?=E]S:&]R=%]A<G)A>0!? -M=5]L:6YK %]V7W5N<VEG;F5D7W-H;W)T7W!O:6YT97( 7W9?;&]N9P!?=E]C -M:&%R %]O;E]E>&ET %]?97AI=%]D=6UM>5]D96-L %]?7T-43U)?3$E35%]? -M %]?7T143U)?3$E35%]? %]?7V1O7V=L;V)A;%]C=&]R<P!?7U]D;U]G;&]B -M86Q?9'1O<G, 7U]E>&ET7V1U;6UY7W)E9@ "]U<W(O;&]C86PO;&EB -M+V=C8RUL:6(O<W5N-"\R+C$O.B]U<W(O;&]C86PO;&EB+P 3 -MD( 0 & &, -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M # ! # 0"0 3 -M@ $T@ $!< ! 8 !W@ >H *6 5 .2 !0 " -M / 0 # @<!@ $ "=X[^@?____ $ "=X[^@?___^0$ &= -MX[^@?___]@$ *=X[^@?___\P$ , $!I -M ! P -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M 0& ! X$ @( !4$ BD !T$ -M BD "QD BD %5D BD %V -M '^ )& +B -& -M .^ 0V 2> 4F -M 6R 8F :6 ;> -M <J >* >Z -M HB !$ !Y BD !$ !Y BE !$ !Y B -MG QHD BD !$ !Z BI !$ !Z BJ !$ !Z -M BL RDD BI !$ ![ BN !$ ![ BO !$ -M ![ BQ T D BN !$ !] BS !$ !] BT -M !$ !] BV UDD BS !$ !^ BX !$ !^ B -MY !$ !^ B[ VDD BX !$ !_ B] !$ !_ -M B^ !$ !_ C X D B] !$ "! C" !$ -M "! C# !$ "! C% YDD C" !$ "" C' -M !$ "" C( !$ "" C* Z<D C' !$ "# C -M, !$ "# C- !$ "# C/ [PD C, !$ "% -M C1 !$ "% C2 !$ "% C4 ],D C1 !$ -M "& C6 !$ "& C7 !$ "& C9 ^(D C6 -M !$ "' C; !$ "' C< !$ "' C> _@D C -M; !$ ") CA !$ ") CB !$ ") CE !! D -M CA !$ "* CG !$ "* CH !$ "* CK !"$D -M CG !#. !)^ !-^ -M!0: !2* !4" !5R -M !6F !$ "R CN !$ "U CQ !$ "V -M CS !$ "W CV !$ "Y CY !$ "Z C\ !$ -M "[ C_ !$ "] D" !$ "^ D% !$ "_ D( -M !$ #! D+ !$ #" D. !$ ## D1 !$ #% D -M4 !$ #& D8 !$ #) D< !$ #* D@ !$ #+ -M DD !$ #- DH !$ #. DL !$ #/ DP !$ -M #1 DT !$ #2 DX !$ #3 D\ !$ #5 E -M !$ #6 E$ !$ #7 E( !$ #9 E, !$ #: E -M0 !$ #< E4 !$ #= E8 !$ #> E< !$ #@ -M E@ !$ #A ED !$ #B EH !$ #D EL !$ -M #E EP !$ #F ET !$ #H EX !$ #I E\ -M !$ #J F !$ #L F$ !$ #M F( !$ #O F -M, !$ #P F/ !$ #Q F2 !$ #R F5 !$ #T -M F8 !$ #V F< !$ #W F@ !$ #W F@ !98D -M CN !9X@ !:@@ !;H@ -M!<X@ !=D@ !>L@ !?\@ -M !@@@ !A@@ !BH@ !C0@ -M !D4@ !E@@ !F0@ !G$@ -M !HP@ !J\@ !M0@ -M!O @ !PD@ !RX@ !T@@ -M !U\@ !X(@ !YT@ ![4@ -M !]D@ !_8@ "!0@ ""H@ -M "$@@ "&@@ "'\@ -M")H@ "+H@ ",\@ ".@@ -M "08@ "1P@ "38@ "54@ -M "6T@ "88@ "90@ "B\@ -M "CL@ "LX@ "MD@ -M"N0@ "P@@ "Q<@ "S4@ -M "T,$ FB "TP$ FB "UL& ! O "VID -M FB "WUD FB "XF "ZN "[V -M "^2 "_V #!N -M##F #%. #'6 #)B -M #+6 #-& #.. #/: -M #0Z #1J #6N #7B -M #8* #8V #;: -M#=R #?$D FB #@<@ #AXD G -M #C0D G3 #C\$ G> #D<$ G> #E9D -M G> #FED G> #G6 #I> #JF -M #M" #NF #P> -M#R6 #S^ #V& #X2 -M #Z& #[V #\^ #^* -M #_J $ : $%> $&2 -M $&Z $'F $** -M$,B $-T@ $/$@ $0X@ -M $2 $ G> $21D G> !$ /__ G> $2L% >, -M SN $3(' ;A ! R $3D) 7, !#* $3X% 4. @( $40% -M -^ CN $4H' 5R ! H $5,% #S C' $68% >O C" -M$7() ?/ ! R $7L% *# B] $9() ;T ! T $:D) /Z ! -MV $< ) =/ ! X $=<) 1I ! Z $>X) *N ! \ $?X) A2 -M ! ^ $@X) : !! $AX) !, !!" $BX) "Y !!$ $CX) -M ?& !!( $D<) ;( !!* $E ) >: !!, $ED% 23 C6 -M$FT% =O BI $H$) (# !!. $I4% #/ C1 $J(% .K B -MD $J\) ;= !!0 $KP% 2F G3 $L0) B$ !!2 $MP) 84 -M !!4 $O0) 4C !!6 $PP) 39 !!8 $QT) +V !!: $RX) -M 8F !!< $S\) 1F !!> $U ) <@ !!@ $UH) 5K !!B -M$V0% 3% C, $WD% 1W BX $XX) "E !!D $Z,) 9= !! -MF $[@% 4G CA $\8% 6- BS $]0) A$ !!H $^() &[ -M !!J $_ ) =S !!L $_X) ?" !!N %!<) 3( !!P %# ) -M ?P !!R %#<) +X !!T %$() =$ !!V %%0) ': !!X -M%&8) 2> !!Z %&\) <K !!\ %'H) <L !"" %(4% .9 C -M; %)L% 9U BN %+$) /. !"( %,<) $) !"* %-T) !M -M !", %/,) )W !". %/\) =% !"0 %0<% 2= CG %18) -M AA !"2 %24) 7Z !"4 %30) ?N !"6 %4,) '- !"8 -M%5() *9 !": %6$) >% !"< %6D) >L !# %8,) >Y !# -M" %8L) =& !#$ %9,' *8 ! P %:4) =Q !#& %;0) +3 -M !#( %<,% 9Y G %=8% :) FB %>D' 6@ ! N %?I? -M7T193D%-24, 8W)T,"YO &=D8FUE+F\ 9V-C,E]C;VUP:6QE9"X +VAO;64O -M9VYU+V=D8B]W;W)K+VYE=R]D979O+V=D8G1E<W0O=#$P+P!G9&)M92YC &EN -M=#IT,3UR,3LM,C$T-S0X,S8T.#LR,30W-#@S-C0W.P!C:&%R.G0R/7(R.S [ -M,3(W.P!L;VYG(&EN=#IT,SUR,3LM,C$T-S0X,S8T.#LR,30W-#@S-C0W.P!U -M;G-I9VYE9"!I;G0Z=#0]<C$[,#LM,3L ;&]N9R!U;G-I9VYE9"!I;G0Z=#4] -M<C$[,#LM,3L <VAO<G0@:6YT.G0V/7(Q.RTS,C<V.#LS,C<V-SL ;&]N9R!L -M;VYG(&EN=#IT-SUR,3LP.RTQ.P!S:&]R="!U;G-I9VYE9"!I;G0Z=#@]<C$[ -M,#LV-34S-3L ;&]N9R!L;VYG('5N<VEG;F5D(&EN=#IT.3UR,3LP.RTQ.P!S -M:6=N960@8VAA<CIT,3 ]<C$[+3$R.#LQ,C<[ '5N<VEG;F5D(&-H87(Z=#$Q -M/7(Q.S [,C4U.P!F;&]A=#IT,3(]<C$[-#LP.P!D;W5B;&4Z=#$S/7(Q.S@[ -M,#L ;&]N9R!D;W5B;&4Z=#$T/7(Q.S@[,#L =F]I9#IT,34],34 =%]S=')U -M8W0Z5#$V/7,R-'9?8VAA<E]M96UB97(Z,BPP+#@[=E]S:&]R=%]M96UB97(Z -M-BPQ-BPQ-CMV7VEN=%]M96UB97(Z,2PS,BPS,CMV7VQO;F=?;65M8F5R.C,L -M-C0L,S([=E]F;&]A=%]M96UB97(Z,3(L.38L,S([=E]D;W5B;&5?;65M8F5R -M.C$S+#$R."PV-#L[ '1?=6YI;VXZ5#$W/74X=E]C:&%R7VUE;6)E<CHR+# L -M.#MV7W-H;W)T7VUE;6)E<CHV+# L,38[=E]I;G1?;65M8F5R.C$L,"PS,CMV -M7VQO;F=?;65M8F5R.C,L,"PS,CMV7V9L;V%T7VUE;6)E<CHQ,BPP+#,R.W9? -M9&]U8FQE7VUE;6)E<CHQ,RPP+#8T.SL =E]C:&%R7V9U;F,Z1C( =E]S:6=N -M961?8VAA<E]F=6YC.D8Q, !V7W5N<VEG;F5D7V-H87)?9G5N8SI&,3$ =E]S -M:&]R=%]F=6YC.D8V '9?<VEG;F5D7W-H;W)T7V9U;F,Z1C8 =E]U;G-I9VYE -M9%]S:&]R=%]F=6YC.D8X '9?:6YT7V9U;F,Z1C$ =E]S:6=N961?:6YT7V9U -M;F,Z1C$ =E]U;G-I9VYE9%]I;G1?9G5N8SI&- !V7VQO;F=?9G5N8SI&,P!V -M7W-I9VYE9%]L;VYG7V9U;F,Z1C, =E]U;G-I9VYE9%]L;VYG7V9U;F,Z1C4 -M=E]F;&]A=%]F=6YC.D8Q,@!V7V1O=6)L95]F=6YC.D8Q,P!L:6YK.E0Q.#US -M,34R;F5X=#HQ.3TJ,3@L,"PS,CML:6YK9G5N8SHR,#TJ,C$]9C$Y+#,R+#,R -M.W-T=69F.C(R/6%R,3LP.S [,C,]87(Q.S [,3LR-#UA<C$[,#LR.S$V+#8T -M+#$Q-3([.P!T=5]L:6YK.E0R-3UU,30T;F5X=#HQ.2PP+#,R.VQI;FMF=6YC -M.C(P+# L,S([<W1U9F8Z,C(L,"PQ,34R.SL 8V]L;W)S.E0R-CUE>65L;&]W -M.C L<'5R<&QE.C$L<&EN:SHR+#L 8V%R<SI4,C<]96)M=SHP+'!O<G-C:&4Z -M,2P[ &)O;VQE86XZ=#(X/65&04Q313HP+%12544Z,2P[ &)V86QS.E0R.3UE -M9F%L<V4Z,"QT<G5E.C$L.P!B;V]L96%N,CIT,CD ;6ES;W)D97)E9#I4,S ] -M971W;SHR+&]N93HQ+'IE<F\Z,"QT:')E93HS+#L ;6%I;CI&,0!V7V-H87(Z -M1S( =E]S:6=N961?8VAA<CI',3 =E]U;G-I9VYE9%]C:&%R.D<Q,0!V7W-H -M;W)T.D<V '9?<VEG;F5D7W-H;W)T.D<V '9?=6YS:6=N961?<VAO<G0Z1S@ -M=E]I;G0Z1S$ =E]S:6=N961?:6YT.D<Q '9?=6YS:6=N961?:6YT.D<T '9? -M;&]N9SI',P!V7W-I9VYE9%]L;VYG.D<S '9?=6YS:6=N961?;&]N9SI'-0!V -M7V9L;V%T.D<Q,@!V7V1O=6)L93I',3, =E]C:&%R7V%R<F%Y.D<S,3UA<C$[ -M,#LQ.S( =E]S:6=N961?8VAA<E]A<G)A>3I',S(]87(Q.S [,3LQ, !V7W5N -M<VEG;F5D7V-H87)?87)R87DZ1S,S/6%R,3LP.S$[,3$ =E]S:&]R=%]A<G)A -M>3I',S0]87(Q.S [,3LV '9?<VEG;F5D7W-H;W)T7V%R<F%Y.D<S- !V7W5N -M<VEG;F5D7W-H;W)T7V%R<F%Y.D<S-3UA<C$[,#LQ.S@ =E]I;G1?87)R87DZ -M1S,V/6%R,3LP.S$[,0!V7W-I9VYE9%]I;G1?87)R87DZ1S,V '9?=6YS:6=N -M961?:6YT7V%R<F%Y.D<S-SUA<C$[,#LQ.S0 =E]L;VYG7V%R<F%Y.D<S.#UA -M<C$[,#LQ.S, =E]S:6=N961?;&]N9U]A<G)A>3I',S@ =E]U;G-I9VYE9%]L -M;VYG7V%R<F%Y.D<S.3UA<C$[,#LQ.S4 =E]F;&]A=%]A<G)A>3I'-# ]87(Q -M.S [,3LQ,@!V7V1O=6)L95]A<G)A>3I'-#$]87(Q.S [,3LQ,P!V7V-H87)? -M<&]I;G1E<CI'-#(]*C( =E]S:6=N961?8VAA<E]P;VEN=&5R.D<T,STJ,3 -M=E]U;G-I9VYE9%]C:&%R7W!O:6YT97(Z1S0T/2HQ,0!V7W-H;W)T7W!O:6YT -M97(Z1S0U/2HV '9?<VEG;F5D7W-H;W)T7W!O:6YT97(Z1S0U '9?=6YS:6=N -M961?<VAO<G1?<&]I;G1E<CI'-#8]*C@ =E]I;G1?<&]I;G1E<CI'-#<]*C$ -M=E]S:6=N961?:6YT7W!O:6YT97(Z1S0W '9?=6YS:6=N961?:6YT7W!O:6YT -M97(Z1S0X/2HT '9?;&]N9U]P;VEN=&5R.D<T.3TJ,P!V7W-I9VYE9%]L;VYG -M7W!O:6YT97(Z1S0Y '9?=6YS:6=N961?;&]N9U]P;VEN=&5R.D<U,#TJ-0!V -M7V9L;V%T7W!O:6YT97(Z1S4Q/2HQ,@!V7V1O=6)L95]P;VEN=&5R.D<U,CTJ -M,3, =E]S=')U8W0Q.D<Q-@!V7W-T<G5C=#(Z1S4S/7,R-'9?8VAA<E]M96UB -M97(Z,BPP+#@[=E]S:&]R=%]M96UB97(Z-BPQ-BPQ-CMV7VEN=%]M96UB97(Z -M,2PS,BPS,CMV7VQO;F=?;65M8F5R.C,L-C0L,S([=E]F;&]A=%]M96UB97(Z -M,3(L.38L,S([=E]D;W5B;&5?;65M8F5R.C$S+#$R."PV-#L[ '9?=6YI;VXZ -M1S$W '9?=6YI;VXR.D<U-#UU.'9?8VAA<E]M96UB97(Z,BPP+#@[=E]S:&]R -M=%]M96UB97(Z-BPP+#$V.W9?:6YT7VUE;6)E<CHQ+# L,S([=E]L;VYG7VUE -M;6)E<CHS+# L,S([=E]F;&]A=%]M96UB97(Z,3(L,"PS,CMV7V1O=6)L95]M -M96UB97(Z,3,L,"PV-#L[ '-?;&EN:SI',3D =5]L:6YK.D<R-0!P<FEM87)Y -M.D<U-3UE<F5D.C L9W)E96XZ,2QB;'5E.C(L.P!N;VYP<FEM87)Y.D<R-@!C -M;'5N:V5R.D<U-CUE8VAE=GDZ,"QF;W)D.C$L.P!S<&]R='-C87(Z1S(W %]? -M;6%I;BYO &=C8S)?8V]M<&EL960N %]I;FET:6%L:7IE9"XP "]G;G4O9V-C -M+V=C8S(O<W)C+P N+VQI8F=C8S(N8P!I;G0Z=#$]<C$[+3(Q-#<T.#,V-#@[ -M,C$T-S0X,S8T-SL 8VAA<CIT,CUR,CLP.S$R-SL ;&]N9R!I;G0Z=#,]<C$[ -M+3(Q-#<T.#,V-#@[,C$T-S0X,S8T-SL =6YS:6=N960@:6YT.G0T/7(Q.S [ -M+3$[ &QO;F<@=6YS:6=N960@:6YT.G0U/7(Q.S [+3$[ '-H;W)T(&EN=#IT -M-CUR,3LM,S(W-C@[,S(W-C<[ &QO;F<@;&]N9R!I;G0Z=#<]<C$[,#LM,3L -M<VAO<G0@=6YS:6=N960@:6YT.G0X/7(Q.S [-C4U,S4[ &QO;F<@;&]N9R!U -M;G-I9VYE9"!I;G0Z=#D]<C$[,#LM,3L <VEG;F5D(&-H87(Z=#$P/7(Q.RTQ -M,C@[,3(W.P!U;G-I9VYE9"!C:&%R.G0Q,3UR,3LP.S(U-3L 9FQO870Z=#$R -M/7(Q.S0[,#L 9&]U8FQE.G0Q,SUR,3LX.S [ &QO;F<@9&]U8FQE.G0Q-#UR -M,3LX.S [ '9O:60Z=#$U/3$U ')E9U]C;&%S<SI4,38]94Y/7U)%1U,Z,"Q' -M14Y%4D%,7U)%1U,Z,2Q&4%]214=3.C(L04Q,7U)%1U,Z,RQ,24U?4D5'7T-, -M05-315,Z-"P[ '!T<F1I9F9?=#IT,0!S:7IE7W0Z=#$ =V-H87)?=#IT. !L -M;VYG;&]N9SI4,3<]<SAH:6=H.C,L,"PS,CML;W<Z,RPS,BPS,CL[ &QO;F=? -M;&]N9SIT,3@]=3AS.C$W+# L-C0[;&PZ-RPP+#8T.SL 9G5N8U]P='(Z=#$Y -M/2HR,#UF,34 7U]D;U]G;&]B86Q?9'1O<G,Z1C$U %]E>&ET7V1U;6UY7W)E -M9CI',C$]*C$ 7U]D;U]G;&]B86Q?8W1O<G,Z1C$U %]?;6%I;CI&,34 7V5X -M:70N;P!G8V,R7V-O;7!I;&5D+@ O9VYU+V=C8R]G8V,R+W-R8R\ +B]L:6)G -M8V,R+F, :6YT.G0Q/7(Q.RTR,30W-#@S-C0X.S(Q-#<T.#,V-#<[ &-H87(Z -M=#(]<C([,#LQ,C<[ &QO;F<@:6YT.G0S/7(Q.RTR,30W-#@S-C0X.S(Q-#<T -M.#,V-#<[ '5N<VEG;F5D(&EN=#IT-#UR,3LP.RTQ.P!L;VYG('5N<VEG;F5D -M(&EN=#IT-3UR,3LP.RTQ.P!S:&]R="!I;G0Z=#8]<C$[+3,R-S8X.S,R-S8W -M.P!L;VYG(&QO;F<@:6YT.G0W/7(Q.S [+3$[ '-H;W)T('5N<VEG;F5D(&EN -M=#IT.#UR,3LP.S8U-3,U.P!L;VYG(&QO;F<@=6YS:6=N960@:6YT.G0Y/7(Q -M.S [+3$[ '-I9VYE9"!C:&%R.G0Q,#UR,3LM,3(X.S$R-SL =6YS:6=N960@ -M8VAA<CIT,3$]<C$[,#LR-34[ &9L;V%T.G0Q,CUR,3LT.S [ &1O=6)L93IT -M,3,]<C$[.#LP.P!L;VYG(&1O=6)L93IT,30]<C$[.#LP.P!V;VED.G0Q-3TQ -M-0!R96=?8VQA<W,Z5#$V/65.3U]214=3.C L1T5.15)!3%]214=3.C$L1E!? -M4D5'4SHR+$%,3%]214=3.C,L3$E-7U)%1U]#3$%34T53.C0L.P!P=')D:69F -M7W0Z=#$ <VEZ95]T.G0Q '=C:&%R7W0Z=#@ ;&]N9VQO;F<Z5#$W/7,X:&EG -M:#HS+# L,S([;&]W.C,L,S(L,S([.P!L;VYG7VQO;F<Z=#$X/74X<SHQ-RPP -M+#8T.VQL.C<L,"PV-#L[ &9U;F-?<'1R.G0Q.3TJ,C ]9C$U %]E>&ET7V1U -M;6UY7V1E8VPZ1S$ 7U]#5$]27TQ)4U1?7SI',C$]87(Q.S [,3LQ.0!?7T14 -M3U)?3$E35%]?.D<R,0 M;&< ;&EB9RYS %]E=&5X= !?961A=&$ 7V5N9 !S -M=&%R= !?;6%I;@!?96YV:7)O;@!?=E]S:6=N961?:6YT7V9U;F, 7W9?:6YT -M7V9U;F, 7W!R:6UA<GD 7W9?=6YS:6=N961?<VAO<G1?9G5N8P!?=E]S:6=N -M961?;&]N9U]P;VEN=&5R %]V7W-I9VYE9%]C:&%R7W!O:6YT97( 7W9?=6YS -M:6=N961?;&]N9U]A<G)A>0!?=E]U;G-I9VYE9%]C:&%R7V%R<F%Y %]V7VQO -M;F=?<&]I;G1E<@!?=E]C:&%R7W!O:6YT97( 7W9?=6YS:6=N961?:6YT %]V -M7W-I9VYE9%]S:&]R= !?=E]D;W5B;&5?87)R87D 7W9?=6YI;VX 7W9?9FQO -M870 7W9?<VAO<G0 7W9?<VEG;F5D7VQO;F=?9G5N8P!?=E]S:6=N961?8VAA -M<E]F=6YC %]V7W-I9VYE9%]I;G1?87)R87D 7W9?;&]N9U]F=6YC %]V7V-H -M87)?9G5N8P!?=E]I;G1?87)R87D 7U]?;6%I;@!?=E]U;G-I9VYE9%]I;G1? -M<&]I;G1E<@!?=E]S:6=N961?<VAO<G1?<&]I;G1E<@!?=E]U;G-I9VYE9%]S -M:&]R=%]A<G)A>0!?=E]U;G-I9VYE9%]L;VYG %]V7V9L;V%T7W!O:6YT97( -M7W9?<VAO<G1?<&]I;G1E<@!?=E]U;G-I9VYE9%]C:&%R %]V7W5N:6]N,@!? -M=E]D;W5B;&4 7W9?=6YS:6=N961?:6YT7V9U;F, 7W9?<VEG;F5D7W-H;W)T -M7V9U;F, 7W9?<VEG;F5D7VQO;F=?87)R87D 7W9?<VEG;F5D7V-H87)?87)R -M87D 7W9?9FQO871?9G5N8P!?=E]S:&]R=%]F=6YC %]V7W-I9VYE9%]I;G0 -M7W9?;&]N9U]A<G)A>0!?=E]C:&%R7V%R<F%Y %]V7W5N<VEG;F5D7VQO;F=? -M<&]I;G1E<@!?=E]U;G-I9VYE9%]C:&%R7W!O:6YT97( 7W9?:6YT %]S<&]R -M='-C87( 7W9?9&]U8FQE7W!O:6YT97( 7W9?=6YS:6=N961?<VAO<G0 7V-L -M=6YK97( 7W9?<W1R=6-T,0!?=E]S=')U8W0R %]V7W5N<VEG;F5D7VQO;F=? -M9G5N8P!?=E]U;G-I9VYE9%]C:&%R7V9U;F, 7W9?<VEG;F5D7VEN=%]P;VEN -M=&5R %]V7W5N<VEG;F5D7VEN=%]A<G)A>0!?=E]S:6=N961?<VAO<G1?87)R -M87D 7VYO;G!R:6UA<GD 7W-?;&EN:P!?=E]D;W5B;&5?9G5N8P!?=E]S:6=N -M961?;&]N9P!?=E]I;G1?<&]I;G1E<@!?=E]S:6=N961?8VAA<@!?=E]F;&]A -M=%]A<G)A>0!?=E]S:&]R=%]A<G)A>0!?=5]L:6YK %]V7W5N<VEG;F5D7W-H -M;W)T7W!O:6YT97( 7W9?;&]N9P!?=E]C:&%R %]?97AI=%]D=6UM>5]D96-L -M %]?7T-43U)?3$E35%]? %]?7T143U)?3$E35%]? %]?7V1O7V=L;V)A;%]C -M=&]R<P!?7U]D;U]G;&]B86Q?9'1O<G, 7U]E>&ET7V1U;6UY7W)E9@ -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -M -( - -end diff --git a/gdb/testsuite/gdb.base/sparc-elf.u b/gdb/testsuite/gdb.base/sparc-elf.u deleted file mode 100644 index 9320c0f0f3d..00000000000 --- a/gdb/testsuite/gdb.base/sparc-elf.u +++ /dev/null @@ -1,336 +0,0 @@ -begin 777 sparc-elf -M?T5,1@$" 0 " ( ! $/% #0 #;0 T " -M!0 H !< $P 8 T $ - "@ H 4 P -M -0 !$ ! ! - ! #0 3 -M= $W0 % $ $ !.H (3J #L "M < 0 -M @ % P A0, (@ !P O=7-R+VQI8B]L9"YS -M;RXQ %, !H 2P .@ &( W 5 -M 4P %\ !D 4 $ !* 5P #8 -M20 #, M /P %X "4 < 0P !1 -M * !" "0 !; , #$ R 1P $4 -M !. 8 C +@ %@ /0 ( -M $0 !< 2 + !/ !6 -M &< !: 60 &8 .P %T -M +P !E !A -M -M -M (0 -M *@ "D -M 9 'P -M "8 ; !T !H ^ 00 "L U -M 7 "( $P -M $8 X 4@ #0 !- #P -M G %4 !@ > Y 8P -M $ U # ! ! .@ P -M @ 0/< , , $*7 # $ !#M@ -M P !0 0[D , 8 $/" # ' !#Q0 -M P " 1-P , D $3@ # * " -M$Z@ P "P A0 , P (4# # - -M "%)@ P #@ , \ # 0 -M P $0 , !( # -M 3 P % , !4 -M # 6 0 "%)@ ($0 #@ D 1-P !( D / (4 -MH 01 . %@ "%*@ "0$0 #@ !T A4X !!$ X T -M (5/ 01 . .@ "%4 !$0 #@ $@ A5$ !!$ X -M !6 (52 @1 . 7P "%5 ($0 #@ '4 A58 "!$ -M X "* (58 01 . GP "%60 $$0 #@ *< A5H -M!!$ X "T $09 !02 ( R0 !#X@ 4$@ " -4 A5P -M "!$ X #> (5> 01 . Z "%7P "$0 #@ /X -M A5^ A$ X $/ (5@ @1 . !(P !#P@ $@ !P -M 2D A6( A$ X $X $/Q !02 ( !10 "%8P $$0 -M#@ 4T A60 A$ X %: (5F !@1 . !9 "%; 8 -M$0 #@ 6X A7( !!$ X %U (5S 01 . !A "%= -M $$0 #@ 9P 1!0 %!( @ &O (5U 01 . !Q@ " -M%=@ "$0 #@ <X 0_L %!( @ 'D (4# 1 /_Q ! -M[0 !$*@ +($@ " ?( 1. !!$ H '_ $0D !@2 ( -M "#0 "%=H "$0 #@ B$ 1 4 %!( @ (S (5W 01 -M . "0P "%> $$0 #@ E( A7H $!$ X )A $/% -M '02 ( ": "%)0 $0#_\0 F\ 1 H %!( @ *# (5 -M^ @1 . "CP "%@ $$0 #@ I< 1!X &!( @ *D -M $0/ !02 ( "L "%@0 ($0 #@ L, A90 !"$ X -M ++ (6# 01 . "W "%A $$0 #@ O( 0_8 %!( -M @ ,& (6% 01 . #%0 "%A@ $$0 #@ RT 0^P -M%!( @ -" (67 1 /_Q #1P "%AP $$0 #@ UX A8@ -M !!$ X -L (6) $1 . #? "%B@ $$0 #@ XP -M A8L !!$ X .< $3J 1 /_Q #HP "%C ($0 #@ -M [$ A8X !!$ X /& (4 1 /_Q #W !$ 4$@ -M" ^< 0^< %!( @ /Z (6/ 01 . $" "%D ! -M$0 #@ ! \ A9$ !!$ X 0: (62 @1 . $)P "$^0 -M 0$@ !"P A/8 6!( 0S (3\ @2 $.0 " -M%E $$0 #@ !$( A94 !!$ X 1; (66 01 . '9? -M=6YI;VX 7V9I;FD <U]L:6YK '5?;&EN:P!V7W-I9VYE9%]S:&]R=%]P;VEN -M=&5R '9?:6YT '9?<VEG;F5D7V-H87( =E]I;G1?<&]I;G1E<@!V7V1O=6)L -M90!V7W5N<VEG;F5D7VQO;F=?87)R87D =E]U;G-I9VYE9%]I;G1?87)R87D -M=E]S:6=N961?:6YT7W!O:6YT97( 8VQU;FME<@!V7W-I9VYE9%]I;G0 =E]U -M;G-I9VYE9%]L;VYG7V9U;F, =E]C:&%R7V9U;F, =E]U;FEO;C( <W!O<G1S -M8V%R '9?=6YS:6=N961?8VAA<E]A<G)A>0!V7W5N<VEG;F5D7W-H;W)T '9? -M<VEG;F5D7VQO;F=?87)R87D 7VEN:70 =E]S:6=N961?<VAO<G0 =E]S:&]R -M=%]F=6YC '9?9FQO870 =E]C:&%R7V%R<F%Y '9?<W1R=6-T,0!V7W-T<G5C -M=#( =E]L;VYG '9?;&]N9U]P;VEN=&5R '9?=6YS:6=N961?;&]N9U]P;VEN -M=&5R '9?<VEG;F5D7VQO;F=?9G5N8P!V7W5N<VEG;F5D7VEN=%]P;VEN=&5R -M '9?<VAO<G0 =E]U;G-I9VYE9%]S:&]R=%]F=6YC %]$64Y!34E# &UA:6X -M7VQI8E]V97)S:6]N '9?9&]U8FQE7V9U;F, =E]S:6=N961?8VAA<E]A<G)A -M>0!V7W-I9VYE9%]I;G1?9G5N8P!V7W5N<VEG;F5D7VQO;F< =E]U;G-I9VYE -M9%]I;G0 =E]D;W5B;&5?87)R87D 7W-T87)T %]E9&%T80!V7W5N<VEG;F5D -M7VEN=%]F=6YC '9?:6YT7V%R<F%Y '!R:6UA<GD =E]F;&]A=%]F=6YC '9? -M;&]N9U]F=6YC '9?<VEG;F5D7VEN=%]A<G)A>0!E;G9I<F]N '9?9&]U8FQE -M7W!O:6YT97( =E]S:6=N961?8VAA<E]P;VEN=&5R '9?<VEG;F5D7W-H;W)T -M7V9U;F, =E]C:&%R7W!O:6YT97( =E]U;G-I9VYE9%]C:&%R7W!O:6YT97( -M=E]U;G-I9VYE9%]C:&%R7V9U;F, 7V5N9 !V7W5N<VEG;F5D7W-H;W)T7V%R -M<F%Y '9?<VEG;F5D7VQO;F< =E]U;G-I9VYE9%]C:&%R '9?<VAO<G1?<&]I -M;G1E<@!V7V9L;V%T7W!O:6YT97( 7V5T97AT '9?9FQO871?87)R87D =E]S -M:6=N961?<VAO<G1?87)R87D 7T=,3T)!3%]/1D93151?5$%"3$5? '9?:6YT -M7V9U;F, =E]S:6=N961?8VAA<E]F=6YC '9?<VAO<G1?87)R87D =E]C:&%R -M &YO;G!R:6UA<GD =E]L;VYG7V%R<F%Y &5X:70 871E>&ET %]E>&ET %]E -M;G9I<F]N '9?=6YS:6=N961?<VAO<G1?<&]I;G1E<@!V7W-I9VYE9%]L;VYG -M7W!O:6YT97( ;&EB8RYS;RXQ A90 !E$P A/8 !C%0 -M A/D !B%0 A/P !D%0 "=X[^@@<?@"('H "\$" X .@0*(# -MH$2<(Z @@) 0* 20$ !0 !!*@$ 1 !$D!(C<$ 028! ?___ -M\ $ "0$ 0DA $94L( *4 J $E 1 "A< (66$N)0U"+ $ $X! -M0 !!&P$ ! $$< 0 )WCOY"P$" ,( 8''X B!Z G>._D+ 0( P -M@ !@<?@"('H "=X[^0L! @ #" &!Q^ (@>@ )WCOY"P$" ,( 8'' -MX B!Z G>._D+ 0( P@ !@<?@"('H "=X[^0L! @ #" &!Q^ (@>@ -M )WCOY"P$" ,( 8''X B!Z G>._D+ 0( P@ !@<?@"('H "=X[^0 -ML! @ #" &!Q^ (@>@ )WCOY"P$" ,( 8''X B!Z G>._D+ 0( P -M@ !@<?@"('H "=X[^0L! @ #" &!Q^ (@>@ )WCOY 1 !$P0(CB#" -M &!Q^ (@>@ )WCOY 1 !$P1HCD#" &!Q^ (@>@ )WCOY 1 "%P"HB -M0!$ (62$" !TBHA0!$ (62$" "TBHB)!$ (62$" #TC(AV!$ (62$" $ -MTC(AB!$ (62$" %TC(A?A$ (62$" &TB(A/!$ (62$" 'TB(A:!$ (62 -M$" (TB(AX!$ (62$" )TB(AR!$ (62$" *TB(B(!$ (62$" +TB(AW!$ -M (43 !$U )CF-0B(8P1 "%$P 1-0:8Z#4.B%($0 A1, (74"F) U"HA -MD!$ (43 "%U IA0-0J(=H1 "%$P A=0*8B34*B%\$0 A1, (74$F'8 -MU#(B/!$ (43 "%U!)AB-0R(C@1 "%$P A=0287[4,B(<$0 A1, (74 -M F$\U"(A^!$ (43 "%U )A:-0B(@01 "%$P A=0"8>#4(B%8$0 A1, -M (74 F'(U"(B2!$ (43 "%U )B(-0B(8 1 "%$P A=0"8=S4(B%0$0 -MA1, (74 F&,U"(B,!$ (43 "%U!IA2-0Z(>@1 "%%0 A9(2HD#2(B(4 -M$0 A14 (62$J% TB(B$!$ (45 "%DA*B)-(B(A@1 "%%0 A9(2H=C2 -M(B(H$0 A14 (62$J&(TB(A.!$ (45 "%DA*A?M(B(E01 "%%0 A9(2 -MH3S2(B%$$0 A14 (62$J%HTB(A8!$ (45 "%DA*AX-(B(=01 "%%0 -MA9(2H<C2(B',$0 A14 (62$J(@TB(B6!$ (45 "%DA*AW-(B(= 1 "% -M%0 A9(2H8S2(B(L$0 A14 (62$J%(TB(B#!$ (62$" "TB(B !$ (62 -M$" "TB(B1!$ (62$" !TB(A>!$ (62$" !TB(A9!$ (43 "%U )@H-0B -M(*@1 "%$P A=028)C4,B%P@<?@"('H "=X[^@@<?@"('H -M 0 0L@ ! :0 -M , # P -MO__S 0 , #PPO__P 0 , $@PO__M 0 $ A0, -M ! $<0 P 0\( #0 !$W $ $ Z 4 0I< -M!@ ! ]P * $>P L 0 %0 # (3J ( D -M % < 7 $.Y < 0[8 " # ) # -M ! $ /_Q ! -M -0 P 0 0#H , ( $#W # # -M !"EP P ! 0[8 , 4 $.Y # & -M !#P@ P !P 0\4 , @ $3< # -M ) !$X P "@ A.H , L (4 -M # , "% P P #0 A28 , X -M # / P $ , !$ -M # 2 P $P , !0 -M # 5 P %@ < 0 -M__$ . $ /_Q &@ ! #_\0 "( -M 0 __$ I (4F @1 . ,0 !$W $@ "0 #< A2@ -M !!$ X ^ (4J ) 1 . 10 "%3@ $$0 #@ %P -M A4\ !!$ X !B (50 $1 . < "%40 $$0 #@ -M 'X A5( "!$ X "' (54 @1 . G0 "%5@ ($0 -M#@ +( A5@ !!$ X #' (59 01 . SP "%6@ $ -M$0 #@ -P 1!D %!( @ #Q $/B !02 ( _0 "%7 -M ($0 #@ 08 A5X !!$ X $0 (5? (1 . !)@ " -M%7X "$0 #@ 3< A6 "!$ X %+ $/" 2 ' ! -M40 "%8@ "$0 #@ 6 0_$ %!( @ %M (5C 01 . -M !=0 "%9 "$0 #@ 8( A68 &!$ X &, (5L !@1 -M . !E@ "%<@ $$0 #@ 9T A7, !!$ X &L (5T -M 01 . !Q !$% 4$@ " =< A74 !!$ X 'N (5 -MV (1 . !]@ !#^P 4$@ " @P A0, !$ __$ (5 -M $0J L@2 ( "&@ !$X $$0 "@ B< 1"0 &!( @ -M (U (5V@ (1 . "20 !$!0 4$@ " EL A7< !!$ -M X )K (5X 01 . ">@ "%>@ 0$0 #@ HD 0\4 -M=!( @ *0 (4E 1 /_Q "EP !$"@ 4$@ " JL A7X -M "!$ X *W (6 01 . "OP !$'@ 8$@ " LP -M 1 \ %!( @ +8 (6! @1 . "ZP "%E $(0 #@ -M O, A8, !!$ X ,$ (6$ 01 . #&@ !#]@ 4$@ -M" RX A84 !!$ X ,] (6& 01 . #50 !#[ 4 -M$@ " VH A9< !$ __$ -O (6' 01 . #A@ "%B -M $$0 #@ Y0 A8D 1$ X .D (6* 01 . #M " -M%BP $$0 #@ \0 1.H !$ __$ /+ (6, @1 . # -MV0 "%C@ $$0 #@ ^X A0 !$ __$ 0$ $0 !02 ( -M $#P !#YP 4$@ " !"( A8\ !!$ X 0P (60 $1 -M . $-P "%D0 $$0 #@ !$( A9( "!$ X 1/ (3Y -M ! 2 $5 "$]@ !8$@ !%L A/P "!( 1A (6 -M4 01 . $:@ "%E0 $$0 #@ !(, A98 !!$ X 9V1B -M;64 8W)T:2YS '9A;'5E<RU882YC &=D8FUE+F, 8W)T;BYS '9?=6YI;VX -M7V9I;FD <U]L:6YK '5?;&EN:P!V7W-I9VYE9%]S:&]R=%]P;VEN=&5R '9? -M:6YT '9?<VEG;F5D7V-H87( =E]I;G1?<&]I;G1E<@!V7V1O=6)L90!V7W5N -M<VEG;F5D7VQO;F=?87)R87D =E]U;G-I9VYE9%]I;G1?87)R87D =E]S:6=N -M961?:6YT7W!O:6YT97( 8VQU;FME<@!V7W-I9VYE9%]I;G0 =E]U;G-I9VYE -M9%]L;VYG7V9U;F, =E]C:&%R7V9U;F, =E]U;FEO;C( <W!O<G1S8V%R '9? -M=6YS:6=N961?8VAA<E]A<G)A>0!V7W5N<VEG;F5D7W-H;W)T '9?<VEG;F5D -M7VQO;F=?87)R87D 7VEN:70 =E]S:6=N961?<VAO<G0 =E]S:&]R=%]F=6YC -M '9?9FQO870 =E]C:&%R7V%R<F%Y '9?<W1R=6-T,0!V7W-T<G5C=#( =E]L -M;VYG '9?;&]N9U]P;VEN=&5R '9?=6YS:6=N961?;&]N9U]P;VEN=&5R '9? -M<VEG;F5D7VQO;F=?9G5N8P!V7W5N<VEG;F5D7VEN=%]P;VEN=&5R '9?<VAO -M<G0 =E]U;G-I9VYE9%]S:&]R=%]F=6YC %]$64Y!34E# &UA:6X 7VQI8E]V -M97)S:6]N '9?9&]U8FQE7V9U;F, =E]S:6=N961?8VAA<E]A<G)A>0!V7W-I -M9VYE9%]I;G1?9G5N8P!V7W5N<VEG;F5D7VQO;F< =E]U;G-I9VYE9%]I;G0 -M=E]D;W5B;&5?87)R87D 7W-T87)T %]E9&%T80!V7W5N<VEG;F5D7VEN=%]F -M=6YC '9?:6YT7V%R<F%Y '!R:6UA<GD =E]F;&]A=%]F=6YC '9?;&]N9U]F -M=6YC '9?<VEG;F5D7VEN=%]A<G)A>0!E;G9I<F]N '9?9&]U8FQE7W!O:6YT -M97( =E]S:6=N961?8VAA<E]P;VEN=&5R '9?<VEG;F5D7W-H;W)T7V9U;F, -M=E]C:&%R7W!O:6YT97( =E]U;G-I9VYE9%]C:&%R7W!O:6YT97( =E]U;G-I -M9VYE9%]C:&%R7V9U;F, 7V5N9 !V7W5N<VEG;F5D7W-H;W)T7V%R<F%Y '9? -M<VEG;F5D7VQO;F< =E]U;G-I9VYE9%]C:&%R '9?<VAO<G1?<&]I;G1E<@!V -M7V9L;V%T7W!O:6YT97( 7V5T97AT '9?9FQO871?87)R87D =E]S:6=N961? -M<VAO<G1?87)R87D 7T=,3T)!3%]/1D93151?5$%"3$5? '9?:6YT7V9U;F, -M=E]S:6=N961?8VAA<E]F=6YC '9?<VAO<G1?87)R87D =E]C:&%R &YO;G!R -M:6UA<GD =E]L;VYG7V%R<F%Y &5X:70 871E>&ET %]E>&ET %]E;G9I<F]N -M '9?=6YS:6=N961?<VAO<G1?<&]I;G1E<@!V7W-I9VYE9%]L;VYG7W!O:6YT -M97( '9A;'5E<RU882YC "]D:79E+W)E;&5A<V4O8BUS>7-I9FEX+W5S<B]S -M<F,O;&EB+VQI8F,O '!O<G0O9V5N+W9A;'5E<RU882YC 6'0@.R!6/3(N -M, !M86EN %]L:6)?=F5R<VEO;@ O=&UP "]U<W(O8V-S+VQI8B]V86QU97,M -M6&$N;P 9V1B;64N8P O=&UP+P!G9&)M92YC &=C8S)?8V]M<&EL960N &EN -M=#IT,3UR,3LM,C$T-S0X,S8T.#LR,30W-#@S-C0W.P!C:&%R.G0R/7(R.S [ -M,3(W.P!L;VYG(&EN=#IT,SUR,3LM,C$T-S0X,S8T.#LR,30W-#@S-C0W.P!U -M;G-I9VYE9"!I;G0Z=#0]<C$[,#LM,3L ;&]N9R!U;G-I9VYE9"!I;G0Z=#4] -M<C$[,#LM,3L <VAO<G0@:6YT.G0V/7(Q.RTS,C<V.#LS,C<V-SL ;&]N9R!L -M;VYG(&EN=#IT-SUR,3LP.RTQ.P!S:&]R="!U;G-I9VYE9"!I;G0Z=#@]<C$[ -M,#LV-34S-3L ;&]N9R!L;VYG('5N<VEG;F5D(&EN=#IT.3UR,3LP.RTQ.P!S -M:6=N960@8VAA<CIT,3 ]<C$[+3$R.#LQ,C<[ '5N<VEG;F5D(&-H87(Z=#$Q -M/7(Q.S [,C4U.P!F;&]A=#IT,3(]<C$[-#LP.P!D;W5B;&4Z=#$S/7(Q.S@[ -M,#L ;&]N9R!D;W5B;&4Z=#$T/7(Q.S@[,#L =F]I9#IT,34],34 =%]S=')U -M8W0Z5#$V/7,R-'9?8VAA<E]M96UB97(Z,BPP+#@[=E]S:&]R=%]M96UB97(Z -M-BPQ-BPQ-CMV7VEN=%]M96UB97(Z,2PS,BPS,CMV7VQO;F=?;65M8F5R.C,L -M-C0L,S([=E]F;&]A=%]M96UB97(Z,3(L.38L,S([=E]D;W5B;&5?;65M8F5R -M.C$S+#$R."PV-#L[ '1?=6YI;VXZ5#$W/74X=E]C:&%R7VUE;6)E<CHR+# L -M.#MV7W-H;W)T7VUE;6)E<CHV+# L,38[=E]I;G1?;65M8F5R.C$L,"PS,CMV -M7VQO;F=?;65M8F5R.C,L,"PS,CMV7V9L;V%T7VUE;6)E<CHQ,BPP+#,R.W9? -M9&]U8FQE7VUE;6)E<CHQ,RPP+#8T.SL =E]C:&%R7V9U;F,Z1C( =E]S:6=N -M961?8VAA<E]F=6YC.D8Q, !V7W5N<VEG;F5D7V-H87)?9G5N8SI&,3$ =E]S -M:&]R=%]F=6YC.D8V '9?<VEG;F5D7W-H;W)T7V9U;F,Z1C8 =E]U;G-I9VYE -M9%]S:&]R=%]F=6YC.D8X '9?:6YT7V9U;F,Z1C$ =E]S:6=N961?:6YT7V9U -M;F,Z1C$ =E]U;G-I9VYE9%]I;G1?9G5N8SI&- !V7VQO;F=?9G5N8SI&,P!V -M7W-I9VYE9%]L;VYG7V9U;F,Z1C, =E]U;G-I9VYE9%]L;VYG7V9U;F,Z1C4 -M=E]F;&]A=%]F=6YC.D8Q,@!V7V1O=6)L95]F=6YC.D8Q,P!L:6YK.E0Q.#US -M,34R;F5X=#HQ.3TJ,3@L,"PS,CML:6YK9G5N8SHR,#TJ,C$]9C$Y+#,R+#,R -M.W-T=69F.C(R/6%R,3LP.S [,C,]87(Q.S [,3LR-#UA<C$[,#LR.S$V+#8T -M+#$Q-3([.P!T=5]L:6YK.E0R-3UU,30T;F5X=#HQ.2PP+#,R.VQI;FMF=6YC -M.C(P+# L,S([<W1U9F8Z,C(L,"PQ,34R.SL 8V]L;W)S.E0R-CUE>65L;&]W -M.C L<'5R<&QE.C$L<&EN:SHR+#L 8V%R<SI4,C<]96)M=SHP+'!O<G-C:&4Z -M,2P[ &)O;VQE86XZ=#(X/65&04Q313HP+%12544Z,2P[ &)V86QS.E0R.3UE -M9F%L<V4Z,"QT<G5E.C$L.P!B;V]L96%N,CIT,CD ;6ES;W)D97)E9#I4,S ] -M971W;SHR+&]N93HQ+'IE<F\Z,"QT:')E93HS+#L ;6%I;CI&,0!V7V-H87(Z -M1S( =E]S:6=N961?8VAA<CI',3 =E]U;G-I9VYE9%]C:&%R.D<Q,0!V7W-H -M;W)T.D<V '9?<VEG;F5D7W-H;W)T.D<V '9?=6YS:6=N961?<VAO<G0Z1S@ -M=E]I;G0Z1S$ =E]S:6=N961?:6YT.D<Q '9?=6YS:6=N961?:6YT.D<T '9? -M;&]N9SI',P!V7W-I9VYE9%]L;VYG.D<S '9?=6YS:6=N961?;&]N9SI'-0!V -M7V9L;V%T.D<Q,@!V7V1O=6)L93I',3, =E]C:&%R7V%R<F%Y.D<S,3UA<C$[ -M,#LQ.S( =E]S:6=N961?8VAA<E]A<G)A>3I',S(]87(Q.S [,3LQ, !V7W5N -M<VEG;F5D7V-H87)?87)R87DZ1S,S/6%R,3LP.S$[,3$ =E]S:&]R=%]A<G)A -M>3I',S0]87(Q.S [,3LV '9?<VEG;F5D7W-H;W)T7V%R<F%Y.D<S- !V7W5N -M<VEG;F5D7W-H;W)T7V%R<F%Y.D<S-3UA<C$[,#LQ.S@ =E]I;G1?87)R87DZ -M1S,V/6%R,3LP.S$[,0!V7W-I9VYE9%]I;G1?87)R87DZ1S,V '9?=6YS:6=N -M961?:6YT7V%R<F%Y.D<S-SUA<C$[,#LQ.S0 =E]L;VYG7V%R<F%Y.D<S.#UA -M<C$[,#LQ.S, =E]S:6=N961?;&]N9U]A<G)A>3I',S@ =E]U;G-I9VYE9%]L -M;VYG7V%R<F%Y.D<S.3UA<C$[,#LQ.S4 =E]F;&]A=%]A<G)A>3I'-# ]87(Q -M.S [,3LQ,@!V7V1O=6)L95]A<G)A>3I'-#$]87(Q.S [,3LQ,P!V7V-H87)? -M<&]I;G1E<CI'-#(]*C( =E]S:6=N961?8VAA<E]P;VEN=&5R.D<T,STJ,3 -M=E]U;G-I9VYE9%]C:&%R7W!O:6YT97(Z1S0T/2HQ,0!V7W-H;W)T7W!O:6YT -M97(Z1S0U/2HV '9?<VEG;F5D7W-H;W)T7W!O:6YT97(Z1S0U '9?=6YS:6=N -M961?<VAO<G1?<&]I;G1E<CI'-#8]*C@ =E]I;G1?<&]I;G1E<CI'-#<]*C$ -M=E]S:6=N961?:6YT7W!O:6YT97(Z1S0W '9?=6YS:6=N961?:6YT7W!O:6YT -M97(Z1S0X/2HT '9?;&]N9U]P;VEN=&5R.D<T.3TJ,P!V7W-I9VYE9%]L;VYG -M7W!O:6YT97(Z1S0Y '9?=6YS:6=N961?;&]N9U]P;VEN=&5R.D<U,#TJ-0!V -M7V9L;V%T7W!O:6YT97(Z1S4Q/2HQ,@!V7V1O=6)L95]P;VEN=&5R.D<U,CTJ -M,3, =E]S=')U8W0Q.D<Q-@!V7W-T<G5C=#(Z1S4S/7,R-'9?8VAA<E]M96UB -M97(Z,BPP+#@[=E]S:&]R=%]M96UB97(Z-BPQ-BPQ-CMV7VEN=%]M96UB97(Z -M,2PS,BPS,CMV7VQO;F=?;65M8F5R.C,L-C0L,S([=E]F;&]A=%]M96UB97(Z -M,3(L.38L,S([=E]D;W5B;&5?;65M8F5R.C$S+#$R."PV-#L[ '9?=6YI;VXZ -M1S$W '9?=6YI;VXR.D<U-#UU.'9?8VAA<E]M96UB97(Z,BPP+#@[=E]S:&]R -M=%]M96UB97(Z-BPP+#$V.W9?:6YT7VUE;6)E<CHQ+# L,S([=E]L;VYG7VUE -M;6)E<CHS+# L,S([=E]F;&]A=%]M96UB97(Z,3(L,"PS,CMV7V1O=6)L95]M -M96UB97(Z,3,L,"PV-#L[ '-?;&EN:SI',3D =5]L:6YK.D<R-0!P<FEM87)Y -M.D<U-3UE<F5D.C L9W)E96XZ,2QB;'5E.C(L.P!N;VYP<FEM87)Y.D<R-@!C -M;'5N:V5R.D<U-CUE8VAE=GDZ,"QF;W)D.C$L.P!S<&]R='-C87(Z1S(W N -M:6YT97)P "YH87-H "YD>6YS>6T +F1Y;G-T<@ N<F5L82YB<W, +G)E;&$N -M<&QT "YI;FET "YT97AT "YF:6YI "YR;V1A=&$ +G!L= N9V]T "YD>6YA -M;6EC "YB<W, +G-Y;71A8@ N<W1R=&%B "YS=&%B+FEN9&5X<W1R "YS=&%B -M<W1R "YS:'-T<G1A8@ N8V]M;65N= N<W1A8BYI;F1E> N<W1A8@ 87,Z -M($,@1&5V96QO<&UE;G0@4V5T(" H0T13*2!34$%20V]M<&EL97)S(#(N," Q -M."!-87D@,3DY,@H &%S.B!#($1E=F5L;W!M96YT(%-E=" @*$-$4RD@4U!! -M4D-O;7!I;&5R<R R+C @,3@@36%Y(#$Y.3(* ! *",I4W5N3U,@-2XP(&9C -M<RX@($IU;F4@,3DY,@ 87,Z($,@1&5V96QO<&UE;G0@4V5T(" H0T13*2!3 -M4$%20V]M<&EL97)S(#(N," Q."!-87D@,3DY,@H 1T-#.B H1TY5*2!C>6=N -M=7,M,BXP+C( &%S.B!#($1E=F5L;W!M96YT(%-E=" @*$-$4RD@4U!!4D-O -M;7!I;&5R<R R+C @,3@@36%Y(#$Y.3(* &QD.B H4T=5*2!3=6Y/4R]35E(T -M("A,2RTQ+C I $ ' B0 UD #=D # -M &LX ' X $X\ *A=6!@ %DJ -M %X@ $ "\ +# ED $/B -M ]D $/B !<\ ": $B -M %J (& )J +B -M -: /" 1* 36 -M 5* 6Z 8" -M 9. :N ;> E& -M N,D $/B !$ !Y !$ !Y ! !$ !Y -M # O(D $/G !$ !Z !$ !Z ! !$ -M !Z # PDD $/L !$ ![ !$ ![ ! -M !$ ![ # R(D $/Q !$ !] !$ !] -M! !$ !] # S(D $/V !$ !^ !$ !^ -M ! !$ !^ # TDD $/[ !$ !_ !$ -M !_ ! !$ !_ # V(D $0 !$ "! -M !$ "! ! !$ "! # W D $0% !$ "" -M !$ "" ! !$ "" # X4D $0* !$ "# -M !$ "# ! !$ "# # YPD $0/ !$ -M "% !$ "% ! !$ "% # ZLD $04 -M !$ "& !$ "& ! !$ "& # \$D $0 -M9 !$ "' !$ "' ! !$ "' # ]DD -M $0> !$ ") !$ ") ! !$ ") $ ^HD -M $0D !$ "* !$ "* ! !$ "* $ -M _R !&B !*B !,^ -M !.N !0F !26 !3* -M !5\D $0J !$ "R !$ "U ! !$ -M "V # !$ "W & !$ "Y ) !$ "Z , -M !$ "[ / !$ "] 2 !$ "^ 5 !$ "_ -M8 !$ #! ; !$ #" > !$ ## A !$ #% -M D !$ #& H !$ #) L !$ #* P !$ -M #+ T !$ #- X !$ #. \ !$ #/ ! -M !$ #1 !$ !$ #2 !( !$ #3 !, !$ #5 ! -M0 !$ #6 !4 !$ #7 !8 !$ #9 !< !$ #: -M !@ !$ #< !D !$ #= !H !$ #> !L !$ -M #@ !P !$ #A !T !$ #B !X !$ #D !\ -M !$ #E " !$ #F "$ !$ #H "( !$ #I " -M, !$ #J "0 !$ #L "4 !$ #M "8 !$ #O -M "< !$ #P "? !$ #Q "B !$ #R "E !$ -M #T "H !$ #V "L !$ #W "P !$ #W "P -M!6<@ !7$@ !8,@ !9<@ -M !:(@ !;0@ !<@@ !=$@ -M !>$@ !?,@ !?T@ !@X@ -M !B$@ !BT@ !CH@ -M!E4@ !G@@ !IT@ !KD@ -M !M(@ !O<@ !Q$@ !R@@ -M !TL@ !V8@ !WX@ !Z(@ -M ![\@ !]T@ !_,@ -M"!$@ "#$@ "$@@ "&,@ -M "(,@ ")@@ "+$@ ",\@ -M ".4@ "/\@ "1X@ "38@ -M "4\@ "5T@ "?@@ -M"@0@ "I<@ "J(@ "JT@ -M "M$@ "N @ "OX@ -M ! 0 ( -M 0#4 U !$ $ "0 4 " $ Z -M .@ +T P $ ! \ + @ ! ]P /< & -M@ 0 7 ! ! 7 P ( 0I< *7 !'L -M $ 'P 0 " $.V #M@ , P X -M $ # "D $ @ !#N0 [D ) , + ! -M P S 0 8 0\( /" P 0 -M.0 $ & $/% #Q0 1< $ #\ ! -M !@ !$W !-P # ! !% 0 ( -M 1. 3@ "@ @ 30 $ ' (3J -M$Z@ !8 $ ! %( ! P "% !0 -M# ! 0 !7 !@ , A0, 4# (@ $ -M 0 ( 8 @ # (4F %)@ '$ -M ( &4 " !28 &T ! < ! -M ! !M P ;: !)D $ -M=0 , ( $ ") ! (0 # -M ""* +# 0 "- P -M KE@ +( $ EP $ -M+$@ %) ! * ! "V4 -M8 ! P "L 0 M] "-P -, 0 , - -end diff --git a/gdb/testsuite/gdb.base/step-test.exp b/gdb/testsuite/gdb.base/step-test.exp deleted file mode 100644 index 66f45560187..00000000000 --- a/gdb/testsuite/gdb.base/step-test.exp +++ /dev/null @@ -1,86 +0,0 @@ -# Copyright (C) 1997, 1998 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ - -# Please email any bugs, comments, and/or additions to this file to: -# bug-gdb@prep.ai.mit.edu - -# use this to debug: -# -#log_user 1 - -# step-test.exp -- Expect script to test stepping in gdb - -if $tracelevel then { - strace $tracelevel -} - -set testfile step-test -set srcfile ${srcdir}/${subdir}/${testfile}.c -set binfile ${objdir}/${subdir}/${testfile} - -remote_exec build "rm -f ${binfile}" -if { [gdb_compile "${srcfile}" "${binfile}" executable {debug}] != "" } { - gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail." -} - -gdb_exit -gdb_start -gdb_reinitialize_dir $srcdir/$subdir -gdb_load ${binfile} - -if ![runto_main] then { - fail "Can't run to main" - return 0 -} - -# Vanilla step/next -# -gdb_test "next" ".*15.*x = 1;.*" "next 1" -gdb_test "step" ".*16.*y = 2;.*" "step 1" - -# With count -# -gdb_test "next 2" ".*18.*w = w.*2;.*" "next 2" -gdb_test "step 3" ".*21.*z = z.*5;.*" "step 3" -gdb_test "next" ".*24.*callee.*OVER.*" "next 3" - -# Step over call -# -gdb_test "next" ".*27.*callee.*INTO.*" "next over" - -# Step into call -# -gdb_test "step" ".*6.*glob.*" "step into" - -# Step out of call -# -gdb_test "finish" ".*30.*a.*5.*= a.*3.*" "step out" - -# Instruction stepping, into -# -gdb_test "stepi" ".*30.*a.*5.* = a.*3.*" "stepi 1" -gdb_test "stepi" ".*30.*a\\\[5\\\] = a.*" "stepi 2" - -gdb_test "stepi 7" ".*6.*glob.*" "stepi into" -gdb_test "finish" ".*34.*callee.*NEXTI.*" "stepi out" - -# Instruction stepping, over -# -gdb_test "nexti" ".*callee.*NEXTI.*" "nexti 1" - -gdb_test "c" ".*Program exited normally.*" "run to finish" - -return 0 diff --git a/gdb/testsuite/gdb.base/structs.c b/gdb/testsuite/gdb.base/structs.c deleted file mode 100644 index fcb9d7232de..00000000000 --- a/gdb/testsuite/gdb.base/structs.c +++ /dev/null @@ -1,207 +0,0 @@ -/* Copyright (C) 1996 Free Software Foundation, Inc. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - - Please email any bugs, comments, and/or additions to this file to: - bug-gdb@prep.ai.mit.edu */ - -struct struct1 { char a;}; -struct struct2 { char a, b;}; -struct struct3 { char a, b, c; }; -struct struct4 { char a, b, c, d; }; -struct struct5 { char a, b, c, d, e; }; -struct struct6 { char a, b, c, d, e, f; }; -struct struct7 { char a, b, c, d, e, f, g; }; -struct struct8 { char a, b, c, d, e, f, g, h; }; -struct struct9 { char a, b, c, d, e, f, g, h, i; }; -struct struct10 { char a, b, c, d, e, f, g, h, i, j; }; -struct struct11 { char a, b, c, d, e, f, g, h, i, j, k; }; -struct struct12 { char a, b, c, d, e, f, g, h, i, j, k, l; }; -struct struct16 { char a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p; }; - -struct struct1 foo1 = {'1'}, L1; -struct struct2 foo2 = { 'a', 'b'}, L2; -struct struct3 foo3 = { 'A', 'B', 'C'}, L3; -struct struct4 foo4 = {'1', '2', '3', '4'}, L4; -struct struct5 foo5 = {'a', 'b', 'c', 'd', 'e'}, L5; -struct struct6 foo6 = {'A', 'B', 'C', 'D', 'E', 'F'}, L6; -struct struct7 foo7 = {'1', '2', '3', '4', '5', '6', '7'}, L7; -struct struct8 foo8 = {'1', '2', '3', '4', '5', '6', '7', '8'}, L8; -struct struct9 foo9 = {'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i'}, L9; -struct struct10 foo10 = { - 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J'}, L10; -struct struct11 foo11 = { - '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B'}, L11; -struct struct12 foo12 = { - 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L'}, L12; -struct struct16 foo16 = { - 'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p'}, L16; - -struct struct1 fun1() -{ - return foo1; -} -struct struct2 fun2() -{ - return foo2; -} -struct struct3 fun3() -{ - return foo3; -} -struct struct4 fun4() -{ - return foo4; -} -struct struct5 fun5() -{ - return foo5; -} -struct struct6 fun6() -{ - return foo6; -} -struct struct7 fun7() -{ - return foo7; -} -struct struct8 fun8() -{ - return foo8; -} -struct struct9 fun9() -{ - return foo9; -} -struct struct10 fun10() -{ - return foo10; -} -struct struct11 fun11() -{ - return foo11; -} -struct struct12 fun12() -{ - return foo12; -} -struct struct16 fun16() -{ - return foo16; -} - -void Fun1(foo1) - struct struct1 foo1; -{ - L1 = foo1; -} -void Fun2(foo2) - struct struct2 foo2; -{ - L2 = foo2; -} -void Fun3(foo3) - struct struct3 foo3; -{ - L3 = foo3; -} -void Fun4(foo4) - struct struct4 foo4; -{ - L4 = foo4; -} -void Fun5(foo5) - struct struct5 foo5; -{ - L5 = foo5; -} -void Fun6(foo6) - struct struct6 foo6; -{ - L6 = foo6; -} -void Fun7(foo7) - struct struct7 foo7; -{ - L7 = foo7; -} -void Fun8(foo8) - struct struct8 foo8; -{ - L8 = foo8; -} -void Fun9(foo9) - struct struct9 foo9; -{ - L9 = foo9; -} -void Fun10(foo10) - struct struct10 foo10; -{ - L10 = foo10; -} -void Fun11(foo11) - struct struct11 foo11; -{ - L11 = foo11; -} -void Fun12(foo12) - struct struct12 foo12; -{ - L12 = foo12; -} -void Fun16(foo16) - struct struct16 foo16; -{ - L16 = foo16; -} - -int main() -{ - - /* TEST C FUNCTIONS */ - L1 = fun1(); - L2 = fun2(); - L3 = fun3(); - L4 = fun4(); - L5 = fun5(); - L6 = fun6(); - L7 = fun7(); - L8 = fun8(); - L9 = fun9(); - L10 = fun10(); - L11 = fun11(); - L12 = fun12(); - L16 = fun16(); - - foo1.a = foo2.a = foo3.a = foo4.a = foo5.a = foo6.a = foo7.a = foo8.a = - foo9.a = foo10.a = foo11.a = foo12.a = foo16.a = '$'; - - Fun1(foo1); - Fun2(foo2); - Fun3(foo3); - Fun4(foo4); - Fun5(foo5); - Fun6(foo6); - Fun7(foo7); - Fun8(foo8); - Fun9(foo9); - Fun10(foo10); - Fun11(foo11); - Fun12(foo12); - Fun16(foo16); - - return 0; -} diff --git a/gdb/testsuite/gdb.base/structs.exp b/gdb/testsuite/gdb.base/structs.exp deleted file mode 100644 index 3424278fb1c..00000000000 --- a/gdb/testsuite/gdb.base/structs.exp +++ /dev/null @@ -1,147 +0,0 @@ -# Copyright (C) 1996 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ - -# Please email any bugs, comments, and/or additions to this file to: -# bug-gdb@prep.ai.mit.edu - -# This file was written by Jeff Law. (law@cygnus.com) - -if $tracelevel then { - strace $tracelevel -} - -set prms_id 0 -set bug_id 0 - -set prototypes 1 -set testfile "structs" -set srcfile ${testfile}.c -set binfile ${objdir}/${subdir}/${testfile} - -# build the first test case -if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug}] != "" } { - # built the second test case since we can't use prototypes - warning "Prototypes not supported, rebuilding with -DNO_PROTOTYPES" -if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug additional_flags=-DNO_PROTOTYPES}] != "" } { - perror "Couldn't compile ${testfile}.c" - return -1 - } - set prototypes 0 -} - -# Create and source the file that provides information about the compiler -# used to compile the test case. -if [get_compiler_info ${binfile}] { - return -1; -} - -# The a29k can't call functions, so don't even bother with this test. -if [istarget "a29k-*-udi"] then { - setup_xfail "a29k-*-udi" 2416 - fail "a29k-*-udi can not call functions" - continue -} - -# FIXME: Before calling this proc, we should probably verify that -# we can call inferior functions and get a valid integral value -# returned. -# Note that it is OK to check for 0 or 1 as the returned values, because C -# specifies that the numeric value of a relational or logical expression -# (computed in the inferior) is 1 for true and 0 for false. - -proc do_function_calls {} { - global prototypes - global gcc_compiled - global gdb_prompt - - # First, call the "fun" functions and examine the value they return. - gdb_test "p fun1()" " = {a = 49 '1'}" - gdb_test "p fun2()" " = {a = 97 'a', b = 98 'b'}" - gdb_test "p fun3()" " = {a = 65 'A', b = 66 'B', c = 67 'C'}" - gdb_test "p fun4()" " = {a = 49 '1', b = 50 '2', c = 51 '3', d = 52 '4'}" - gdb_test "p fun5()" " = {a = 97 'a', b = 98 'b', c = 99 'c', d = 100 'd', e = 101 'e'}" - gdb_test "p fun6()" " = {a = 65 'A', b = 66 'B', c = 67 'C', d = 68 'D', e = 69 'E', f = 70 'F'}" - gdb_test "p fun7()" " = {a = 49 '1', b = 50 '2', c = 51 '3', d = 52 '4', e = 53 '5', f = 54 '6', g = 55 '7'}" - gdb_test "p fun8()" " = {a = 49 '1', b = 50 '2', c = 51 '3', d = 52 '4', e = 53 '5', f = 54 '6', g = 55 '7', h = 56 '8'}" - gdb_test "p fun9()" " = {a = 97 'a', b = 98 'b', c = 99 'c', d = 100 'd', e = 101 'e', f = 102 'f', g = 103 'g', h = 104 'h', i = 105 'i'}" - gdb_test "p fun10()" " = {a = 65 'A', b = 66 'B', c = 67 'C', d = 68 'D', e = 69 'E', f = 70 'F', g = 71 'G', h = 72 'H', i = 73 'I', j = 74 'J'}" - gdb_test "p fun11()" " = {a = 49 '1', b = 50 '2', c = 51 '3', d = 52 '4', e = 53 '5', f = 54 '6', g = 55 '7', h = 56 '8', i = 57 '9', j = 65 'A', k = 66 'B'}" - gdb_test "p fun12()" " = {a = 65 'A', b = 66 'B', c = 67 'C', d = 68 'D', e = 69 'E', f = 70 'F', g = 71 'G', h = 72 'H', i = 73 'I', j = 74 'J', k = 75 'K', l = 76 'L'}" - gdb_test "p fun16()" " = {a = 97 'a', b = 98 'b', c = 99 'c', d = 100 'd', e = 101 'e', f = 102 'f', g = 103 'g', h = 104 'h', i = 105 'i', j = 106 'j', k = 107 'k', l = 108 'l', m = 109 'm', n = 110 'n', o = 111 'o', p = 112 'p'}" - - # Now call the Fun functions to set the L* variables. This - # tests that gdb properly passes structures to functions. - gdb_test "p Fun1(foo1)" " = (void|0)" - gdb_test "p Fun2(foo2)" " = (void|0)" - gdb_test "p Fun3(foo3)" " = (void|0)" - gdb_test "p Fun4(foo4)" " = (void|0)" - gdb_test "p Fun5(foo5)" " = (void|0)" - gdb_test "p Fun6(foo6)" " = (void|0)" - gdb_test "p Fun7(foo7)" " = (void|0)" - gdb_test "p Fun8(foo8)" " = (void|0)" - gdb_test "p Fun9(foo9)" " = (void|0)" - gdb_test "p Fun10(foo10)" " = (void|0)" - gdb_test "p Fun11(foo11)" " = (void|0)" - gdb_test "p Fun12(foo12)" " = (void|0)" - gdb_test "p Fun16(foo16)" " = (void|0)" - - # Now print the L* variables and examine their values. - gdb_test "p L1" " = {a = 49 '1'}" - gdb_test "p L2" " = {a = 97 'a', b = 98 'b'}" - gdb_test "p L3" " = {a = 65 'A', b = 66 'B', c = 67 'C'}" - gdb_test "p L4" " = {a = 49 '1', b = 50 '2', c = 51 '3', d = 52 '4'}" - if {$gcc_compiled} then { - setup_xfail "hppa*-*-*" - } - gdb_test "p L5" " = {a = 97 'a', b = 98 'b', c = 99 'c', d = 100 'd', e = 101 'e'}" - if {$gcc_compiled} then { - setup_xfail "hppa*-*-*" - } - gdb_test "p L6" " = {a = 65 'A', b = 66 'B', c = 67 'C', d = 68 'D', e = 69 'E', f = 70 'F'}" - if {$gcc_compiled} then { - setup_xfail "hppa*-*-*" - } - gdb_test "p L7" " = {a = 49 '1', b = 50 '2', c = 51 '3', d = 52 '4', e = 53 '5', f = 54 '6', g = 55 '7'}" - gdb_test "p L8" " = {a = 49 '1', b = 50 '2', c = 51 '3', d = 52 '4', e = 53 '5', f = 54 '6', g = 55 '7', h = 56 '8'}" - gdb_test "p L9" " = {a = 97 'a', b = 98 'b', c = 99 'c', d = 100 'd', e = 101 'e', f = 102 'f', g = 103 'g', h = 104 'h', i = 105 'i'}" - gdb_test "p L10" " = {a = 65 'A', b = 66 'B', c = 67 'C', d = 68 'D', e = 69 'E', f = 70 'F', g = 71 'G', h = 72 'H', i = 73 'I', j = 74 'J'}" - gdb_test "p L11" " = {a = 49 '1', b = 50 '2', c = 51 '3', d = 52 '4', e = 53 '5', f = 54 '6', g = 55 '7', h = 56 '8', i = 57 '9', j = 65 'A', k = 66 'B'}" - gdb_test "p L12" " = {a = 65 'A', b = 66 'B', c = 67 'C', d = 68 'D', e = 69 'E', f = 70 'F', g = 71 'G', h = 72 'H', i = 73 'I', j = 74 'J', k = 75 'K', l = 76 'L'}" - gdb_test "p L16" " = {a = 97 'a', b = 98 'b', c = 99 'c', d = 100 'd', e = 101 'e', f = 102 'f', g = 103 'g', h = 104 'h', i = 105 'i', j = 106 'j', k = 107 'k', l = 108 'l', m = 109 'm', n = 110 'n', o = 111 'o', p = 112 'p'}" -} -# Start with a fresh gdb. - -gdb_exit -gdb_start -gdb_reinitialize_dir $srcdir/$subdir -gdb_load ${binfile} - -send_gdb "set print sevenbit-strings\n" ; gdb_expect -re "$gdb_prompt $" -send_gdb "set print address off\n" ; gdb_expect -re "$gdb_prompt $" -send_gdb "set width 0\n" ; gdb_expect -re "$gdb_prompt $" - -if [target_info exists gdb,cannot_call_functions] { - setup_xfail "*-*-*" 2416 - fail "This target can not call functions" - return 0 -} - -if [runto_main] then { - do_function_calls -} else { - fail "C function calling tests suppressed" -} -return 0 diff --git a/gdb/testsuite/gdb.base/structs2.c b/gdb/testsuite/gdb.base/structs2.c deleted file mode 100644 index f9f59e91421..00000000000 --- a/gdb/testsuite/gdb.base/structs2.c +++ /dev/null @@ -1,38 +0,0 @@ -/* pr 13536 */ - -static void param_reg (register char pr_char, - register unsigned char pr_uchar, - register short pr_short, - register unsigned short pr_ushort); - -int bkpt; - -int -main () -{ -#ifdef usestubs - set_debug_traps (); - breakpoint (); -#endif - - bkpt = 0; - param_reg (120, 130, 32000, 33000); - param_reg (130, 120, 33000, 32000); - - return 0; -} - -static void dummy () {} - -static void -param_reg(register char pr_char, - register unsigned char pr_uchar, - register short pr_short, - register unsigned short pr_ushort) -{ - bkpt = 1; - dummy (); - pr_char = 1; - pr_uchar = pr_short = pr_ushort = 1; - dummy (); -} diff --git a/gdb/testsuite/gdb.base/structs2.exp b/gdb/testsuite/gdb.base/structs2.exp deleted file mode 100644 index 14652bef06c..00000000000 --- a/gdb/testsuite/gdb.base/structs2.exp +++ /dev/null @@ -1,79 +0,0 @@ -# Copyright (C) 1998 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - -# Please email any bugs, comments, and/or additions to this file to: -# bug-gdb@prep.ai.mit.edu - -if $tracelevel then { - strace $tracelevel -} - -set prms_id 0 -set bug_id 0 - -set prototypes 1 -set testfile "structs2" -set srcfile ${testfile}.c -set binfile ${objdir}/${subdir}/${testfile} - -# build the first test case -if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug}] != "" } { - # built the second test case since we can't use prototypes - warning "Prototypes not supported, rebuilding with -DNO_PROTOTYPES" - if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug additional_flags=-DNO_PROTOTYPES}] != "" } { - gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail." - } - set prototypes 0 -} - -# Start with a fresh gdb. - -gdb_start -gdb_reinitialize_dir $srcdir/$subdir -gdb_load ${binfile} - -gdb_test "set width 0" "" "" - -if { ![runto_main] } then { - gdb_suppress_tests -} - -# Ok, we're finally ready to actually do our tests. - -set prms_id 13536 -set bug_id 0 - -gdb_test "f" \ - ".*bkpt = 0.*" \ - "structs2 sanity check" - -gdb_test "break param_reg" \ - "Breakpoint .* at .*" \ - "structs2 breakpoint set" - -gdb_test "continue" \ - ".*pr_char=120.*pr_uchar=130.*pr_short=32000.*pr_ushort=33000.*bkpt = 1.*" \ - "structs2 continue1" - -gdb_test "continue" \ - ".*pr_char=-126.*pr_uchar=120.*pr_short=-32536.*pr_ushort=32000.*bkpt = 1.*" \ - "structs2 continue2" - -# End of tests. - -gdb_stop_suppressing_tests - -return 0 diff --git a/gdb/testsuite/gdb.base/term.exp b/gdb/testsuite/gdb.base/term.exp deleted file mode 100644 index ced0ae45d47..00000000000 --- a/gdb/testsuite/gdb.base/term.exp +++ /dev/null @@ -1,74 +0,0 @@ -# Copyright (C) 1988, 1990, 1991, 1992 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - -# Please email any bugs, comments, and/or additions to this file to: -# bug-gdb@prep.ai.mit.edu - -# This file was written by Rob Savoye. (rob@cygnus.com) - -if $tracelevel then { - strace $tracelevel -} - -# This only works for native, I think. -if ![isnative] then { - continue -} - -gdb_start - -# -# test running programs -# -set prms_id 0 -set bug_id 0 - -set testfile "run" -set srcfile ${testfile}.c -set binfile ${objdir}/${subdir}/${testfile} -if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug}] != "" } { - perror "Couldn't compile ${srcfile}" - return -1 -} - -delete_breakpoints -gdb_reinitialize_dir $srcdir/$subdir -gdb_load ${binfile} - -gdb_test "set print sevenbit-strings" "" "test set print sevenbit-strings" -gdb_test "set print address off" "" "test set print address off" -gdb_test "set width 0" "" "test set width 0" -gdb_test "info terminal" "No saved terminal information.*" "test info terminal" -gdb_run_cmd 5 -expect { - -re ".*120.*Program exited normally.*$prompt $" { - gdb_test "info terminal" "No saved terminal information.*" "test info terminal" - } - default { - fail "term.exp, factorial didn't run to completion for info terminal" - } -} - -# In mid-execution -gdb_breakpoint main -gdb_run_cmd 5 -expect { - -re ".*Breakpoint \[0-9\]+,.*main.*if .argc != 2.*$prompt $" { - gdb_test "info terminal" "Inferior's terminal status .currently saved by GDB.:.*" "info terminal at breakpoint" - } - -re ".*$prompt $" { fail "info terminal at breakpoint" } - timeout { fail "(timeout) info terminal at breakpoint" } -} diff --git a/gdb/testsuite/gdb.base/twice.c b/gdb/testsuite/gdb.base/twice.c deleted file mode 100644 index dd12c069842..00000000000 --- a/gdb/testsuite/gdb.base/twice.c +++ /dev/null @@ -1,16 +0,0 @@ -int nothing () - -{ - int x = 3 ; - return x ; -} - - -main () - -{ - int y ; - - y = nothing () ; - printf ("hello\n") ; -} diff --git a/gdb/testsuite/gdb.base/twice.exp b/gdb/testsuite/gdb.base/twice.exp deleted file mode 100644 index b29f6c78342..00000000000 --- a/gdb/testsuite/gdb.base/twice.exp +++ /dev/null @@ -1,38 +0,0 @@ -if $tracelevel then { - strace $tracelevel -} - -set prms_id 0 -set bug_id 0 - -set testfile twice-tmp -set srcfile ${objdir}/${subdir}/${testfile}.c -set binfile ${objdir}/${subdir}/${testfile} - -execute_anywhere "echo #include \\\"twice.c\\\" > ${srcfile}" -if { [compile "${srcfile} -g -I${srcdir}/${subdir} -o ${binfile}"] != "" } { - perror "Couldn't compile ${srcfile}" - return -1 -} - -# Start with a fresh gdb. - -gdb_exit -gdb_start -gdb_reinitialize_dir $srcdir/$subdir -gdb_load $binfile - -if [runto_main] then { - # Test that GDB can still detect whether we have line numbers - # even if we're executing code in an include file. - - # The bug was fixed by - #Tue Jun 29 11:02:58 1993 Jim Kingdon (kingdon@lioth.cygnus.com) - # - # * infrun.c (wait_for_inferior): Use find_pc_line not - # find_pc_symtab to check whether there is line number - # information. - - gdb_test "step" "nothing \\(\\) at.*" -} -return 0 diff --git a/gdb/testsuite/gdb.base/volatile.exp b/gdb/testsuite/gdb.base/volatile.exp deleted file mode 100644 index c17c05c40eb..00000000000 --- a/gdb/testsuite/gdb.base/volatile.exp +++ /dev/null @@ -1,416 +0,0 @@ -# Copyright (C) 1997, 1998 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - -# Please email any bugs, comments, and/or additions to this file to: -# bug-gdb@prep.ai.mit.edu - -# Written by Satish Pai <pai@apollo.hp.com> 1997-07-07 -# In the spirit of constvars.exp: added volatile, const-volatile stuff. - -# This file is part of the gdb testsuite -# Tests for: -# volatile vars -# pointers to volatile vars -# const volatile vars -# pointers to const volatile vars -# const pointers to volatile vars -# volatile pointers to const vars -# const volatile pointers to const vars -# const volatile pointers to volatile vars -# ... etc. (you get the idea) -# Mostly with char and unsigned char. - -if $tracelevel then { - strace $tracelevel - } - -# -# test running programs -# -set prms_id 0 -set bug_id 0 - -set testfile "constvars" -set srcfile ${testfile}.c -set binfile ${objdir}/${subdir}/${testfile} - -if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug c++}] != "" } { - gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail." -} - -remote_exec build "rm -f ${binfile}.ci" -if [get_compiler_info ${binfile}] { - return -1 -} - -gdb_exit -gdb_start -gdb_reinitialize_dir $srcdir/$subdir -gdb_load ${binfile} - -source ${binfile}.ci - -# -# set it up at a breakpoint so we can play with the variable values -# -if ![runto_main] then { - perror "couldn't run to breakpoint" - continue -} - -send_gdb "break marker1\n" ; gdb_expect -re ".*$gdb_prompt $" - - send_gdb "cont\n" - gdb_expect { - -re "Break.* marker1 \\(\\) at .*:$decimal.*$gdb_prompt $" { - send_gdb "up\n" - gdb_expect { - -re ".*$gdb_prompt $" {} - timeout { fail "up from marker1" } - } - } - -re "Break.* marker1__.* \\(\\) at .*:$decimal.*$gdb_prompt $" { - fail "continue to marker1 (demangling)" - send_gdb "up\n" - gdb_expect { - -re ".*$gdb_prompt $" {} - timeout { fail "up from marker1" } - } - } - -re "$gdb_prompt $" { fail "continue to marker1" } - timeout { fail "(timeout) continue to marker1" } - } - - -send_gdb "ptype vox\n" -gdb_expect { - -re "type = volatile char.*$gdb_prompt $" { pass "ptype vox" } - -re ".*$gdb_prompt $" { fail "ptype vox" } - timeout { fail "(timeout) ptype vox" } -} - -send_gdb "ptype victuals\n" -gdb_expect { - -re "type = volatile unsigned char.*$gdb_prompt $" { pass "ptype victuals" } - -re ".*$gdb_prompt $" { fail "ptype victuals" } - timeout { fail "(timeout) ptype victuals" } -} - -send_gdb "ptype vixen\n" -gdb_expect { - -re "type = volatile short.*$gdb_prompt $" { pass "ptype vixen" } - -re ".*$gdb_prompt $" { fail "ptype vixen" } - timeout { fail "(timeout) ptype vixen" } -} - -send_gdb "ptype vitriol\n" -gdb_expect { - -re "type = volatile unsigned short.*$gdb_prompt $" { pass "ptype vitriol" } - -re ".*$gdb_prompt $" { fail "ptype vitriol" } - timeout { fail "(timeout) ptype vitriol" } -} - -send_gdb "ptype vellum\n" -gdb_expect { - -re "type = volatile long.*$gdb_prompt $" { pass "ptype vellum" } - -re ".*$gdb_prompt $" { fail "ptype vellum" } - timeout { fail "(timeout) ptype vellum" } -} - -send_gdb "ptype valve\n" -gdb_expect { - -re "type = volatile unsigned long.*$gdb_prompt $" { pass "ptype valve" } - -re ".*$gdb_prompt $" { fail "ptype valve" } - timeout { fail "(timeout) ptype valve" } -} - -send_gdb "ptype vacuity\n" -gdb_expect { - -re "type = volatile float.*$gdb_prompt $" { pass "ptype vacuity" } - -re ".*$gdb_prompt $" { fail "ptype vacuity" } - timeout { fail "(timeout) ptype vacuity" } -} - -send_gdb "ptype vertigo\n" -gdb_expect { - -re "type = volatile double.*$gdb_prompt $" { pass "ptype vertigo" } - -re ".*$gdb_prompt $" { fail "ptype vertigo" } - timeout { fail "(timeout) ptype vertigo" } -} - -send_gdb "ptype vampire\n" -gdb_expect { - -re "type = volatile char \\*.*$gdb_prompt $" { pass "ptype vampire" } - -re ".*$gdb_prompt $" { fail "ptype vampire" } - timeout { fail "(timeout) ptype vampire" } -} - -send_gdb "ptype viper\n" -gdb_expect { - -re "type = volatile unsigned char \\*.*$gdb_prompt $" { pass "ptype viper" } - -re ".*$gdb_prompt $" { fail "ptype viper" } - timeout { fail "(timeout) ptype viper" } -} - -send_gdb "ptype vigour\n" -gdb_expect { - -re "type = volatile short \\*.*$gdb_prompt $" { pass "ptype vigour" } - -re ".*$gdb_prompt $" { fail "ptype vigour" } - timeout { fail "(timeout) ptype vigour" } -} - -send_gdb "ptype vapour\n" -gdb_expect { - -re "type = volatile unsigned short \\*.*$gdb_prompt $" { pass "ptype vapour" } - -re ".*$gdb_prompt $" { fail "ptype vapour" } - timeout { fail "(timeout) ptype vapour" } -} - -send_gdb "ptype ventricle\n" -gdb_expect { - -re "type = volatile long \\*.*$gdb_prompt $" { pass "ptype ventricle" } - -re ".*$gdb_prompt $" { fail "ptype ventricle" } - timeout { fail "(timeout) ptype ventricle" } -} - -send_gdb "ptype vigintillion\n" -gdb_expect { - -re "type = volatile unsigned long \\*.*$gdb_prompt $" { pass "ptype vigintillion" } - -re ".*$gdb_prompt $" { fail "ptype vigintillion" } - timeout { fail "(timeout) ptype vigintillion" } -} - -send_gdb "ptype vocation\n" -gdb_expect { - -re "type = volatile float \\*.*$gdb_prompt $" { pass "ptype vocation" } - -re ".*$gdb_prompt $" { fail "ptype vocation" } - timeout { fail "(timeout) ptype vocation" } -} - -send_gdb "ptype veracity\n" -gdb_expect { - -re "type = volatile double \\*.*$gdb_prompt $" { pass "ptype veracity" } - -re ".*$gdb_prompt $" { fail "ptype veracity" } - timeout { fail "(timeout) ptype veracity" } -} - -send_gdb "ptype vapidity\n" -gdb_expect { - -re "type = volatile char \\* volatile.*$gdb_prompt $" { pass "ptype vapidity" } - -re ".*$gdb_prompt $" { fail "ptype vapidity" } - timeout { fail "(timeout) ptype vapidity" } -} - -send_gdb "ptype velocity\n" -gdb_expect { - -re "type = volatile unsigned char \\* volatile.*$gdb_prompt $" { pass "ptype velocity" } - -re ".*$gdb_prompt $" { fail "ptype velocity" } - timeout { fail "(timeout) ptype velocity" } -} - -send_gdb "ptype veneer\n" -gdb_expect { - -re "type = volatile short \\* volatile.*$gdb_prompt $" { pass "ptype veneer" } - -re ".*$gdb_prompt $" { fail "ptype veneer" } - timeout { fail "(timeout) ptype veneer" } -} - -send_gdb "ptype video\n" -gdb_expect { - -re "type = volatile unsigned short \\* volatile.*$gdb_prompt $" { pass "ptype video" } - -re ".*$gdb_prompt $" { fail "ptype video" } - timeout { fail "(timeout) ptype video" } -} - -send_gdb "ptype vacuum\n" -gdb_expect { - -re "type = volatile long \\* volatile.*$gdb_prompt $" { pass "ptype vacuum" } - -re ".*$gdb_prompt $" { fail "ptype vacuum" } - timeout { fail "(timeout) ptype vacuum" } -} - -send_gdb "ptype veniality\n" -gdb_expect { - -re "type = volatile unsigned long \\* volatile.*$gdb_prompt $" { pass "ptype veniality" } - -re ".*$gdb_prompt $" { fail "ptype veniality" } - timeout { fail "(timeout) ptype veniality" } -} - -send_gdb "ptype vitality\n" -gdb_expect { - -re "type = volatile float \\* volatile.*$gdb_prompt $" { pass "ptype vitality" } - -re ".*$gdb_prompt $" { fail "ptype vitality" } - timeout { fail "(timeout) ptype vitality" } -} - -send_gdb "ptype voracity\n" -gdb_expect { - -re "type = volatile double \\* volatile.*$gdb_prompt $" { pass "ptype voracity" } - -re ".*$gdb_prompt $" { fail "ptype voracity" } - timeout { fail "(timeout) ptype voracity" } -} - -send_gdb "ptype victor\n" -gdb_expect { - -re "type = const volatile char.*$gdb_prompt $" { pass "ptype victor" } - -re ".*$gdb_prompt $" { fail "ptype victor" } - timeout { fail "(timeout) ptype victor" } -} - -send_gdb "ptype vicar\n" -gdb_expect { - -re "type = const volatile unsigned char.*$gdb_prompt $" { pass "ptype vicar" } - -re ".*$gdb_prompt $" { fail "ptype vicar" } - timeout { fail "(timeout) ptype vicar" } -} - -send_gdb "ptype victory\n" -gdb_expect { - -re "type = const volatile char \\*.*$gdb_prompt $" { pass "ptype victory" } - -re ".*$gdb_prompt $" { fail "ptype victory" } - timeout { fail "(timeout) ptype victory" } -} - -send_gdb "ptype vicarage\n" -gdb_expect { - -re "type = const volatile unsigned char \\*.*$gdb_prompt $" { pass "ptype vicarage" } - -re ".*$gdb_prompt $" { fail "ptype vicarage" } - timeout { fail "(timeout) ptype vicarage" } -} - -send_gdb "ptype vein\n" -gdb_expect { - -re "type = volatile char \\* const.*$gdb_prompt $" { pass "ptype vein" } - -re ".*$gdb_prompt $" { fail "ptype vein" } - timeout { fail "(timeout) ptype vein" } -} - -send_gdb "ptype vogue\n" -gdb_expect { - -re "type = volatile unsigned char \\* const.*$gdb_prompt $" { pass "ptype vogue" } - -re ".*$gdb_prompt $" { fail "ptype vogue" } - timeout { fail "(timeout) ptype vogue" } -} - -send_gdb "ptype cavern\n" -gdb_expect { - -re "type = const volatile char \\* const.*$gdb_prompt $" { pass "ptype cavern" } - -re ".*$gdb_prompt $" { fail "ptype cavern" } - timeout { fail "(timeout) ptype cavern" } -} - -send_gdb "ptype coverlet\n" -gdb_expect { - -re "type = const volatile unsigned char \\* const.*$gdb_prompt $" { pass "ptype coverlet" } - -re ".*$gdb_prompt $" { fail "ptype coverlet" } - timeout { fail "(timeout) ptype coverlet" } -} - -send_gdb "ptype caveat\n" -gdb_expect { - -re "type = const char \\* volatile.*$gdb_prompt $" { pass "ptype caveat" } - -re ".*$gdb_prompt $" { fail "ptype caveat" } - timeout { fail "(timeout) ptype caveat" } -} - -send_gdb "ptype covenant\n" -gdb_expect { - -re "type = const unsigned char \\* volatile.*$gdb_prompt $" { pass "ptype covenant" } - -re ".*$gdb_prompt $" { fail "ptype covenant" } - timeout { fail "(timeout) ptype covenant" } -} - -send_gdb "ptype vizier\n" -gdb_expect { - -re "type = const volatile char \\* volatile.*$gdb_prompt $" { pass "ptype vizier" } - -re ".*$gdb_prompt $" { fail "ptype vizier" } - timeout { fail "(timeout) ptype vizier" } -} - -send_gdb "ptype vanadium\n" -gdb_expect { - -re "type = const volatile unsigned char \\* volatile.*$gdb_prompt $" { pass "ptype vanadium" } - -re ".*$gdb_prompt $" { fail "ptype vanadium" } - timeout { fail "(timeout) ptype vanadium" } -} - -send_gdb "ptype vane\n" -gdb_expect { - -re "type = char \\* const volatile.*$gdb_prompt $" { pass "ptype vane" } - -re ".*$gdb_prompt $" { fail "ptype vane" } - timeout { fail "(timeout) ptype vane" } -} - -send_gdb "ptype veldt\n" -gdb_expect { - -re "type = unsigned char \\* const volatile.*$gdb_prompt $" { pass "ptype veldt" } - -re ".*$gdb_prompt $" { fail "ptype veldt" } - timeout { fail "(timeout) ptype veldt" } -} - -send_gdb "ptype cove\n" -gdb_expect { - -re "type = const char \\* const volatile.*$gdb_prompt $" { pass "ptype cove" } - -re ".*$gdb_prompt $" { fail "ptype cove" } - timeout { fail "(timeout) ptype cove" } -} - -send_gdb "ptype cavity\n" -gdb_expect { - -re "type = const unsigned char \\* const volatile.*$gdb_prompt $" { pass "ptype cavity" } - -re ".*$gdb_prompt $" { fail "ptype cavity" } - timeout { fail "(timeout) ptype cavity" } -} - -send_gdb "ptype vagus\n" -gdb_expect { - -re "type = volatile char \\* const volatile.*$gdb_prompt $" { pass "ptype vagus" } - -re ".*$gdb_prompt $" { fail "ptype vagus" } - timeout { fail "(timeout) ptype vagus" } -} - -send_gdb "ptype vagrancy\n" -gdb_expect { - -re "type = volatile unsigned char \\* const volatile.*$gdb_prompt $" { pass "ptype vagrancy" } - -re ".*$gdb_prompt $" { fail "ptype vagrancy" } - timeout { fail "(timeout) ptype vagrancy" } -} - -send_gdb "ptype vagary\n" -gdb_expect { - -re "type = const volatile char \\* const volatile.*$gdb_prompt $" { pass "ptype vagary" } - -re ".*$gdb_prompt $" { fail "ptype vagary" } - timeout { fail "(timeout) ptype vagary" } -} - -send_gdb "ptype vendor\n" -gdb_expect { - -re "type = const volatile unsigned char \\* const volatile.*$gdb_prompt $" { pass "ptype vendor" } - -re ".*$gdb_prompt $" { fail "ptype vendor" } - timeout { fail "(timeout) ptype vendor" } -} - -# test function parameters -send_gdb "ptype qux2\n" -gdb_expect { - -re "type = int \\(volatile unsigned char, const volatile int, volatile short &, volatile long \\*, float \\* volatile, const volatile signed char \\* const volatile\\)" { - pass "ptype qux2" - } - -re ".*$gdb_prompt $" { fail "ptype qux2" } - timeout { fail "(timeout) ptype qux2" } - } - - diff --git a/gdb/testsuite/gdb.base/watchpoint.c b/gdb/testsuite/gdb.base/watchpoint.c deleted file mode 100644 index edb996d7402..00000000000 --- a/gdb/testsuite/gdb.base/watchpoint.c +++ /dev/null @@ -1,120 +0,0 @@ -#include <stdio.h> -#include <stdio.h> -/* - * Since using watchpoints can be very slow, we have to take some pains to - * ensure that we don't run too long with them enabled or we run the risk - * of having the test timeout. To help avoid this, we insert some marker - * functions in the execution stream so we can set breakpoints at known - * locations, without worrying about invalidating line numbers by changing - * this file. We use null bodied functions are markers since gdb does - * not support breakpoints at labeled text points at this time. - * - * One place we need is a marker for when we start executing our tests - * instructions rather than any process startup code, so we insert one - * right after entering main(). Another is right before we finish, before - * we start executing any process termination code. - * - * Another problem we have to guard against, at least for the test - * suite, is that we need to ensure that the line that causes the - * watchpoint to be hit is still the current line when gdb notices - * the hit. Depending upon the specific code generated by the compiler, - * the instruction after the one that triggers the hit may be part of - * the same line or part of the next line. Thus we ensure that there - * are always some instructions to execute on the same line after the - * code that should trigger the hit. - */ - -int count = -1; -int ival1 = -1; -int ival2 = -1; -int ival3 = -1; -int ival4 = -1; -char buf[10]; -struct foo -{ - int val; -}; -struct foo struct1, struct2, *ptr1, *ptr2; - -int doread = 0; - -void marker1 () -{ -} - -void marker2 () -{ -} - -void marker4 () -{ -} - -void marker5 () -{ -} - -void -func2 () -{ -} - -int -func1 () -{ - /* The point of this is that we will set a breakpoint at this call. - - Then, if DECR_PC_AFTER_BREAK equals the size of a function call - instruction (true on a sun3 if this is gcc-compiled--FIXME we - should use asm() to make it work for any compiler, present or - future), then we will end up branching to the location just after - the breakpoint. And we better not confuse that with hitting the - breakpoint. */ - func2 (); - return 73; -} - -int main () -{ - struct1.val = 1; - struct2.val = 2; - ptr1 = &struct1; - ptr2 = &struct2; - marker1 (); - func1 (); - for (count = 0; count < 4; count++) { - ival1 = count; - ival3 = count; ival4 = count; - } - ival1 = count; /* Outside loop */ - ival2 = count; - ival3 = count; ival4 = count; - marker2 (); - if (doread) - read (0, &buf[0], 5); - marker4 (); - - /* We have a watchpoint on ptr1->val. It should be triggered if - ptr1's value changes. */ - ptr1 = ptr2; - - /* This should not trigger the watchpoint. If it does, then we - used the wrong value chain to re-insert the watchpoints or we - are not evaluating the watchpoint expression correctly. */ - struct1.val = 5; - marker5 (); - if (doread) - read (0, &buf[0], 5); - marker4 (); - - /* We have a watchpoint on ptr1->val. It should be triggered if - ptr1's value changes. */ - ptr1 = ptr2; - - /* This should not trigger the watchpoint. If it does, then we - used the wrong value chain to re-insert the watchpoints or we - are not evaluating the watchpoint expression correctly. */ - struct1.val = 5; - marker5 (); - return 0; -} diff --git a/gdb/testsuite/gdb.base/watchpoint.exp b/gdb/testsuite/gdb.base/watchpoint.exp deleted file mode 100644 index 980383c6236..00000000000 --- a/gdb/testsuite/gdb.base/watchpoint.exp +++ /dev/null @@ -1,568 +0,0 @@ -# Copyright (C) 1992, 1994, 1997 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - -# Please email any bugs, comments, and/or additions to this file to: -# bug-gdb@prep.ai.mit.edu - -# This file was written by Fred Fish. (fnf@cygnus.com) - -if $tracelevel then { - strace $tracelevel -} - -set prms_id 0 -set bug_id 0 - -set testfile "watchpoint" -set srcfile ${testfile}.c -set binfile ${objdir}/${subdir}/${testfile} -if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug}] != "" } { - perror "Couldn't compile ${srcfile}" - return -1 -} - -# Prepare for watchpoint tests by setting up two breakpoints and one -# watchpoint. -# -# We use breakpoints at marker functions to get past all the startup code, -# so we can get to the watchpoints in a reasonable amount of time from a -# known starting point. -# -# For simplicity, so we always know how to reference specific breakpoints or -# watchpoints by number, we expect a particular ordering and numbering of -# each in the combined breakpoint/watchpoint table, as follows: -# -# Number What Where -# 1 Breakpoint marker1() -# 2 Breakpoint marker2() -# 3 Watchpoint ival3 - -proc initialize {} { - global gdb_prompt - global hex - global decimal - global srcfile - - if [gdb_test "break marker1" "Breakpoint 1 at $hex: file .*$srcfile, line $decimal.*" "set breakpoint at marker1" ] { - return 0; - } - - - if [gdb_test "break marker2" "Breakpoint 2 at $hex: file .*$srcfile, line $decimal.*" "set breakpoint at marker2" ] { - return 0; - } - - - if [gdb_test "info break" "1\[ \]*breakpoint.*marker1.*\r\n2\[ \]*breakpoint.*marker2.*" "info break in watchpoint.exp" ] { - return 0; - } - - - if [gdb_test "watch ival3" ".*\[Ww\]atchpoint 3: ival3" "set watchpoint on ival3" ] { - return 0; - } - - - # "info watch" is the same as "info break" - - if [gdb_test "info watch" "1\[ \]*breakpoint.*marker1.*\r\n2\[ \]*breakpoint.*marker2.*\r\n3\[ \]*.*watchpoint.*ival3" "watchpoint found in watchpoint/breakpoint table" ] { - return 0; - } - - - # After installing the watchpoint, we disable it until we are ready - # to use it. This allows the test program to run at full speed until - # we get to the first marker function. - - if [gdb_test "disable 3" "disable 3\[\r\n\]+" "disable watchpoint" ] { - return 0; - } - - - return 1 -} - -# -# Test simple watchpoint. -# - -proc test_simple_watchpoint {} { - global gdb_prompt - global hex - global decimal - - # Ensure that the watchpoint is disabled when we startup. - - if [gdb_test "disable 3" "^disable 3\[\r\n\]+" "disable watchpoint in test_simple_watchpoint" ] { - return 0; - } - - - # Run until we get to the first marker function. - - gdb_run_cmd - set timeout 600 - gdb_expect { - -re "Breakpoint 1, marker1 .*$gdb_prompt $" { - pass "run to marker1 in test_simple_watchpoint" - } - -re ".*$gdb_prompt $" { - fail "run to marker1 in test_simple_watchpoint" - return - } - timeout { - fail "run to marker1 in test_simple_watchpoint (timeout)" - return - } - } - - # After reaching the marker function, enable the watchpoint. - - if [gdb_test "enable 3" "^enable 3\[\r\n\]+" "enable watchpoint" ] { - return ; - } - - - gdb_test "break func1" "Breakpoint.*at.*" - gdb_test "set \$func1_breakpoint_number = \$bpnum" "" - - gdb_test "continue" "Continuing.*Breakpoint \[0-9\]*, func1.*" \ - "continue to breakpoint at func1" - - # Continue until the first change, from -1 to 0 - - send_gdb "cont\n" - gdb_expect { - -re "Continuing.*\[Ww\]atchpoint.*ival3.*Old value = -1.*New value = 0.*ival3 = count; ival4 = count;.*$gdb_prompt $" { - pass "watchpoint hit, first time" - } - -re "Continuing.*Breakpoint.*func1.*$gdb_prompt $" { - setup_xfail "m68*-*-*" 2597 - fail "thought it hit breakpoint at func1 twice" - gdb_test "delete \$func1_breakpoint_number" "" - gdb_test "continue" "\ -Continuing.*\[Ww\]atchpoint.*ival3.*Old value = -1.*New value = 0.*ival3 = count;" \ - "watchpoint hit, first time" - } - -re ".*$gdb_prompt $" { fail "watchpoint hit, first time" ; return } - timeout { fail "watchpoint hit, first time (timeout)" ; return } - eof { fail "watchpoint hit, first time (eof)" ; return } - } - - gdb_test "delete \$func1_breakpoint_number" "" - - # Continue until the next change, from 0 to 1. - gdb_test "cont" "Continuing.*\[Ww\]atchpoint.*ival3.*Old value = 0.*New value = 1.*ival3 = count; ival4 = count;.*" "watchpoint hit, second time" - - # Continue until the next change, from 1 to 2. - gdb_test "cont" "Continuing.*\[Ww\]atchpoint.*ival3.*Old value = 1.*New value = 2.*ival3 = count; ival4 = count;.*" "watchpoint hit, third time" - - # Continue until the next change, from 2 to 3. - gdb_test "cont" "Continuing.*\[Ww\]atchpoint.*ival3.*Old value = 2.*New value = 3.*ival3 = count; ival4 = count;.*" "watchpoint hit, fourth time" - - # Continue until the next change, from 3 to 4. - # Note that this one is outside the loop. - - gdb_test "cont" "Continuing.*\[Ww\]atchpoint.*ival3.*Old value = 3.*New value = 4.*ival3 = count; ival4 = count;.*" "watchpoint hit, fifth time" - - # Continue until we hit the finishing marker function. - # Make sure we hit no more watchpoints. - - gdb_test "cont" "Continuing.*Breakpoint.*marker2 \(\).*" \ - "continue to marker2" - - # Disable the watchpoint so we run at full speed until we exit. - - if [gdb_test "disable 3" "^disable 3\[\r\n\]+" "watchpoint disabled" ] { - return ; - } - - - # Run until process exits. - - if [target_info exists gdb,noresults] { return } - - gdb_test "cont" "Continuing.*Program exited normally.*" \ - "continue to exit in test_simple_watchpoint" -} - -# Test disabling watchpoints. - -proc test_disabling_watchpoints {} { - global gdb_prompt - global binfile - global srcfile - global decimal - global hex - - # Ensure that the watchpoint is disabled when we startup. - - if [gdb_test "disable 3" "^disable 3\[\r\n\]+" "disable watchpoint in test_disabling_watchpoints" ] { - return 0; - } - - - # Run until we get to the first marker function. - - gdb_run_cmd - set timeout 600 - gdb_expect { - -re "Breakpoint 1, marker1 .*$gdb_prompt $" { - pass "run to marker1 in test_disabling_watchpoints" - } - -re ".*$gdb_prompt $" { - fail "run to marker1 in test_disabling_watchpoints" - return - } - timeout { - fail "run to marker1 in test_disabling_watchpoints (timeout)" - return - } - } - - # After reaching the marker function, enable the watchpoint. - - if [gdb_test "enable 3" "^enable 3\[\r\n\]+" "watchpoint enabled" ] { - return ; - } - - - # Continue until the first change, from -1 to 0 - # Don't check the old value, because on VxWorks the variable value - # will not have been reinitialized. - gdb_test "cont" "Continuing.*\[Ww\]atchpoint.*ival3.*Old value = .*New value = 0.*ival3 = count; ival4 = count;.*" "watchpoint hit in test_disabling_watchpoints, first time" - - # Continue until the next change, from 0 to 1. - gdb_test "cont" "Continuing.*\[Ww\]atchpoint.*ival3.*Old value = 0.*New value = 1.*ival3 = count; ival4 = count;.*" "watchpoint hit in test_disabling_watchpoints, second time" - - # Disable the watchpoint but leave breakpoints - - if [gdb_test "disable 3" "^disable 3\[\r\n\]+" "disable watchpoint #2 in test_disabling_watchpoints" ] { - return 0; - } - - - # Check watchpoint list, looking for the entry that confirms the - # watchpoint is disabled. - gdb_test "info watchpoints" "3\[ \]*.*watchpoint\[ \]*keep\[ \]*n\[ \]*ival3\r\n.*" "watchpoint disabled in table" - - # Continue until we hit the finishing marker function. - # Make sure we hit no more watchpoints. - gdb_test "cont" "Continuing.*Breakpoint.*marker2 \\(\\).*" \ - "disabled watchpoint skipped" - - if [target_info exists gdb,noresults] { return } - - gdb_test "cont" "Continuing.*Program exited normally.*" \ - "continue to exit in test_disabling_watchpoints" -} - -# Test stepping and other mundane operations with watchpoints enabled -proc test_stepping {} { - global gdb_prompt - - if [runto marker1] then { - gdb_test "watch ival2" ".*\[Ww\]atchpoint \[0-9\]*: ival2" - - # Well, let's not be too mundane. It should be a *bit* of a challenge - gdb_test "break func2 if 0" "Breakpoint.*at.*" - gdb_test "p \$func2_breakpoint_number = \$bpnum" " = .*" - - # The HPPA has a problem here if it's not using hardware watchpoints - if {[ istarget "hppa*-*-*" ] && ![ istarget "hppa*-*-*bsd*" ]} then { - # Don't actually try doing the call, if we do we can't continue. - setup_xfail "*-*-*" - fail "calling function with watchpoint enabled" - } else { - # The problem is that GDB confuses stepping through the call - # dummy with hitting the breakpoint at the end of the call dummy. - # Will be fixed once all architectures define - # CALL_DUMMY_BREAKPOINT_OFFSET. - setup_xfail "*-*-*" - # This doesn't occur if the call dummy starts with a call, - # because we are out of the dummy by the first time the inferior - # stops. - clear_xfail "m68*-*-*" - clear_xfail "i*86*-*-*" - clear_xfail "vax-*-*" - # The following architectures define CALL_DUMMY_BREAKPOINT_OFFSET. - clear_xfail "alpha-*-*" - clear_xfail "mips*-*-*" - clear_xfail "sparc-*-*" - clear_xfail "hppa*-*-*bsd*" - # It works with the generic inferior function calling code too. - clear_xfail "mn10200*-*-*" - clear_xfail "mn10300*-*-*" - gdb_test "p func1 ()" "= 73" \ - "calling function with watchpoint enabled" - } - - # - # "finish" brings us back to main. - # On some targets (e.g. alpha) gdb will stop from the finish in midline - # of the marker1 call. This is due to register restoring code on - # the alpha and might be caused by stack adjustment instructions - # on other targets. In this case we will step once more. - # - - send_gdb "finish\n" - gdb_expect { - -re "Run.*exit from.*marker1.* at" { } - default { fail "finish from marker1" ; return } - } - - gdb_expect { - -re "marker1 \\(\\);.*$gdb_prompt $" { - send_gdb "step\n" - exp_continue - } - -re "func1 \\(\\);.*$gdb_prompt $" { - pass "finish from marker1" - } - -re ".*$gdb_prompt $" { - fail "finish from marker1" - } - default { fail "finish from marker1" ; return } - } - - gdb_test "next" "for \\(count = 0.*" "next to `for' in watchpoint.exp" - - # Now test that "until" works. It's a bit tricky to test - # "until", because compilers don't always arrange the code - # exactly the same way, and we might get slightly different - # sequences of statements. But the following should be true - # (if not it is a compiler or a debugger bug): The user who - # does "until" at every statement of a loop should end up - # stepping through the loop once, and the debugger should not - # stop for any of the remaining iterations. - - gdb_test "until" "ival1 = count.*" "until to ival1 assignment" - gdb_test "until" "ival3 = count.*" "until to ival3 assignment" - send_gdb "until\n" - gdb_expect { - -re "(for \\(count = 0|\}).*$gdb_prompt $" { - gdb_test "until" "ival1 = count; /. Outside loop ./" \ - "until out of loop" - } - -re "ival1 = count; /. Outside loop ./.*$gdb_prompt $" { - pass "until out of loop" - } - -re ".*$gdb_prompt $" { - fail "until out of loop" - } - default { fail "until out of loop" ; return } - } - - gdb_test "step" "ival2 = count.*" "step to ival2 assignment" - } -} - -# Test stepping and other mundane operations with watchpoints enabled -proc test_watchpoint_triggered_in_syscall {} { - global gdb_prompt - - if [target_info exists gdb,noinferiorio] { - verbose "Skipping test_watchpoint_triggered_in_syscall due to noinferiorio" - return - } - # Run until we get to the first marker function. - set x 0 - set y 0 - set testname "Watch buffer passed to read syscall" - if [runto marker2] then { - gdb_test "watch buf\[0\]" ".*\[Ww\]atchpoint \[0-9\]*: buf\\\[0\\\]" - gdb_test "watch buf\[1\]" ".*\[Ww\]atchpoint \[0-9\]*: buf\\\[1\\\]" - gdb_test "watch buf\[2\]" ".*\[Ww\]atchpoint \[0-9\]*: buf\\\[2\\\]" - gdb_test "watch buf\[3\]" ".*\[Ww\]atchpoint \[0-9\]*: buf\\\[3\\\]" - gdb_test "watch buf\[4\]" ".*\[Ww\]atchpoint \[0-9\]*: buf\\\[4\\\]" - gdb_test "break marker4" ".*Breakpoint.*" - - gdb_test "set doread = 1" "" - - # If we send_gdb "123\n" before gdb has switched the tty, then it goes - # to gdb, not the inferior, and we lose. So that is why we have - # watchpoint.c prompt us, so we can wait for that prompt. - send_gdb "continue\n"; - gdb_expect { - -re "Continuing\\.\r\ntype stuff for buf now:" { - pass "continue to read" - } - default { - fail "continue to read"; - return ; - } - } - - send_gdb "123\n" - gdb_expect { - -re ".*\[Ww\]atchpoint.*buf\\\[0\\\].*Old value = 0.*New value = 49\[^\n\]*\n" { set x [expr $x+1] ; exp_continue } - -re ".*\[Ww\]atchpoint.*buf\\\[1\\\].*Old value = 0.*New value = 50\[^\n\]*\n" { set x [expr $x+1] ; exp_continue } - -re ".*\[Ww\]atchpoint.*buf\\\[2\\\].*Old value = 0.*New value = 51\[^\n\]*\n" { set x [expr $x+1] ; exp_continue } - -re ".*\[Ww\]atchpoint.*buf\\\[3\\\].*Old value = 0.*New value = 10\[^\n\]*\n" { set x [expr $x+1] ; exp_continue } - -re ".*$gdb_prompt $" { pass "sent 123" } - timeout { fail "sent 123 (timeout)" } - } - - # Examine the values in buf to see how many watchpoints we - # should have printed. - send_gdb "print buf\[0\]\n" - gdb_expect { - -re ".*= 49.*$gdb_prompt $" { set y [expr $y+1]; pass "print buf\[0\]"} - -re ".*= 0.*$gdb_prompt $" { pass "print buf\[0\]"} - -re ".*$gdb_prompt $" { fail "print buf\[0\]"} - default { fail "print buf\[0\]"} - } - send_gdb "print buf\[1\]\n" - gdb_expect { - -re ".*= 50.*$gdb_prompt $" { set y [expr $y+1]; pass "print buf\[1\]"} - -re ".*= 0.*$gdb_prompt $" { pass "print buf\[1\]"} - -re ".*$gdb_prompt $" { fail "print buf\[1\]"} - default { fail "print buf\[1\]"} - } - send_gdb "print buf\[2\]\n" - gdb_expect { - -re ".*= 51.*$gdb_prompt $" { set y [expr $y+1]; pass "print buf\[2\]"} - -re ".*= 0.*$gdb_prompt $" { pass "print buf\[2\]"} - -re ".*$gdb_prompt $" { fail "print buf\[2\]"} - default { fail "print buf\[2\]"} - } - send_gdb "print buf\[3\]\n" - gdb_expect { - -re ".*= 10.*$gdb_prompt $" { set y [expr $y+1]; pass "print buf\[3\]"} - -re ".*= 0.*$gdb_prompt $" { pass "print buf\[3\]"} - -re ".*$gdb_prompt $" { fail "print buf\[3\]" } - default { fail "print buf\[3\]" } - } - - # Did we find what we were looking for? If not, flunk it. - if [expr $x==$y] then { pass $testname } else { fail "$testname (only triggered $x watchpoints, expected $y)"} - - # Continue until we hit the finishing marker function. - # Make sure we hit no more watchpoints. - gdb_test "cont" "Continuing.*Breakpoint.*marker4 \\(\\).*" \ - "continue to marker4" - - # Disable everything so we can finish the program at full speed - gdb_test "disable" "" "disable in test_watchpoint_triggered_in_syscall" - - if [target_info exists gdb,noresults] { return } - - gdb_test "cont" "Continuing.*Program exited normally.*" \ - "continue to exit in test_watchpoint_triggered_in_syscall" - } -} - -# Do a simple test of of watching through a pointer when the pointer -# itself changes. Should add some more complicated stuff here. - -proc test_complex_watchpoint {} { - global gdb_prompt - - if [runto marker4] then { - gdb_test "watch ptr1->val" ".*\[Ww\]atchpoint \[0-9\]*: ptr1->val" - gdb_test "break marker5" ".*Breakpoint.*" - - gdb_test "cont" "Continuing.*\[Ww\]atchpoint.*ptr1->val.*Old value = 1.*New value = 2.*" "Test complex watchpoint" - - # Continue until we hit the marker5 function. - # Make sure we hit no more watchpoints. - - gdb_test "cont" "Continuing.*Breakpoint.*marker5 \\(\\).*" \ - "did not trigger wrong watchpoint" - - # Disable everything so we can finish the program at full speed - gdb_test "disable" "" "disable in test_complex_watchpoint" - - if [target_info exists gdb,noresults] { return } - - - gdb_test "cont" "Continuing.*Program exited normally.*" \ - "continue to exit in test_complex_watchpoint" - } -} - -# Start with a fresh gdb. - -gdb_start -gdb_reinitialize_dir $srcdir/$subdir -gdb_load $binfile -set timeout 600 -verbose "Timeout now 600 sec.\n" - -if [initialize] then { - - test_simple_watchpoint - - # The IDT/sim monitor only has 8 (!) open files, of which it uses - # 4 (!). So we have to make sure one program exits before - # starting another one. - if [istarget "mips-idt-*"] then { - gdb_exit - gdb_start - gdb_reinitialize_dir $srcdir/$subdir - gdb_load $binfile - initialize - } - - test_disabling_watchpoints - - # See above. - if [istarget "mips-idt-*"] then { - gdb_exit - gdb_start - gdb_reinitialize_dir $srcdir/$subdir - gdb_load $binfile - initialize - } - - if ![target_info exsts gdb,cannot_call_functions] { - test_stepping - - # See above. - if [istarget "mips-idt-*"] then { - gdb_exit - gdb_start - gdb_reinitialize_dir $srcdir/$subdir - gdb_load $binfile - initialize - } - } - - # Only enabled for some targets merely because it has not been tested - # elsewhere. - # On sparc-sun-sunos4.1.3, GDB was running all the way to the marker4 - # breakpoint before stopping for the watchpoint. I don't know why. - if {[istarget "hppa*-*-*"]} then { - test_watchpoint_triggered_in_syscall - } - - # See above. - if [istarget "mips-idt-*"] then { - gdb_exit - gdb_start - gdb_reinitialize_dir $srcdir/$subdir - gdb_load $binfile - initialize - } - - # Only enabled for some targets merely because it has not been tested - # elsewhere. - if {[istarget "hppa*-*-*"] || \ - [istarget "sparc*-*-sunos*"] || \ - [istarget "m32r-*-*"]} then { - test_complex_watchpoint - } -} diff --git a/gdb/testsuite/gdb.base/whatis-exp.exp b/gdb/testsuite/gdb.base/whatis-exp.exp deleted file mode 100644 index c5b97eed357..00000000000 --- a/gdb/testsuite/gdb.base/whatis-exp.exp +++ /dev/null @@ -1,217 +0,0 @@ -# Copyright (C) 1998 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - -# Please email any bugs, comments, and/or additions to this file to: -# bug-gdb@prep.ai.mit.edu - -# This file was written by Elena Zannoni (ezannoni@cygnus.com) - -# This file is part of the gdb testsuite -# -# tests for whatis command on expressions. -# used in file eval.c. This flavor of whatis -# command performs evaluation of expressions w/o actually -# computing the value, but just the type -# of the result. It goes through the evaluate_subexp_standard -# with the EVAL_AVOID_SIDE_EFFECTS flag rather than EVAL_NORMAL -# - -if $tracelevel then { - strace $tracelevel - } - -# -# test running programs -# -set prms_id 0 -set bug_id 0 - -set testfile "int-type" -set srcfile ${testfile}.c -set binfile ${objdir}/${subdir}/${testfile} -if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug additional_flags=-w}] != "" } { - gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail." - } - - -gdb_exit -gdb_start -gdb_reinitialize_dir $srcdir/$subdir -gdb_load ${binfile} - - -# -# set it up at a breakpoint so we can play with the variable values -# - -if ![runto_main] then { - perror "couldn't run to breakpoint" - continue -} - -# -# test expressions with "int" types -# - -gdb_test "set variable x=14" "" "set variable x=14" -gdb_test "set variable y=2" "" "set variable y=2" -gdb_test "set variable z=2" "" "set variable z=2" -gdb_test "set variable w=3" "" "set variable w=3" - -send_gdb "print x\n" -gdb_expect { - -re ".*14.*$gdb_prompt $" { - pass "print value of x" - } - -re ".*$gdb_prompt $" { fail "print value of x" } - timeout { fail "(timeout) print value of x" } - } - - -send_gdb "print y\n" -gdb_expect { - -re ".*2.*$gdb_prompt $" { - pass "print value of y" - } - -re ".*$gdb_prompt $" { fail "print value of y" } - timeout { fail "(timeout) print value of y" } - } - -send_gdb "print z\n" -gdb_expect { - -re ".*2.*$gdb_prompt $" { - pass "print value of z" - } - -re ".*$gdb_prompt $" { fail "print value of z" } - timeout { fail "(timeout) print value of z" } - } - -send_gdb "print w\n" -gdb_expect { - -re ".*3.*$gdb_prompt $" { - pass "print value of w" - } - -re ".*$gdb_prompt $" { fail "print value of w" } - timeout { fail "(timeout) print value of w" } - } - - - -send_gdb "whatis x+y\n" -gdb_expect { - -re ".*type = long.*$gdb_prompt $" { - pass "whatis value of x+y" - } - -re ".*$gdb_prompt $" { fail "whatis value of x+y" } - timeout { fail "(timeout) whatis value of x+y" } - } - -send_gdb "whatis x-y\n" -gdb_expect { - -re ".*type = long.*$gdb_prompt $" { - pass "whatis value of x-y" - } - -re ".*$gdb_prompt $" { fail "whatis value of x-y" } - timeout { fail "(timeout) whatis value of x-y" } - } - -send_gdb "whatis x*y\n" -gdb_expect { - -re ".*type = long.*$gdb_prompt $" { - pass "whatis value of x*y" - } - -re ".*$gdb_prompt $" { fail "whatis value of x*y" } - timeout { fail "(timeout) whatis value of x*y" } - } - -send_gdb "whatis x/y\n" -gdb_expect { - -re ".*type = int.*$gdb_prompt $" { - pass "whatis value of x/y" - } - -re ".*$gdb_prompt $" { fail "whatis value of x/y" } - timeout { fail "(timeout) whatis value of x/y" } - } - -send_gdb "whatis x%y\n" -gdb_expect { - -re ".*type = int.*$gdb_prompt $" { - pass "whatis value of x%y" - } - -re ".*$gdb_prompt $" { fail "whatis value of x%y" } - timeout { fail "(timeout) whatis value of x%y" } - } - - - -send_gdb "whatis x=y\n" -gdb_expect { - -re ".*type = int.*$gdb_prompt $" { - pass "whatis value of x=y" - } - -re ".*$gdb_prompt $" { fail "whatis value of x=y" } - timeout { fail "(timeout) whatis value of x=y" } - } - - -send_gdb "whatis x+=2\n" -gdb_expect { - -re ".*type = int.*$gdb_prompt $" { - pass "whatis value of x+=2" - } - -re ".*$gdb_prompt $" { fail "whatis value of x+=2" } - timeout { fail "(timeout) whatis value of x+=2" } - } - - -send_gdb "whatis ++x\n" -gdb_expect { - -re ".*type = int.*$gdb_prompt $" { - pass "whatis value of ++x" - } - -re ".*$gdb_prompt $" { fail "whatis value of ++x" } - timeout { fail "(timeout) whatis value of ++x" } - } - -send_gdb "whatis --x\n" -gdb_expect { - -re ".*type = int.*$gdb_prompt $" { - pass "whatis value of --x" - } - -re ".*$gdb_prompt $" { fail "whatis value of --x" } - timeout { fail "(timeout) whatis value of --x" } - } - -send_gdb "whatis x++\n" -gdb_expect { - -re ".*type = int.*$gdb_prompt $" { - pass "whatis value of x++" - } - -re ".*$gdb_prompt $" { fail "whatis value of x++" } - timeout { fail "(timeout) whatis value of x++" } - } - -send_gdb "whatis x--\n" -gdb_expect { - -re ".*type = int.*$gdb_prompt $" { - pass "whatis value of x--" - } - -re ".*$gdb_prompt $" { fail "whatis value of x--" } - timeout { fail "(timeout) whatis value of x--" } - } - -gdb_exit -return 0 diff --git a/gdb/testsuite/gdb.base/whatis.c b/gdb/testsuite/gdb.base/whatis.c deleted file mode 100644 index ca50c063c64..00000000000 --- a/gdb/testsuite/gdb.base/whatis.c +++ /dev/null @@ -1,265 +0,0 @@ -/* - * Test file with lots of different types, for testing the - * "whatis" command. - */ - -/* - * First the basic C types. - */ - -#if !(defined (__STDC__) || defined (_AIX)) -#define signed /**/ -#endif - -char v_char; -signed char v_signed_char; -unsigned char v_unsigned_char; - -short v_short; -signed short v_signed_short; -unsigned short v_unsigned_short; - -int v_int; -signed int v_signed_int; -unsigned int v_unsigned_int; - -long v_long; -signed long v_signed_long; -unsigned long v_unsigned_long; - -float v_float; -double v_double; - -/* - * Now some derived types, which are arrays, functions-returning, - * pointers, structures, unions, and enumerations. - */ - -/**** arrays *******/ - -char v_char_array[2]; -signed char v_signed_char_array[2]; -unsigned char v_unsigned_char_array[2]; - -short v_short_array[2]; -signed short v_signed_short_array[2]; -unsigned short v_unsigned_short_array[2]; - -int v_int_array[2]; -signed int v_signed_int_array[2]; -unsigned int v_unsigned_int_array[2]; - -long v_long_array[2]; -signed long v_signed_long_array[2]; -unsigned long v_unsigned_long_array[2]; - -float v_float_array[2]; -double v_double_array[2]; - -/**** pointers *******/ - -/* Make sure they still print as pointer to foo even there is a typedef - for that type. Test this not just for char *, which might be - a special case kludge in GDB (Unix system include files like to define - caddr_t), but for a variety of types. */ -typedef char *char_addr; -typedef unsigned short *ushort_addr; -typedef signed long *slong_addr; - -char *v_char_pointer; -signed char *v_signed_char_pointer; -unsigned char *v_unsigned_char_pointer; - -short *v_short_pointer; -signed short *v_signed_short_pointer; -unsigned short *v_unsigned_short_pointer; - -int *v_int_pointer; -signed int *v_signed_int_pointer; -unsigned int *v_unsigned_int_pointer; - -long *v_long_pointer; -signed long *v_signed_long_pointer; -unsigned long *v_unsigned_long_pointer; - -float *v_float_pointer; -double *v_double_pointer; - -/**** structs *******/ - -struct t_struct { - char v_char_member; - short v_short_member; - int v_int_member; - long v_long_member; - float v_float_member; - double v_double_member; -} v_struct1; - -struct { - char v_char_member; - short v_short_member; - int v_int_member; - long v_long_member; - float v_float_member; - double v_double_member; -} v_struct2; - -/**** unions *******/ - -union t_union { - char v_char_member; - short v_short_member; - int v_int_member; - long v_long_member; - float v_float_member; - double v_double_member; -} v_union; - -union { - char v_char_member; - short v_short_member; - int v_int_member; - long v_long_member; - float v_float_member; - double v_double_member; -} v_union2; - -/*** Functions returning type ********/ - -char v_char_func () { return(0); } -signed char v_signed_char_func () { return (0); } -unsigned char v_unsigned_char_func () { return (0); } - -short v_short_func () { return (0); } -signed short v_signed_short_func () { return (0); } -unsigned short v_unsigned_short_func () { return (0); } - -int v_int_func () { return (0); } -signed int v_signed_int_func () { return (0); } -unsigned int v_unsigned_int_func () { return (0); } - -long v_long_func () { return (0); } -signed long v_signed_long_func () { return (0); } -unsigned long v_unsigned_long_func () { return (0); } - -float v_float_func () { return (0.0); } -double v_double_func () { return (0.0); } - -/**** Some misc more complicated things *******/ - -struct link { - struct link *next; -#ifdef __STDC__ - struct link *(*linkfunc) (struct link *this, int flags); -#else - struct link *(*linkfunc) (); -#endif - struct t_struct stuff[1][2][3]; -} *s_link; - -union tu_link { - struct link *next; -#ifdef __STDC__ - struct link *(*linkfunc) (struct link *this, int flags); -#else - struct link *(*linkfunc) (); -#endif - struct t_struct stuff[1][2][3]; -} u_link; - -struct outer_struct { - int outer_int; - struct inner_struct { - int inner_int; - long inner_long; - }inner_struct_instance; - union inner_union { - int inner_union_int; - long inner_union_long; - }inner_union_instance; - long outer_long; -} nested_su; - -/**** Enumerations *******/ - -enum colors {red, green, blue} color; -enum cars {chevy, ford, porsche} clunker; - -/***********/ - -main () -{ - /* Some linkers (e.g. on AIX) remove unreferenced variables, - so make sure to reference them. */ - v_char = 0; - v_signed_char = 1; - v_unsigned_char = 2; - - v_short = 3; - v_signed_short = 4; - v_unsigned_short = 5; - - v_int = 6; - v_signed_int = 7; - v_unsigned_int = 8; - - v_long = 9; - v_signed_long = 10; - v_unsigned_long = 11; - - v_float = 100.0; - v_double = 200.0; - - - v_char_array[0] = v_char; - v_signed_char_array[0] = v_signed_char; - v_unsigned_char_array[0] = v_unsigned_char; - - v_short_array[0] = v_short; - v_signed_short_array[0] = v_signed_short; - v_unsigned_short_array[0] = v_unsigned_short; - - v_int_array[0] = v_int; - v_signed_int_array[0] = v_signed_int; - v_unsigned_int_array[0] = v_unsigned_int; - - v_long_array[0] = v_long; - v_signed_long_array[0] = v_signed_long; - v_unsigned_long_array[0] = v_unsigned_long; - - v_float_array[0] = v_float; - v_double_array[0] = v_double; - - v_char_pointer = &v_char; - v_signed_char_pointer = &v_signed_char; - v_unsigned_char_pointer = &v_unsigned_char; - - v_short_pointer = &v_short; - v_signed_short_pointer = &v_signed_short; - v_unsigned_short_pointer = &v_unsigned_short; - - v_int_pointer = &v_int; - v_signed_int_pointer = &v_signed_int; - v_unsigned_int_pointer = &v_unsigned_int; - - v_long_pointer = &v_long; - v_signed_long_pointer = &v_signed_long; - v_unsigned_long_pointer = &v_unsigned_long; - - v_float_pointer = &v_float; - v_double_pointer = &v_double; - - color = red; - clunker = porsche; - - u_link.next = s_link; - - v_union2.v_short_member = v_union.v_short_member; - - v_struct1.v_char_member = 0; - v_struct2.v_char_member = 0; - - nested_su.outer_int = 0; - return 0; -} diff --git a/gdb/testsuite/gdb.base/whatis.exp b/gdb/testsuite/gdb.base/whatis.exp deleted file mode 100644 index 011ff30858f..00000000000 --- a/gdb/testsuite/gdb.base/whatis.exp +++ /dev/null @@ -1,396 +0,0 @@ -# Copyright (C) 1988, 1990, 1991, 1992, 1995 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ - -# Please email any bugs, comments, and/or additions to this file to: -# bug-gdb@prep.ai.mit.edu - -# This file was written by Rob Savoye. (rob@cygnus.com) - -if $tracelevel { - strace $tracelevel -} - -# -# test running programs -# -set prms_id 0 -set bug_id 0 - -set testfile whatis -set srcfile ${srcdir}/$subdir/${testfile}.c -set binfile ${objdir}/${subdir}/${testfile} -if { [compile "${srcfile} -g -o ${binfile}"] != "" } { - perror "Couldn't compile ${srcfile}" - return -1 -} - -execute_anywhere "rm -f ${binfile}.ci" -if { [compile "-E ${srcdir}/${subdir}/compiler.c > ${binfile}.ci"] != "" } { - perror "Couldn't make ${testfile}.ci file" - return -1 -} - -# Start with a fresh gdb. - -gdb_exit -gdb_start -gdb_reinitialize_dir $srcdir/$subdir -gdb_load $binfile - -source ${binfile}.ci - -# If we did not use the signed keyword when compiling the file, don't -# expect GDB to know that char is signed. -if $signed_keyword_not_used then { - set signed_char "char" -} else { - set signed_char "signed char" -} - -# Define a procedure to set up an xfail for all targets that put out a -# `long' type as an `int' type. -# Sun/Ultrix cc have this problem. -# It was said that COFF targets can not distinguish int from long either. - -proc setup_xfail_on_long_vs_int {} { - global gcc_compiled - - if {!$gcc_compiled} { - setup_xfail "*-sun-sunos4*" "*-*-ultrix*" "i*86-sequent-bsd*" - } -} - -# -# Test whatis command with basic C types -# -# The name printed now (as of 23 May 1993) is whatever name the compiler -# uses in the stabs. So we need to deal with names both from gcc and -# native compilers. -# -gdb_test "whatis v_char" \ - "type = (unsigned char|char)" \ - "whatis char" - -setup_xfail "a29k-*-*" -if {!$gcc_compiled} then { setup_xfail "mips-sgi-irix*" } -gdb_test "whatis v_signed_char" \ - "type = $signed_char" \ - "whatis signed char" - -gdb_test "whatis v_unsigned_char" \ - "type = unsigned char" \ - "whatis unsigned char" - -gdb_test "whatis v_short" \ - "type = (short|short int)" \ - "whatis short" - -gdb_test "whatis v_signed_short" \ - "type = (short|short int|signed short|signed short int)" \ - "whatis signed short" - -gdb_test "whatis v_unsigned_short" \ - "type = (unsigned short|short unsigned int)" \ - "whatis unsigned short" - -gdb_test "whatis v_int" \ - "type = int" \ - "whatis int" - -gdb_test "whatis v_signed_int" \ - "type = (signed |)int" \ - "whatis signed int" - -gdb_test "whatis v_unsigned_int" \ - "type = unsigned int" \ - "whatis unsigned int" - -setup_xfail_on_long_vs_int -# AIX xlc gets this wrong and unsigned long right. Go figure. -if {!$gcc_compiled} then {setup_xfail "rs6000-*-aix*"} -gdb_test "whatis v_long" \ - "type = (long|long int)" \ - "whatis long" - -setup_xfail_on_long_vs_int -# AIX xlc gets this wrong and unsigned long right. Go figure. -if {!$gcc_compiled} then {setup_xfail "rs6000-*-aix*"} -gdb_test "whatis v_signed_long" \ - "type = (signed |)(long|long int)" \ - "whatis signed long" - -setup_xfail_on_long_vs_int -gdb_test "whatis v_unsigned_long" \ - "type = (unsigned long|long unsigned int)" \ - "whatis unsigned long" - -gdb_test "whatis v_float" \ - "type = float" \ - "whatis float" - -gdb_test "whatis v_double" \ - "type = double" \ - "whatis double" - - -# test whatis command with arrays -# -# We already tested whether char prints as "char", so here we accept -# "unsigned char", "signed char", and other perversions. No need for more -# than one xfail for the same thing. -gdb_test "whatis v_char_array" \ - "type = (signed |unsigned |)char \\\[2\\\]" \ - "whatis char array" - -gdb_test "whatis v_signed_char_array" \ - "type = (signed |unsigned |)char \\\[2\\\]" \ - "whatis signed char array" - -gdb_test "whatis v_unsigned_char_array" \ - "type = unsigned char \\\[2\\\]" \ - "whatis unsigned char array" - -gdb_test "whatis v_short_array" \ - "type = (short|short int) \\\[2\\\]" \ - pass "whatis short array" - -gdb_test "whatis v_signed_short_array" \ - "type = (signed |)(short|short int) \\\[2\\\]" \ - "whatis signed short array" - -gdb_test "whatis v_unsigned_short_array" \ - "type = (unsigned short|short unsigned int) \\\[2\\\]" \ - "whatis unsigned short array" - -gdb_test "whatis v_int_array" \ - "type = int \\\[2\\\]" \ - "whatis int array" - -gdb_test "whatis v_signed_int_array" \ - "type = (signed |)int \\\[2\\\]" \ - "whatis signed int array" - -gdb_test "whatis v_unsigned_int_array" \ - "type = unsigned int \\\[2\\\]" \ - "whatis unsigned int array" - -# We already tested whether long prints as long, so here we accept int -# No need for more than one xfail for the same thing. -gdb_test "whatis v_long_array" \ - "type = (int|long|long int) \\\[2\\\]" \ - "whatis long array" - -gdb_test "whatis v_signed_long_array" \ - "type = (signed |)(int|long|long int) \\\[2\\\]" \ - "whatis signed long array" - -gdb_test "whatis v_unsigned_long_array" \ - "type = (unsigned (int|long|long int)|long unsigned int) \\\[2\\\]" \ - "whatis unsigned long array" - -gdb_test "whatis v_float_array" \ - "type = float \\\[2\\\]" \ - "whatis float array" - -gdb_test "whatis v_double_array" \ - "type = double \\\[2\\\]" \ - "whatis double array" - - -# test whatis command with pointers -# -# We already tested whether char prints as char, so accept various perversions -# here. We especially want to make sure we test that it doesn't print as -# caddr_t. -gdb_test "whatis v_char_pointer" \ - "type = (unsigned |signed |)char \\*" \ - "whatis char pointer" - -gdb_test "whatis v_signed_char_pointer" \ - "type = (unsigned |signed |)char \\*" \ - "whatis signed char pointer" - -gdb_test "whatis v_unsigned_char_pointer" \ - "type = unsigned char \\*" \ - "whatis unsigned char pointer" - -gdb_test "whatis v_short_pointer" \ - "type = (short|short int) \\*" \ - pass "whatis short pointer" - -gdb_test "whatis v_signed_short_pointer" \ - "type = (signed |)(short|short int) \\*" \ - "whatis signed short pointer" - -gdb_test "whatis v_unsigned_short_pointer" \ - "type = (unsigned short|short unsigned int) \\*" \ - "whatis unsigned short pointer" - -gdb_test "whatis v_int_pointer" \ - "type = int \\*" \ - "whatis int pointer" - -gdb_test "whatis v_signed_int_pointer" \ - "type = (signed |)int \\*" \ - "whatis signed int pointer" - -gdb_test "whatis v_unsigned_int_pointer" \ - "type = unsigned int \\*" \ - "whatis unsigned int pointer" - -# We already tested whether long prints as long, so here we accept int -gdb_test "whatis v_long_pointer" \ - "type = (long|int|long int) \\*" \ - "whatis long pointer" - -gdb_test "whatis v_signed_long_pointer" \ - "type = (signed |)(long|int|long int) \\*" \ - "whatis signed long pointer" - -gdb_test "whatis v_unsigned_long_pointer" \ - "type = (unsigned (int|long|long int)|long unsigned int) \\*" \ - "whatis unsigned long pointer" - -gdb_test "whatis v_float_pointer" \ - "type = float \\*" \ - "whatis float pointer" - -gdb_test "whatis v_double_pointer" \ - "type = double \\*" \ - "whatis double pointer" - - -# test whatis command with structure types -gdb_test "whatis v_struct1" \ - "type = struct t_struct" \ - "whatis named structure" - -gdb_test "whatis v_struct2" \ - "type = struct \{...\}" \ - "whatis unnamed structure" - - -# test whatis command with union types -gdb_test "whatis v_union" \ - "type = union t_union" \ - "whatis named union" - -gdb_test "whatis v_union2" \ - "type = union \{...\}" \ - "whatis unnamed union" - - - -# test whatis command with functions return type -gdb_test "whatis v_char_func" \ - "type = (signed |unsigned |)char \\(\\)" \ - "whatis char function" - -gdb_test "whatis v_signed_char_func" \ - "type = (signed |unsigned |)char \\(\\)" \ - "whatis signed char function" - -gdb_test "whatis v_unsigned_char_func" \ - "type = unsigned char \\(\\)" \ - "whatis unsigned char function" - -gdb_test "whatis v_short_func" \ - "type = short (int |)\\(\\)" \ - "whatis short function" - -gdb_test "whatis v_signed_short_func" \ - "type = (signed |)short (int |)\\(\\)" \ - "whatis signed short function" - -gdb_test "whatis v_unsigned_short_func" \ - "type = (unsigned short|short unsigned int) \\(\\)" \ - "whatis unsigned short function" - -gdb_test "whatis v_int_func" \ - "type = int \\(\\)" \ - "whatis int function" - -gdb_test "whatis v_signed_int_func" \ - "type = (signed |)int \\(\\)" \ - "whatis signed int function" - -gdb_test "whatis v_unsigned_int_func" \ - "type = unsigned int \\(\\)" \ - "whatis unsigned int function" - -gdb_test "whatis v_long_func" \ - "type = (long|int|long int) \\(\\)" \ - "whatis long function" - -gdb_test "whatis v_signed_long_func" \ - "type = (signed |)(int|long|long int) \\(\\)" \ - "whatis signed long function" - -gdb_test "whatis v_unsigned_long_func" \ - "type = (unsigned (int|long|long int)|long unsigned int) \\(\\)" \ - "whatis unsigned long function" - -# Sun /bin/cc calls this a function returning double. -if {!$gcc_compiled} then {setup_xfail "*-sun-sunos4*"} -gdb_test "whatis v_float_func" \ - "type = float \\(\\)" \ - "whatis float function" - -gdb_test "whatis v_double_func" \ - "type = double \\(\\)" \ - "whatis double function" \ - - -# test whatis command with some misc complicated types -gdb_test "whatis s_link" \ - "type = struct link \\*" \ - "whatis complicated structure" - -gdb_test "whatis u_link" \ - "type = union tu_link" \ - "whatis complicated union" - - -# test whatis command with enumerations -gdb_test "whatis clunker" \ - "type = enum cars" \ - "whatis enumeration" - - -# test whatis command with nested struct and union -gdb_test "whatis nested_su" \ - "type = struct outer_struct" \ - "whatis outer structure" - -gdb_test "whatis nested_su.outer_int" \ - "type = int" \ - "whatis outer structure member" - -gdb_test "whatis nested_su.inner_struct_instance" \ - "type = struct inner_struct" \ - "whatis inner structure" - -gdb_test "whatis nested_su.inner_struct_instance.inner_int" \ - "type = int" \ - "whatis inner structure member" - -gdb_test "whatis nested_su.inner_union_instance" \ - "type = union inner_union" \ - "whatis inner union" - -gdb_test "whatis nested_su.inner_union_instance.inner_union_int" \ - "type = int" \ - "whatis inner union member" diff --git a/gdb/testsuite/gdb.chill/.Sanitize b/gdb/testsuite/gdb.chill/.Sanitize deleted file mode 100644 index 2976ca9d3cc..00000000000 --- a/gdb/testsuite/gdb.chill/.Sanitize +++ /dev/null @@ -1,109 +0,0 @@ -# .Sanitize for devo/gdb/testsuite/gdb.chill. - -# Each directory to survive its way into a release will need a file -# like this one called "./.Sanitize". All keyword lines must exist, -# and must exist in the order specified by this file. Each directory -# in the tree will be processed, top down, in the following order. - -# Hash started lines like this one are comments and will be deleted -# before anything else is done. Blank lines will also be squashed -# out. - -# The lines between the "Do-first:" line and the "Things-to-keep:" -# line are executed as a /bin/sh shell script before anything else is -# done in this directory. - -Do-first: - -# All files listed between the "Things-to-keep:" line and the -# "Do-last:" line will be kept. All other files will be removed. -# Directories listed in this section will have their own Sanitize -# called. Directories not listed will be removed in their entirety -# with rm -rf. - -Things-to-keep: - -ChangeLog -Makefile.in -builtins.ch -builtins.exp -callch.ch -callch.exp -chexp.exp -chillvars.ch -chillvars.exp -configure -configure.in -enum.ch -enum.exp -extstruct.ch -extstruct-grt.ch -extstruct.exp -func1.ch -gch922.ch -gch922.exp -gch981.ch -gch981.exp -gch1041.ch -gch1041.exp -gch1272.ch -gch1272.exp -gch1280.ch -gch1280.exp -misc.ch -misc.exp -powerset.ch -powerset.exp -pr-4975.ch -pr-4975-grt.ch -pr-4975.exp -pr-5016.ch -pr-5016.exp -pr-5020.ch -pr-5020.exp -pr-5022.ch -pr-5022.exp -pr-5646.ch -pr-5646-grt.ch -pr-5646.exp -pr-5984.ch -pr-5984.exp -pr-6292.ch -pr-6292.exp -pr-6632.ch -pr-6632-grt.ch -pr-6632.exp -pr-8134.exp -pr-8136.ch -pr-8136.exp -pr-8405.ch -pr-8405.exp -pr-8742.ch -pr-8742.exp -pr-8894.ch -pr-8894-grt.ch -pr-8894.exp -pr-9095.ch -pr-9095.exp -pr-9946.ch -pr-9946.exp -result.ch -result.exp -string.ch -string.exp -tests1.ch -tests1.exp -tests2.ch -tests2.exp -tuples.ch -tuples.exp - -Things-to-lose: - -# The lines between the "Do-last:" line and the end of the file -# are executed as a /bin/sh shell script after everything else is -# done. - -Do-last: - -# eof diff --git a/gdb/testsuite/gdb.chill/ChangeLog b/gdb/testsuite/gdb.chill/ChangeLog deleted file mode 100644 index 9db44ea6b38..00000000000 --- a/gdb/testsuite/gdb.chill/ChangeLog +++ /dev/null @@ -1,313 +0,0 @@ -Thu May 21 02:45:18 1998 Felix Lee <flee@zog.cygnus.com> - - * chexp.exp: fix tests that assume >16-bit ints. - -Wed Sep 10 15:01:55 1997 Bob Manson <manson@charmed.cygnus.com> - - * *.exp: The end-all be-all of quoting fixes. Ha. - -Thu Aug 21 10:31:23 1997 Bob Manson <manson@charmed.cygnus.com> - - * enum.exp: More quoting fixes. - * pr-9946.exp: Ditto. - * gch1280.exp: Ditto. - * gch1272.exp: Ditto. - -Tue Aug 12 21:48:08 1997 Bob Manson <manson@charmed.cygnus.com> - - * tests2.exp: Fix quoting. - * tests1.exp: Ditto. - * pr-9946.exp: Ditto. - * enum.exp: Ditto. - * builtins.exp: Ditto. - * powerset.exp: Ditto. - * misc.exp: Ditto. - * gch981.exp: Ditto. - * gch922.exp: Ditto. - * gch1280.exp: Ditto. - * gch1272.exp: Ditto. - * gch1041.exp: Ditto. - -Sat Nov 23 14:00:59 1996 Fred Fish <fnf@cygnus.com> - - * misc.exp: Change x86 linux setup_xfails to use new - i*86-pc-linux*-gnu quads. - * tuples.exp: Ditto. - * tests2.exp: Ditto. - * pr-5016.exp: Ditto. - - * tuples.exp: Add i*86-pc-linux-gnu setup_fail to existing - xfails for 'set var vs1 := [ "bar", 42, m_ps[ a ] ]', - 'set var $i := m_s1["foo", 44, m_ps[a ]]', and - 'set var vs2 := [ 10+3, m_s1[ "foo" , 42, m_ps[ b ]]]'. - -Mon Nov 11 10:27:32 1996 Fred Fish <fnf@cygnus.com> - - * callch.exp: Add mips*-sgi-irix* xfail for - "call king(a, otto[[10, 15], [20, 25]])". - * pr-8742.exp: Add mips*-sgi-irix* xfails for - "pass int powerset tuple" - "pass set powerset tuple" - "pass modeless int powerset tuple" and - "pass modeless set powerset tuple". - * tuples.exp: Add sparc-*-solaris* and sparc-*-sunos* - xfails for several "set var" commands that are failing. - Convert most of the set commands into gdb_test_exact - commands. - -Fri Oct 11 16:48:56 1996 Fred Fish <fnf@cygnus.com> - - * expstruct.exp (objfile2): Set and use, like other chill tests. - * pr-4975.exp: Ditto. - * pr-5646.exp: Ditto. - * pr-8134.exp: Ditto. - -Thu Sep 5 01:54:42 1996 Wilfried Moser (Alcatel) <moser@rtl.cygnus.com> - - * gch1280.exp: Enhance test case. - -Wed Sep 4 07:30:44 1996 Wilfried Moser (Alcatel) <moser@rtl.cygnus.com> - - * gch1272.{ch,exp}, gch1280.{ch,exp}, pr-9946.{ch,exp}: - New test cases. - -Sun Aug 18 13:29:48 1996 Fred Fish <fnf@cygnus.com> - - * tests2.exp: Remove mips-sgi-irix* setup_xfail for - "real write 4" and "real write 8". - -Mon Jun 10 14:04:05 1996 Fred Fish <fnf@cygnus.com> - - * tests1.exp (test_modes): Remove *-*-* setup_sfail for - "print unnumbered set range mode" and - "print numbered set range mode". - -Wed Apr 17 01:23:06 1996 Wilfried Moser (Alcatel) <moser@rtl.cygnus.com> - - * tests1.{ch,exp}: Tets case modified and enhanced. - -Tue Apr 9 01:18:04 1996 Wilfried Moser (Alcatel) <moser@rtl.cygnus.com> - - * gch981.{ch,exp}, gch1041.{ch,exp}: New test cases. - -Wed Mar 6 00:29:35 1996 Wilfried Moser (Alcatel) <moser@rtl.cygnus.com> - - * powerset.exp: Add test. - -Tue Mar 5 23:41:39 1996 Wilfried Moser (Alcatel) <moser@rtl.cygnus.com> - - * gch922.{ch,exp}, powerset.{ch,exp}: New test cases. - - * builtins.exp, chillvars.exp, misc.exp, tests1.exp: Updated - due to new format of nonprintable characters (control sequence - instead of C'xx'). - -Tue Mar 5 00:09:17 1996 Per Bothner <bothner@kalessin.cygnus.com> - - * string.ch, string.exp: Add tests (from Cygnus PR chill/9078). - - * pr-9095.ch, pr-9095.exp: New test case. - -Fri Feb 9 08:22:16 1996 Fred Fish <fnf@cygnus.com> - - * Makefile.in (clean): Add missing '{'. - -Tue Feb 6 21:52:26 1996 Per Bothner <bothner@kalessin.cygnus.com> - - * pr-8894.exp, pr-8894.ch, pr-8894-grt.ch: New test case. - -Mon Jan 29 00:05:01 1996 Wilfried Moser (Alcatel) <moser@rtl.cygnus.com> - - * builtins.ch, builtins.exp: Enhance test case. - - * extstruct.ch, extstruct-grt.ch, extstruct.exp: New test case. - -Tue Jan 23 16:57:13 1996 Per Bothner <bothner@kalessin.cygnus.com> - - * enum.ch, enum.exp: New test case (covers PRs 8869 and 8870). - -Thu Jan 11 17:34:01 1996 Per Bothner <bothner@kalessin.cygnus.com> - - * Makefile.in (PROGS): Removed. - (clean mostlyclean): Remove *.exe rather than ${PROGS}. - - * pr-8742.ch, pr-8742.exp: New test case. - -Tue Jan 9 04:47:27 1996 Wilfried Moser (Alcatel) <moser@rtl.cygnus.com> - - * misc.ch, misc.exp: Enhance test case. - -Sat Dec 30 15:31:59 1995 Fred Fish <fnf@cygnus.com> - - * tests2.exp: Setup_xfail "i*86-*-linux" and - "mips-sgi-irix*" for "real write 4" and "real write 8". - Conditionalize both tests for system specific value - of "infinity" string. - -Fri Dec 29 10:46:09 1995 Fred Fish <fnf@cygnus.com> - - * builtins.exp (test_size): Alpha seems to have long builtins. - * tests1.exp: Setup xfail "*-*-*" for "ptype r2". - * tests2.exp: Add check to skip chill tests. - -Mon Dec 11 16:53:40 1995 Per Bothner <bothner@kalessin.cygnus.com> - - * tuples.ch, tuples.exp: Exhance test cases (from PR 8643). - -Mon Dec 11 06:57:07 1995 Wilfried Moser (Alcatel) <moser@rtl.cygnus.com> - - * builtins.exp, pr-5016.{ch,exp}, result.{ch,exp}, - tests1.{ch,exp}: Enhance test cases. - -Thu Dec 7 05:16:34 1995 Wilfried Moser (Alcatel) <moser@rtl.cygnus.com> - - * builtins.ch, builtins.exp, Makefile.in: New test case. - -Tue Dec 5 01:51:45 1995 Wilfried Moser (Alcatel) <moser@rtl.cygnus.com> - - * tests2.exp: Add compiling of the test case. - -Fri Dec 1 00:08:37 1995 Per Bothner <bothner@kalessin.cygnus.com> - - * pr-8405.ch, pr-8405.exp, Makefile.in: New test case. - - * tests1.exp, tests2.exp (test_print_reject): Remove; causes - conflicts with later tests using test_print_reject in ../lib/gdb.exp. - (passcount): Remove. - * tests2.exp (test_print_accept): Removed. - (test_write): Re-write to use gdb_test rather than test_print_accept. - * tests1.exp (test_print_accept_exact): Removed. - (tests_locations): Rewrite to use gdb_test and not above proc. - - * tests1.ch, tests1.exp, tests2.ch, tests2.exp, Makefile.in: - New (extensive) test cases. - * chexp.exp: Fix relations to return TRUE or FALSE. - -Wed Nov 29 19:28:13 1995 Per Bothner <bothner@kalessin.cygnus.com> - - * Makefile.in: Add .exp.check rule. - * callch.ch: Add missing "%." to format strings. - * callch.exp: Fix argument to gdb_load. - * chexp.exp: Add specific error messages to test_print_reject calls. - * misc.exp: Add a test for PR 8496. - * pr-6632.exp, pr-8136.exp: Link executables from two .o files. - -Sat Nov 25 20:49:27 1995 Fred Fish <fnf@phydeaux.cygnus.com> - - * pr-5016.exp: xfail "whatis i" for alpha-osf-dec-osf2*, same as linux. - -Sun Oct 29 17:58:01 1995 Fred Fish <fnf@cygnus.com> - - * pr-5016.exp: xfail "whatis i" for sparc-sun-sunos4*, same as linux. - -Wed Oct 4 18:20:53 1995 Per Bothner <bothner@kalessin.cygnus.com> - - * pr-8136.{ch,exp}, pr-8134.exp, func1.ch, Makefile.in: New test cases. - -Wed Sep 27 11:51:50 1995 Per Bothner <bothner@kalessin.cygnus.com> - - * tuples.ch. tuples.exp: Add new test for setting a variant record - using a tuple, and access the fields. - -Thu Aug 3 10:45:37 1995 Fred Fish <fnf@cygnus.com> - - * Update all FSF addresses except those in COPYING* files. - -Thu Jul 27 20:36:30 1995 Fred Fish (fnf@cygnus.com) - - * pr-5016.exp: xfail "i*86-*-linux*" for "whatis int-range" - test. Thinks it is "_cint" rather than "m_index". - * misc.exp: xfail "i*86-*-linux*" for "info line" test. - Line number is off by one. - -Wed Jun 14 13:07:45 1995 Per Bothner <bothner@kalessin.cygnus.com> - - * chillvars.exp, string.exp: New tests for LOWER/UPPER/LENGTH. - -Wed Jun 7 17:52:38 1995 Per Bothner <bothner@kalessin.cygnus.com> - - * chillvars.ch (xptr): Declare new variable. - * chillvars.exp (test_ptr): New function to test EXPR->MODENAME. - -Tue Mar 28 17:13:13 1995 Per Bothner <bothner@kalessin.cygnus.com> - - * pr-6632.ch, pr-6632-grt.ch, pr-6632.exp, Makefile.in: New test case. - -Tue Mar 21 12:10:06 1995 Jim Kingdon (kingdon@lioth.cygnus.com) - - * tuples.exp (do_tests): Make names of "print v_ps" test unique. - -Wed Mar 8 13:26:36 1995 Jim Kingdon (kingdon@lioth.cygnus.com) - - * *.exp: Skip all tests silently if skip_chill_tests returns true. - - * misc.exp: Remove reference to non-existent variable passcount. - -Tue Mar 7 19:30:05 1995 Per Bothner <bothner@kalessin.cygnus.com> - - * string.ch, string.exp, Makefile.in: New test case. - -Mon Mar 6 14:11:01 1995 Per Bothner <bothner@kalessin.cygnus.com> - - * tuples.ch (setnmode); New module. - * tuples.exp: Add some extra tests. - -Sat Mar 4 15:16:17 1995 Per Bothner <bothner@kalessin.cygnus.com> - - * callch.ch, callch.exp, Makefile.in: New test case. - -Thu Mar 2 06:17:41 1995 Jim Kingdon (kingdon@lioth.cygnus.com) - - * misc.exp: If executable does not exist, issue warning and skip - remaining tests, like other chill tests. - -Wed Mar 1 20:28:42 1995 Per Bothner <bothner@kalessin.cygnus.com> - - * misc.ch, misc.exp, Makefile.in: New test case. - -Mon Feb 20 16:19:58 1995 Per Bothner <bothner@kalessin.cygnus.com> - - * chillvars.ch: Add missing INIT's. - * chillvars.exp: Allow builtin types as either case. E.g. (BOOL|bool). - * pr-5016.exp: Likewise. - -Sun Feb 12 11:26:08 1995 Per Bothner <bothner@kalessin.cygnus.com> - - * pr-6292.ch, pr-6292.exp, Makefile.in: New test case. - -Wed Feb 1 13:09:48 1995 Per Bothner <bothner@kalessin.cygnus.com> - - * tuples.ch, tuples.exp, Makefile.in: New test case. - -Mon Nov 28 18:39:08 1994 Per Bothner <bothner@kalessin.cygnus.com> - - * pr-5984.ch, pr-5984.exp, Makefile.in: New test case. - -Fri Sep 16 16:55:03 1994 Per Bothner (bothner@kalessin.cygnus.com) - - * pr-5646.ch, pr-5646-grt.ch, pr-5646.exp, Makefile.in: New testcase. - -Tue Sep 6 13:21:27 1994 Per Bothner (bothner@kalessin.cygnus.com) - - * pr-5016.ch, pr-5016.exp, Makefile.in: New testcase. - * Makefile.in (.exe.check): New rule, to run just one test. - -Tue Jun 14 16:20:18 1994 Per Bothner (bothner@kalessin.cygnus.com) - - * result.ch, result.exp, Makefile.in: New test case. - * pr-4975.ch, pr-4975-grt.ch, pr-4975.exp, Makefile.in: Ditto. - -Thu Jun 9 15:20:43 1994 Per Bothner (bothner@kalessin.cygnus.com) - - * pr-5022.ch, pr-5022.exp: New testcase. - * chillvars.exp: Remove spurious newline. - - * Makefile.in: Bunch of fixes so it actually works in this - 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. diff --git a/gdb/testsuite/gdb.chill/Makefile.in b/gdb/testsuite/gdb.chill/Makefile.in deleted file mode 100644 index a965b578d74..00000000000 --- a/gdb/testsuite/gdb.chill/Makefile.in +++ /dev/null @@ -1,26 +0,0 @@ -srcdir = @srcdir@ -VPATH = @srcdir@ - -all: - @echo "Nothing to be done for all..." - -#### host, target, and site specific Makefile frags come in here. - -.SUFFIXES: .ch .o .exe .exp .check - -# Do 'make chillvars.check' to run just the chillvars.{ch,exp} test. - -.exp.check: - rootme=`pwd`/; export rootme; \ - cd .. ; \ - $(MAKE) just-check RUNTESTFLAGS="${RUNTESTFLAGS} $*.exp" \ - EXPECT=${EXPECT} - -clean mostlyclean: - -rm -f *.o ${OBJS} *.exe *~ core - -distclean maintainer-clean realclean: clean - -rm -f Makefile config.status config.log - -Makefile: $(srcdir)/Makefile.in $(srcdir)/configure.in - $(SHELL) ./config.status --recheck diff --git a/gdb/testsuite/gdb.chill/builtins.ch b/gdb/testsuite/gdb.chill/builtins.ch deleted file mode 100644 index ef12c839b90..00000000000 --- a/gdb/testsuite/gdb.chill/builtins.ch +++ /dev/null @@ -1,83 +0,0 @@ -xx: MODULE - -DCL v_bool BOOL INIT := FALSE; -DCL v_char CHAR INIT := 'X'; -DCL v_byte BYTE INIT := -30; -DCL v_ubyte UBYTE INIT := 30; -DCL v_int INT INIT := -333; -DCL v_uint UINT INIT := 333; -DCL v_long LONG INIT := -4444; -DCL v_ulong ULONG INIT := 4444; -DCL v_ptr PTR; - -SYNMODE m_set = SET (e1, e2, e3, e4, e5, e6); -DCL v_set m_set INIT := e3; - -SYNMODE m_set_range = m_set(e2:e5); -DCL v_set_range m_set_range INIT := e3; - -SYNMODE m_numbered_set = SET (n1 = 25, n2 = 22, n3 = 35, n4 = 33, - n5 = 45, n6 = 43); -DCL v_numbered_set m_numbered_set INIT := n3; - -SYNMODE m_char_range = CHAR('A':'Z'); -DCL v_char_range m_char_range INIT := 'G'; - -SYNMODE m_bool_range = BOOL(FALSE:FALSE); -DCL v_bool_range m_bool_range; - -SYNMODE m_long_range = LONG(255:3211); -DCL v_long_range m_long_range INIT := 1000; - -SYNMODE m_range = RANGE(12:28); -DCL v_range m_range INIT := 23; - -SYNMODE m_chars = CHARS(20); -SYNMODE m_chars_v = CHARS(20) VARYING; -DCL v_chars CHARS(20); -DCL v_chars_v CHARS(20) VARYING INIT := "foo bar"; - -SYNMODE m_bits = BOOLS(10); -DCL v_bits BOOLS(10); - -SYNMODE m_arr = ARRAY(1:10) BYTE; -DCL v_arr ARRAY(1:10) BYTE; - -SYNMODE m_char_arr = ARRAY (CHAR) BYTE; -DCL v_char_arr ARRAY(CHAR) BYTE; - -SYNMODE m_bool_arr = ARRAY (BOOL) BYTE; -DCL v_bool_arr ARRAY (BOOL) BYTE; - -SYNMODE m_int_arr = ARRAY (INT) BYTE; -DCL v_int_arr ARRAY (INT) BYTE; - -SYNMODE m_set_arr = ARRAY (m_set) BYTE; -DCL v_set_arr ARRAY (m_set) BYTE; - -SYNMODE m_numbered_set_arr = ARRAY (m_numbered_set) BYTE; -DCL v_numbered_set_arr ARRAY (m_numbered_set) BYTE; - -SYNMODE m_char_range_arr = ARRAY (m_char_range) BYTE; -DCL v_char_range_arr ARRAY (m_char_range) BYTE; - -SYNMODE m_set_range_arr = ARRAY (m_set_range) BYTE; -DCL v_set_range_arr ARRAY (m_set_range) BYTE; - -SYNMODE m_bool_range_arr = ARRAY (m_bool_range) BYTE; -DCL v_bool_range_arr ARRAY (m_bool_range) BYTE; - -SYNMODE m_long_range_arr = ARRAY (m_long_range) BYTE; -DCL v_long_range_arr ARRAY (m_long_range) BYTE; - -SYNMODE m_range_arr = ARRAY (m_range) BYTE; -DCL v_range_arr ARRAY (m_range) BYTE; - -SYNMODE m_struct = STRUCT (i LONG, - c CHAR, - s CHARS(30)); -DCL v_struct m_struct; - -v_bool := TRUE; - -END xx; diff --git a/gdb/testsuite/gdb.chill/builtins.exp b/gdb/testsuite/gdb.chill/builtins.exp deleted file mode 100644 index a75ca200c80..00000000000 --- a/gdb/testsuite/gdb.chill/builtins.exp +++ /dev/null @@ -1,441 +0,0 @@ -# Copyright (C) 1995, 1997 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - -# Please email any bugs, comments, and/or additions to this file to: -# bug-gdb@prep.ai.mit.edu - -# This file tests various Chill values, expressions, and types. - -if $tracelevel then { - strace $tracelevel -} - -if [skip_chill_tests] then { continue } - -set testfile "builtins" -set srcfile ${srcdir}/$subdir/${testfile}.ch -set binfile ${objdir}/${subdir}/${testfile}.exe -if { [compile "${srcfile} -g -w -o ${binfile} ${CHILL_RT0} ${CHILL_LIB}"] != "" } { - perror "Couldn't compile ${srcfile}" - return -1 -} - -# Set the current language to chill. This counts as a test. If it -# fails, then we skip the other tests. - -proc set_lang_chill {} { - global gdb_prompt - global binfile objdir subdir - - verbose "loading file '$binfile'" - gdb_load $binfile - send_gdb "set language chill\n" - gdb_expect { - -re ".*$gdb_prompt $" {} - timeout { fail "set language chill (timeout)" ; return 0 } - } - - send_gdb "show language\n" - gdb_expect { - -re ".* source language is \"chill\".*$gdb_prompt $" { - pass "set language to \"chill\"" - send_gdb "break xx_\n" - gdb_expect { - -re ".*$gdb_prompt $" { - send_gdb "run\n" - gdb_expect -re ".*$gdb_prompt $" {} - return 1 - } - timeout { - fail "can't set breakpoint (timeout)" - return 0 - } - } - } - -re ".*$gdb_prompt $" { - fail "setting language to \"chill\"" - return 0 - } - timeout { - fail "can't show language (timeout)" - return 0 - } - } -} - -# Testing printing of a specific value. Increment passcount for -# success or issue fail message for failure. In both cases, return -# a 1 to indicate that more tests can proceed. However a timeout -# is a serious error, generates a special fail message, and causes -# a 0 to be returned to indicate that more tests are likely to fail -# as well. -# -# Args are: -# -# First one is string to send_gdb to gdb -# Second one is string to match gdb result to -# Third one is an optional message to be printed - -proc test_print_accept { args } { - global gdb_prompt - global passcount - global verbose - - if [llength $args]==3 then { - set message [lindex $args 2] - } else { - set message [lindex $args 0] - } - set sendthis [lindex $args 0] - set expectthis [lindex $args 1] - set result [gdb_test $sendthis ".* = ${expectthis}" $message] - if $result==0 {incr passcount} - return $result -} - -proc test_lower {} { - global passcount - - verbose "testing builtin LOWER" - set passcount 0 - - # discrete mode names - test_print_accept "print lower(bool)" "FALSE" - test_print_accept "print lower(char)" {'\^[(]0[)]'} - test_print_accept "print lower(byte)" "-128" - test_print_accept "print lower(ubyte)" "0" - if [istarget "alpha-*-*"] then { - test_print_accept "print lower(int)" "-2147483648" - } else { - test_print_accept "print lower(int)" "-32768" - } - test_print_accept "print lower(uint)" "0" - setup_xfail "alpha-*-*" - test_print_accept "print lower(long)" "-2147483648" - test_print_accept "print lower(ulong)" "0" - test_print_accept "print lower(m_set)" "e1" - test_print_accept "print lower(m_set_range)" "e2" - test_print_accept "print lower(m_numbered_set)" "n2" - test_print_accept "print lower(m_char_range)" "'A'" - test_print_accept "print lower(m_bool_range)" "FALSE" - test_print_accept "print lower(m_long_range)" "255" - test_print_accept "print lower(m_range)" "12" - - # discrete locations - test_print_accept "print lower(v_bool)" "FALSE" - test_print_accept "print lower(v_char)" {'\^[(]0[)]'} - test_print_accept "print lower(v_byte)" "-128" - test_print_accept "print lower(v_ubyte)" "0" - if [istarget "alpha-*-*"] then { - test_print_accept "print lower(v_int)" "-2147483648" - } else { - test_print_accept "print lower(v_int)" "-32768" - } - test_print_accept "print lower(v_uint)" "0" - setup_xfail "alpha-*-*" - test_print_accept "print lower(v_long)" "-2147483648" - test_print_accept "print lower(v_ulong)" "0" - test_print_accept "print lower(v_set)" "e1" - test_print_accept "print lower(v_set_range)" "e2" - test_print_accept "print lower(v_numbered_set)" "n2" - test_print_accept "print lower(v_char_range)" "'A'" - test_print_accept "print lower(v_bool_range)" "FALSE" - test_print_accept "print lower(v_long_range)" "255" - test_print_accept "print lower(v_range)" "12" - - # string mode names - test_print_accept "print lower(m_chars)" "0" - test_print_accept "print lower(m_chars_v)" "0" - test_print_accept "print lower(m_bits)" "0" - - # string locations - test_print_accept "print lower(v_chars)" "0" - test_print_accept "print lower(v_chars_v)" "0" - test_print_accept "print lower(v_bits)" "0" - - # string expressions - test_print_accept "print lower(\"abcd\")" "0" - test_print_accept "print lower(B'010101')" "0" - - # array mode name - test_print_accept "print lower(m_arr)" "1"; - test_print_accept "print lower(m_char_arr)" {'\^[(]0[)]'} - test_print_accept "print lower(m_bool_arr)" "FALSE" - if [istarget "alpha-*-*"] then { - test_print_accept "print lower(m_int_arr)" "-2147483648" - } else { - test_print_accept "print lower(m_int_arr)" "-32768" - } - test_print_accept "print lower(m_set_arr)" "e1" - test_print_accept "print lower(m_set_range_arr)" "e2" - test_print_accept "print lower(m_numbered_set_arr)" "n2" - test_print_accept "print lower(m_char_range_arr)" "'A'" - test_print_accept "print lower(m_bool_range_arr)" "FALSE" - test_print_accept "print lower(m_long_range_arr)" "255" - test_print_accept "print lower(m_range_arr)" "12" - - # array locations - test_print_accept "print lower(v_arr)" "1"; - test_print_accept "print lower(v_char_arr)" {'\^[(]0[)]'} - test_print_accept "print lower(v_bool_arr)" "FALSE" - if [istarget "alpha-*-*"] then { - test_print_accept "print lower(v_int_arr)" "-2147483648" - } else { - test_print_accept "print lower(v_int_arr)" "-32768" - } - test_print_accept "print lower(v_set_arr)" "e1" - test_print_accept "print lower(v_set_range_arr)" "e2" - test_print_accept "print lower(v_numbered_set_arr)" "n2" - test_print_accept "print lower(v_char_range_arr)" "'A'" - test_print_accept "print lower(v_bool_range_arr)" "FALSE" - test_print_accept "print lower(v_long_range_arr)" "255" - test_print_accept "print lower(v_range_arr)" "12" -} - -proc test_upper {} { - global passcount - - verbose "testing builtin UPPER" - set passcount 0 - - # discrete mode names - test_print_accept "print upper(bool)" "TRUE" - test_print_accept "print upper(char)" {'\^[(]255[)]'} - test_print_accept "print upper(byte)" "127" - test_print_accept "print upper(ubyte)" "255" - if [istarget "alpha-*-*"] then { - test_print_accept "print upper(int)" "2147483647" - test_print_accept "print upper(uint)" "4294967295" - setup_xfail "alpha-*-*" - test_print_accept "print upper(long)" "4294967295" - test_print_accept "print upper(ulong)" "18446744073709551615" - } else { - test_print_accept "print upper(int)" "32767" - test_print_accept "print upper(uint)" "65535" - test_print_accept "print upper(long)" "2147483647" - test_print_accept "print upper(ulong)" "4294967295" - } - test_print_accept "print upper(m_set)" "e6" - test_print_accept "print upper(m_set_range)" "e5" - test_print_accept "print upper(m_numbered_set)" "n5" - test_print_accept "print upper(m_char_range)" "'Z'" - test_print_accept "print upper(m_bool_range)" "FALSE" - test_print_accept "print upper(m_long_range)" "3211" - test_print_accept "print upper(m_range)" "28" - - # discrete locations - test_print_accept "print upper(v_bool)" "TRUE" - test_print_accept "print upper(v_char)" {'\^[(]255[)]'} - test_print_accept "print upper(v_byte)" "127" - test_print_accept "print upper(v_ubyte)" "255" - if [istarget "alpha-*-*"] then { - test_print_accept "print upper(v_int)" "2147483647" - test_print_accept "print upper(v_uint)" "4294967295" - setup_xfail "alpha-*-*" - test_print_accept "print upper(v_long)" "4294967295" - test_print_accept "print upper(v_ulong)" "18446744073709551615" - } else { - test_print_accept "print upper(v_int)" "32767" - test_print_accept "print upper(v_uint)" "65535" - test_print_accept "print upper(v_long)" "2147483647" - test_print_accept "print upper(v_ulong)" "4294967295" - } - test_print_accept "print upper(v_set)" "e6" - test_print_accept "print upper(v_set_range)" "e5" - test_print_accept "print upper(v_numbered_set)" "n5" - test_print_accept "print upper(v_char_range)" "'Z'" - test_print_accept "print upper(v_bool_range)" "FALSE" - test_print_accept "print upper(v_long_range)" "3211" - test_print_accept "print upper(v_range)" "28" - - # string mode names - test_print_accept "print upper(m_chars)" "19" - test_print_accept "print upper(m_chars_v)" "19" - test_print_accept "print upper(m_bits)" "9" - - # string locations - test_print_accept "print upper(v_chars)" "19" - test_print_accept "print upper(v_chars_v)" "19" - test_print_accept "print upper(v_bits)" "9" - - # string expressions - test_print_accept "print upper(\"abcd\")" "3" - test_print_accept "print upper(B'010101')" "5" - - # array mode name - test_print_accept "print upper(m_arr)" "10"; - test_print_accept "print upper(m_char_arr)" {'\^[(]255[)]'} - test_print_accept "print upper(m_bool_arr)" "TRUE" - if [istarget "alpha-*-*"] then { - test_print_accept "print upper(m_int_arr)" "2147483647" - } else { - test_print_accept "print upper(m_int_arr)" "32767" - } - test_print_accept "print upper(m_set_arr)" "e6" - test_print_accept "print upper(m_set_range_arr)" "e5" - test_print_accept "print upper(m_numbered_set_arr)" "n5" - test_print_accept "print upper(m_char_range_arr)" "'Z'" - test_print_accept "print upper(m_bool_range_arr)" "FALSE" - test_print_accept "print upper(m_long_range_arr)" "3211" - test_print_accept "print upper(m_range_arr)" "28" - - # array locations - test_print_accept "print upper(v_arr)" "10"; - test_print_accept "print upper(v_char_arr)" {'\^[(]255[)]'} - test_print_accept "print upper(v_bool_arr)" "TRUE" - if [istarget "alpha-*-*"] then { - test_print_accept "print upper(v_int_arr)" "2147483647" - } else { - test_print_accept "print upper(v_int_arr)" "32767" - } - test_print_accept "print upper(v_set_arr)" "e6" - test_print_accept "print upper(v_set_range_arr)" "e5" - test_print_accept "print upper(v_numbered_set_arr)" "n5" - test_print_accept "print upper(v_char_range_arr)" "'Z'" - test_print_accept "print upper(v_bool_range_arr)" "FALSE" - test_print_accept "print upper(v_long_range_arr)" "3211" - test_print_accept "print upper(v_range_arr)" "28" -} - -proc test_length {} { - global passcount - - verbose "testing builtin LENGTH" - set passcount 0 - - # string locations - test_print_accept "print length(v_chars)" "20" - test_print_accept "print length(v_chars_v)" "7"; - test_print_accept "print length(v_bits)" "10"; - - # string expressions - test_print_accept "print length(\"the quick brown fox ...\")" "23" - test_print_accept "print length(B'010101010101')" "12" - test_print_accept "print length(\"foo \" // \"bar\")" "7" - - # check some failures - setup_xfail "*-*-*" - test_print_accept "print length(m_chars)" "typename in invalid context" - setup_xfail "*-*-*" - test_print_accept "print length(v_byte)" "bad argument to LENGTH builtin" - setup_xfail "*-*-*" - test_print_accept "print length(b'000000' // b'111111')" "12" -} - -proc test_size {} { - global passcount - - verbose "testing builtin SIZE" - set passcount 0 - - # modes - test_print_accept "print size(bool)" "1" - test_print_accept "print size(char)" "1" - test_print_accept "print size(byte)" "1" - if [istarget "alpha-*-*"] then { - test_print_accept "print size(int)" "4" - test_print_accept "print size(ulong)" "8" - test_print_accept "print size(ptr)" "8" - test_print_accept "print size(m_chars_v)" "24" - test_print_accept "print size(m_struct)" "40" - } else { - test_print_accept "print size(int)" "2" - test_print_accept "print size(ulong)" "4" - test_print_accept "print size(ptr)" "4" - test_print_accept "print size(m_chars_v)" "22" - test_print_accept "print size(m_struct)" "36" - } - test_print_accept "print size(m_set)" "1" - test_print_accept "print size(m_numbered_set)" "1" - test_print_accept "print size(m_char_range)" "1" - test_print_accept "print size(m_range_arr)" "17" - test_print_accept "print size(m_chars)" "20" - test_print_accept "print size(m_bits)" "2" - - # locations - test_print_accept "print size(v_bool)" "1" - test_print_accept "print size(v_char)" "1" - test_print_accept "print size(v_byte)" "1" - if [istarget "alpha-*-*"] then { - test_print_accept "print size(v_int)" "4" - test_print_accept "print size(v_ulong)" "8" - test_print_accept "print size(v_ptr)" "8" - test_print_accept "print size(v_chars_v)" "24" - test_print_accept "print size(v_struct)" "40" - } else { - test_print_accept "print size(v_int)" "2" - test_print_accept "print size(v_ulong)" "4" - test_print_accept "print size(v_ptr)" "4" - test_print_accept "print size(v_chars_v)" "22" - test_print_accept "print size(v_struct)" "36" - } - test_print_accept "print size(v_set)" "1" - test_print_accept "print size(v_numbered_set)" "1" - test_print_accept "print size(v_char_range)" "1" - test_print_accept "print size(v_range_arr)" "17" - test_print_accept "print size(v_chars)" "20" - test_print_accept "print size(v_bits)" "2" -} - -proc test_num {} { - global passcount - - verbose "testing builtin NUM" - set passcount 0 - - # constants - test_print_accept "print num(false)" "0" - test_print_accept "print num(true)" "1" - test_print_accept "print num(10)" "10" - test_print_accept "print num(33-34)" "-1" - test_print_accept "print num('X')" "88" - test_print_accept "print num(e5)" "4" - - # locations - test_print_accept "print num(v_bool)" "0" - test_print_accept "print num(v_char)" "88" - test_print_accept "print num(v_byte)" "-30" - test_print_accept "print num(v_ubyte)" "30" - test_print_accept "print num(v_int)" "-333" - test_print_accept "print num(v_uint)" "333" - test_print_accept "print num(v_long)" "-4444" - test_print_accept "print num(v_ulong)" "4444" - test_print_accept "print num(v_set)" "2" - test_print_accept "print num(v_set_range)" "2" - test_print_accept "print num(v_numbered_set)" "35" - test_print_accept "print num(v_char_range)" "71" - test_print_accept "print num(v_long_range)" "1000" - test_print_accept "print num(v_range)" "23" -} - -# Start with a fresh gdb. - -gdb_exit -gdb_start -gdb_reinitialize_dir $srcdir/$subdir - -gdb_test "set print sevenbit-strings" ".*" - -if [set_lang_chill] then { - # test builtins as described in chapter 6.20.3 Z.200 - test_num - test_size - test_lower - test_upper - test_length -} else { - warning "$test_name tests suppressed." -} diff --git a/gdb/testsuite/gdb.chill/callch.ch b/gdb/testsuite/gdb.chill/callch.ch deleted file mode 100644 index 6001d92443b..00000000000 --- a/gdb/testsuite/gdb.chill/callch.ch +++ /dev/null @@ -1,50 +0,0 @@ -hack : module - -dcl i int; -newmode otto = array (bool, bool) byte; -newmode str1 = struct (f1 int, f2 bool); -newmode str2 = struct (f1 otto); - -dcl a otto := [[1,1],[1,1]]; -dcl b str1 := [10, false]; -dcl c str2; - -fred : proc (a int in, b int loc); - writetext(stdout, "a is '%C'; b is '%C'.%/", a, b); -end fred; - -klaus : proc (); - writetext(stdout, "here's klaus calling.%/"); -end klaus; - -king : proc (p otto loc, x otto in); - dcl i, j bool; - p := [[h'ff,h'ff],[h'ff,h'ff]]; - do for i:= lower(bool) to upper(bool); - do for j:= lower(bool) to upper(bool); - writetext(stdout, "x(%C, %C) = %C%..%/", i, j, x(i, j)); - writetext(stdout, "p(%C, %C) = %C%..%/", i, j, p(i, j)); - od; - od; -end king; - -ralph : proc (x str1 in); - writetext(stdout, "x.f1 = %C, x.f2 = %C%..%/", x.f1, x.f2); -end ralph; - -whitney : proc (x str2 in); - dcl i, j bool; - - do for i:= lower(bool) to upper(bool); - do for j:= lower(bool) to upper(bool); - writetext(stdout, "x.f1(%C, %C) = %C%..%/", i, j, x.f1(i, j)); - od; - od; - -end whitney; - -c := [a]; -i:=12; -writetext(stdout, "done.%/"); - -end hack; diff --git a/gdb/testsuite/gdb.chill/callch.exp b/gdb/testsuite/gdb.chill/callch.exp deleted file mode 100644 index c579a059e07..00000000000 --- a/gdb/testsuite/gdb.chill/callch.exp +++ /dev/null @@ -1,69 +0,0 @@ -# Copyright (C) 1995, 1997 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - -# Please email any bugs, comments, and/or additions to this file to: -# bug-gdb@prep.ai.mit.edu - -# This file tests that gdb can call functions in a Chill inferior. - -if $tracelevel then { - strace $tracelevel -} - -if [skip_chill_tests] then { continue } - -set testfile "callch" -set srcfile ${srcdir}/$subdir/${testfile}.ch -set binfile ${objdir}/${subdir}/${testfile}.exe -if { [compile "${srcfile} -g -o ${binfile} ${CHILL_RT0} ${CHILL_LIB}"] != "" } { - perror "Couldn't compile ${srcfile}" - return -1 -} - -proc do_tests {} { - global prms_id bug_id subdir objdir srcdir binfile gdb_prompt - - set prms_id 0 - set bug_id 0 - - # Start with a fresh gdb. - - gdb_exit - gdb_start - gdb_reinitialize_dir $srcdir/$subdir - gdb_load $binfile - - send_gdb "set language chill\n" ; - - gdb_test "break callch.ch:48" "" - send_gdb "run\n"; gdb_expect -re "Breakpoint .*callch.ch:48.*$gdb_prompt $" - gdb_test {set fred(10, i)} {a is '10'; b is '12'.} - gdb_test_exact "call klaus()" {here's klaus calling.} - gdb_test_exact "call fred()" {too few arguments in function call} - # Too many arguments are allowed - gdb_test_exact "call klaus(10, 20, 30)" {here's klaus calling.} - gdb_test "print a" { = \[\(FALSE:TRUE\): \[\(FALSE:TRUE\): 1\]\]}\ - "print a before king" - # Current gdb prints 255 for the results that are expected to be -1. - setup_xfail "mips*-sgi-irix*" - gdb_test {call king(a, otto[[10, 15], [20, 25]])} "x\\(FALSE, FALSE\\) = 10.*p\\(FALSE, FALSE\\) = -1.*x\\(FALSE, TRUE\\) = 15.*p\\(FALSE, TRUE\\) = -1.*x\\(TRUE, FALSE\\) = 20.*p\\(TRUE, FALSE\\) = -1.*x\\(TRUE, TRUE\\) = 25.*p\\(TRUE, TRUE\\) = -1.*" - gdb_test "print a" { = \[\(FALSE:TRUE\): \[\(FALSE:TRUE\): -1\]\]}\ - "print a after king" - gdb_test_exact "call ralph(b)" {x.f1 = 10, x.f2 = FALSE.} - gdb_test "call whitney(c)" "x.f1\\(FALSE, FALSE\\) = 1.*x.f1\\(FALSE, TRUE\\) = 1.*x.f1\\(TRUE, FALSE\\) = 1.*x.f1\\(TRUE, TRUE\\) = 1.*" -} - -do_tests diff --git a/gdb/testsuite/gdb.chill/chexp.exp b/gdb/testsuite/gdb.chill/chexp.exp deleted file mode 100644 index bed4aba983e..00000000000 --- a/gdb/testsuite/gdb.chill/chexp.exp +++ /dev/null @@ -1,450 +0,0 @@ -# Copyright (C) 1992, 1997 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - -# Please email any bugs, comments, and/or additions to this file to: -# bug-gdb@prep.ai.mit.edu - -# This file was written by Fred Fish. (fnf@cygnus.com) - -if $tracelevel then { - strace $tracelevel -} - -set prms_id 0 -set bug_id 0 - -# Set the current language to chill. This counts as a test. If it -# fails, then we skip the other tests. - -proc set_lang_chill {} { - global gdb_prompt - - send_gdb "set language chill\n" - gdb_expect { - -re ".*$gdb_prompt $" {} - timeout { fail "set language chill (timeout)" ; return 0 } - } - - send_gdb "show language\n" - gdb_expect { - -re ".* source language is \"chill\".*$gdb_prompt $" { - pass "set language to \"chill\"" - return 1 - } - -re ".*$gdb_prompt $" { - fail "setting language to \"chill\"" - return 0 - } - timeout { - fail "can't show language (timeout)" - return 0 - } - } -} - -proc test_integer_literals_accepted {} { - global gdb_prompt - - # Test various decimal values. - - gdb_test "p 123" " = 123" - gdb_test "p -123" " = -123" - gdb_test "p D'123" " = 123" - gdb_test "p d'123" " = 123" - gdb_test "p -D'123" " = -123" - gdb_test "p -d'123" " = -123" - gdb_test "p 12_345" " = 12345" - gdb_test "p __1_2_3__" " = 123" - gdb_test "p/d 123" " = D'123" - - # Test various binary values. - - gdb_test "p B'111" " = 7" - gdb_test "p b'111" " = 7" - gdb_test "p -B'111" " = -7" - gdb_test "p B'0111" " = 7" - gdb_test "p b'0111" " = 7" - gdb_test "p -b'0111" " = -7" - gdb_test "p B'_0_1_1_1_" " = 7" - gdb_test "p b'_0_1_1_1_" " = 7" - gdb_test "p -b'_0_1_1_1_" " = -7" - gdb_test "p/t B'111" " = B'111" - - # Test various octal values. - - gdb_test "p O'123" " = 83" - gdb_test "p o'123" " = 83" - gdb_test "p -o'0123" " = -83" - gdb_test "p O'0123" " = 83" - gdb_test "p o'0123" " = 83" - gdb_test "p -o'123" " = -83" - gdb_test "p O'_1_2_3_" " = 83" - gdb_test "p o'_1_2_3_" " = 83" - gdb_test "p -o'_1_2_3_" " = -83" - gdb_test "p/o O'123" " = O'123" - - # Test various hexadecimal values. - - gdb_test "p H'123" " = 291" - gdb_test "p h'123" " = 291" - gdb_test "p -h'123" " = -291" - gdb_test "p H'0123" " = 291" - gdb_test "p h'0123" " = 291" - gdb_test "p -h'0123" " = -291" - gdb_test "p H'_1_2_3_" " = 291" - gdb_test "p h'_1_2_3_" " = 291" - gdb_test "p -h'_1_2_3_" " = -291" - gdb_test "p H'ABC" " = 2748" - gdb_test "p H'abc" " = 2748" - gdb_test "p H'AbC" " = 2748" - gdb_test "p H'_A_b_C_" " = 2748" - gdb_test "p H'_D_e_F_" " = 3567" - gdb_test "p H'_d_E_f_" " = 3567" - gdb_test "p/x H'123" " = H'123" -} - -proc test_character_literals_accepted {} { - global gdb_prompt - - # Test various decimal values. - - gdb_test "p 'a'" " = 'a'" - gdb_test "p/x 'a'" " = H'61" - gdb_test "p/d 'a'" " = D'97" - gdb_test "p/t 'a'" " = B'1100001" - # gdb_test "p '^(97)'" " = 'a'" (not in GNU Chill) - gdb_test "p C'61'" " = 'a'" - gdb_test "p c'61'" " = 'a'" - gdb_test "p/x C'FF'" " = H'ff" - # gdb_test "p/x '^(H'FF)'" " = H'ff" (not in GNU Chill) - # gdb_test "p/x '^(D'255)'" " = H'ff" (not in GNU Chill) -} - -proc test_integer_literals_rejected {} { - global gdb_prompt - - # These are valid integer literals in Z.200, but not GNU-Chill. - - test_print_reject "p _" - test_print_reject "p __" - - test_print_reject "p D'" - test_print_reject "p D'_" - test_print_reject "p D'__" - - test_print_reject "p B'" - test_print_reject "p B'_" - test_print_reject "p B'__" - - test_print_reject "p O'" - test_print_reject "p O'_" - test_print_reject "p O'__" - - test_print_reject "p H'" - test_print_reject "p H'_" - test_print_reject "p H'__" - - # Test various decimal values. - - test_print_reject "p D'DEADBEEF" - test_print_reject "p D'123DEADBEEF" - - # Test various binary values. - - test_print_reject "p B'2" "Too-large digit in bitstring or integer." - test_print_reject "p B'12" "Too-large digit in bitstring or integer." - - # Test various octal values. - - test_print_reject "p O'9" "Too-large digit in bitstring or integer." - test_print_reject "p O'79" "Too-large digit in bitstring or integer." - - # Test various hexadecimal values. - - test_print_reject "p H'G" "Invalid character in bitstring or integer." - test_print_reject "p H'AG" "Invalid character in bitstring or integer." -} - -proc test_boolean_literals_accepted {} { - global gdb_prompt - - # Test the only possible values for a boolean, TRUE and FALSE. - - gdb_test "p TRUE" " = TRUE" - gdb_test "p FALSE" " = FALSE" -} - -proc test_float_literals_accepted {} { - global gdb_prompt - - # Test various floating point formats - - gdb_test "p .44 < .45" " = TRUE" - gdb_test "p .44 > .45" " = FALSE" - gdb_test "p 0.44 < 0.45" " = TRUE" - gdb_test "p 0.44 > 0.45" " = FALSE" - gdb_test "p 44. < 45." " = TRUE" - gdb_test "p 44. > 45." " = FALSE" - gdb_test "p 44.0 < 45.0" " = TRUE" - gdb_test "p 44.0 > 45.0" " = FALSE" - gdb_test "p 10D20 < 10D21" " = TRUE" - gdb_test "p 10D20 > 10D21" " = FALSE" - gdb_test "p 10d20 < 10d21" " = TRUE" - gdb_test "p 10d20 > 10d21" " = FALSE" - gdb_test "p 10E20 < 10E21" " = TRUE" - gdb_test "p 10E20 > 10E21" " = FALSE" - gdb_test "p 10e20 < 10e21" " = TRUE" - gdb_test "p 10e20 > 10e21" " = FALSE" - gdb_test "p 10.D20 < 10.D21" " = TRUE" - gdb_test "p 10.D20 > 10.D21" " = FALSE" - gdb_test "p 10.d20 < 10.d21" " = TRUE" - gdb_test "p 10.d20 > 10.d21" " = FALSE" - gdb_test "p 10.E20 < 10.E21" " = TRUE" - gdb_test "p 10.E20 > 10.E21" " = FALSE" - gdb_test "p 10.e20 < 10.e21" " = TRUE" - gdb_test "p 10.e20 > 10.e21" " = FALSE" - gdb_test "p 10.0D20 < 10.0D21" " = TRUE" - gdb_test "p 10.0D20 > 10.0D21" " = FALSE" - gdb_test "p 10.0d20 < 10.0d21" " = TRUE" - gdb_test "p 10.0d20 > 10.0d21" " = FALSE" - gdb_test "p 10.0E20 < 10.0E21" " = TRUE" - gdb_test "p 10.0E20 > 10.0E21" " = FALSE" - gdb_test "p 10.0e20 < 10.0e21" " = TRUE" - gdb_test "p 10.0e20 > 10.0e21" " = FALSE" - gdb_test "p 10.0D+20 < 10.0D+21" " = TRUE" - gdb_test "p 10.0D+20 > 10.0D+21" " = FALSE" - gdb_test "p 10.0d+20 < 10.0d+21" " = TRUE" - gdb_test "p 10.0d+20 > 10.0d+21" " = FALSE" - gdb_test "p 10.0E+20 < 10.0E+21" " = TRUE" - gdb_test "p 10.0E+20 > 10.0E+21" " = FALSE" - gdb_test "p 10.0e+20 < 10.0e+21" " = TRUE" - gdb_test "p 10.0e+20 > 10.0e+21" " = FALSE" - gdb_test "p 10.0D-11 < 10.0D-10" " = TRUE" - gdb_test "p 10.0D-11 > 10.0D-10" " = FALSE" - gdb_test "p 10.0d-11 < 10.0d-10" " = TRUE" - gdb_test "p 10.0d-11 > 10.0d-10" " = FALSE" - gdb_test "p 10.0E-11 < 10.0E-10" " = TRUE" - gdb_test "p 10.0E-11 > 10.0E-10" " = FALSE" - gdb_test "p 10.0e-11 < 10.0e-10" " = TRUE" - gdb_test "p 10.0e-11 > 10.0e-10" " = FALSE" - # looks funny, but apparently legal - gdb_test "p _.1e+10 < _.1e+11" " = TRUE" - gdb_test "p _.1e+10 > _.1e+11" " = FALSE" - gdb_test "p __.1e-12 < __.1e-11" " = TRUE" - gdb_test "p __.1e-12 > __.1e-11" " = FALSE" -} - -proc test_convenience_variables {} { - global gdb_prompt - - gdb_test "set \$foo := 101" " := 101\[\r\]*" \ - "Set a new convenience variable" - - gdb_test "print \$foo" " = 101" \ - "Print contents of new convenience variable" - - gdb_test "set \$foo := 301" " := 301\[\r\]*" \ - "Set convenience variable to a new value" - - gdb_test "print \$foo" " = 301" \ - "Print new contents of convenience variable" - - gdb_test "set \$_ := 11" " := 11\[\r\]*" \ - "Set convenience variable \$_" - - gdb_test "print \$_" " = 11" \ - "Print contents of convenience variable \$_" - - gdb_test "print \$foo + 10" " = 311" \ - "Use convenience variable in arithmetic expression" - - gdb_test "print (\$foo := 32) + 4" " = 36" \ - "Use convenience variable assignment in arithmetic expression" - - gdb_test "print \$bar" " = void" \ - "Print contents of uninitialized convenience variable" -} - -proc test_value_history {} { - global gdb_prompt - - gdb_test "print 101" "\\\$1 = 101" \ - "Set value-history\[1\] using \$1" - - gdb_test "print 102" "\\\$2 = 102" \ - "Set value-history\[2\] using \$2" - - gdb_test "print 103" "\\\$3 = 103" \ - "Set value-history\[3\] using \$3" - - gdb_test "print \$\$" "\\\$4 = 102" \ - "Print value-history\[MAX-1\] using inplicit index \$\$" - - gdb_test "print \$\$" "\\\$5 = 103" \ - "Print value-history\[MAX-1\] again using implicit index \$\$" - - gdb_test "print \$" "\\\$6 = 103" \ - "Print value-history\[MAX\] using implicit index \$" - - gdb_test "print \$\$2" "\\\$7 = 102" \ - "Print value-history\[MAX-2\] using explicit index \$\$2" - - gdb_test "print \$0" "\\\$8 = 102" \ - "Print value-history\[MAX\] using explicit index \$0" - - gdb_test "print 108" "\\\$9 = 108" "" - - gdb_test "print \$\$0" "\\\$10 = 108" \ - "Print value-history\[MAX\] using explicit index \$\$0" - - gdb_test "print \$1" "\\\$11 = 101" \ - "Print value-history\[1\] using explicit index \$1" - - gdb_test "print \$2" "\\\$12 = 102" \ - "Print value-history\[2\] using explicit index \$2" - - gdb_test "print \$3" "\\\$13 = 103" \ - "Print value-history\[3\] using explicit index \$3" - - gdb_test "print \$-3" "\\\$14 = 100" \ - "Print (value-history\[MAX\] - 3) using implicit index \$" - - gdb_test "print \$1 + 3" "\\\$15 = 104" \ - "Use value-history element in arithmetic expression" -} - -proc test_arithmetic_expressions {} { - global gdb_prompt - - # Test unary minus with various operands - -# gdb_test "p -(TRUE)" " = -1" "unary minus applied to bool" -# gdb_test "p -('a')" " = xxx" "unary minus applied to char" - gdb_test "p -(1)" " = -1" "unary minus applied to int" - gdb_test "p -(1.0)" " = -1" "unary minus applied to real" - - # Test addition with various operands - - gdb_test "p TRUE + 1" " = 2" "bool plus int" - gdb_test "p 'a' + 1" " = 98" "char plus int" - gdb_test "p 1 + 1" " = 2" "int plus int" - gdb_test "p 1.0 + 1" " = 2" "real plus int" - gdb_test "p 1.0 + 2.0" " = 3" "real plus real" - - # Test subtraction with various operands - - gdb_test "p TRUE - 1" " = 0" "bool minus int" - gdb_test "p 'b' - 1" " = 97" "char minus int" - gdb_test "p 3 - 1" " = 2" "int minus int" - gdb_test "p 3.0 - 1" " = 2" "real minus int" - gdb_test "p 5.0 - 2.0" " = 3" "real minus real" - - # Test multiplication with various operands - - gdb_test "p TRUE * 1" " = 1" "bool times int" - gdb_test "p 'a' * 2" " = 194" "char times int" - gdb_test "p 2 * 3" " = 6" "int times int" - gdb_test "p 2.0 * 3" " = 6" "real times int" - gdb_test "p 2.0 * 3.0" " = 6" "real times real" - - # Test division with various operands - - gdb_test "p TRUE / 1" " = 1" "bool divided by int" - gdb_test "p 'a' / 2" " = 48" "char divided by int" - gdb_test "p 6 / 3" " = 2" "int divided by int" - gdb_test "p 6.0 / 3" " = 2" "real divided by int" - gdb_test "p 6.0 / 3.0" " = 2" "real divided by real" - - # Test modulo with various operands - - gdb_test "p TRUE MOD 1" " = 0" "bool modulo int" - gdb_test "p 'a' MOD 2" " = 1" "char modulo int" - gdb_test "p -5 MOD 3" " = 1" "negative int modulo int" - gdb_test "p 5 MOD 1" " = 0" "int modulo int" - gdb_test "p 5 MOD 2" " = 1" "int modulo int" - gdb_test "p 5 MOD 3" " = 2" "int modulo int" - gdb_test "p 5 MOD 4" " = 1" "int modulo int" - gdb_test "p 5 MOD 5" " = 0" "int modulo int" - gdb_test "p 0 MOD 1" " = 0" "int modulo int" - gdb_test "p 0 MOD 2" " = 0" "int modulo int" - gdb_test "p 0 MOD 3" " = 0" "int modulo int" - gdb_test "p 0 MOD 4" " = 0" "int modulo int" - gdb_test "p -5 MOD 1" " = 0" "int modulo int" - gdb_test "p -5 MOD 2" " = 1" "int modulo int" - gdb_test "p -5 MOD 3" " = 1" "int modulo int" - gdb_test "p -5 MOD 4" " = 3" "int modulo int" - gdb_test "p -5 MOD 5" " = 0" "int modulo int" - gdb_test "p -5 MOD 5" " = 0" "int modulo int" - test_print_reject "p 6.0 MOD 3" \ - "Integer-only operation on floating point number.*" - test_print_reject "p 6.0 MOD 3.0" \ - "Integer-only operation on floating point number.*" - test_print_reject "p -5 MOD -1" \ - "Second operand of MOD must be greater than zero.*" - test_print_reject "p -5 MOD 0" \ - "Second operand of MOD must be greater than zero.*" - - # Test remainder with various operands - - gdb_test "p TRUE REM 1" " = 0" "bool remainder int" - gdb_test "p 'a' REM 2" " = 1" "char remainder int" - gdb_test "p 5 REM 5" " = 0" "int remainder int" - gdb_test "p 5 REM 4" " = 1" "int remainder int" - gdb_test "p 5 REM 3" " = 2" "int remainder int" - gdb_test "p 5 REM 2" " = 1" "int remainder int" - gdb_test "p 5 REM 1" " = 0" "int remainder int" - gdb_test "p 5 REM -1" " = 0" "int remainder int" - gdb_test "p 5 REM -2" " = 1" "int remainder int" - gdb_test "p 5 REM -3" " = 2" "int remainder int" - gdb_test "p 5 REM -4" " = 1" "int remainder int" - gdb_test "p 5 REM -5" " = 0" "int remainder int" - gdb_test "p -5 REM 5" " = 0" "int remainder int" - gdb_test "p -5 REM 4" " = -1" "int remainder int" - gdb_test "p -5 REM 3" " = -2" "int remainder int" - gdb_test "p -5 REM 2" " = -1" "int remainder int" - gdb_test "p -5 REM 1" " = 0" "int remainder int" - gdb_test "p -5 REM -1" " = 0" "int remainder int" - gdb_test "p -5 REM -2" " = -1" "int remainder int" - gdb_test "p -5 REM -3" " = -2" "int remainder int" - gdb_test "p -5 REM -4" " = -1" "int remainder int" - gdb_test "p -5 REM -5" " = 0" "int remainder int" - gdb_test "p 6 REM 3" " = 0" "int remainder int" - test_print_reject "p 6.0 REM 3" \ - "Integer-only operation on floating point number.*" - test_print_reject "p 6.0 REM 3.0" \ - "Integer-only operation on floating point number.*" -} - -# Start with a fresh gdb. - -gdb_exit -gdb_start -gdb_reinitialize_dir $srcdir/$subdir - -gdb_test "set print sevenbit-strings" "" - -if [set_lang_chill] then { - test_value_history - test_convenience_variables - test_integer_literals_accepted - test_integer_literals_rejected - test_boolean_literals_accepted - test_character_literals_accepted - test_float_literals_accepted - test_arithmetic_expressions -} else { - warning "$test_name tests suppressed." 0 -} diff --git a/gdb/testsuite/gdb.chill/chillvars.ch b/gdb/testsuite/gdb.chill/chillvars.ch deleted file mode 100644 index 21dfcba5486..00000000000 --- a/gdb/testsuite/gdb.chill/chillvars.ch +++ /dev/null @@ -1,204 +0,0 @@ -testvars: MODULE - -DCL bool_true BOOL INIT := TRUE; -DCL bool_false BOOL INIT := FALSE; -DCL booltable1 ARRAY (0:3) BOOL INIT := [ TRUE, FALSE, FALSE, TRUE ]; -DCL booltable2 ARRAY (4:7) BOOL INIT := [ TRUE, FALSE, FALSE, TRUE ]; - -DCL control_char CHAR INIT := C'07'; -DCL printable_char CHAR INIT := 'a'; -DCL chartable1 ARRAY (0:2) CHAR INIT := [ C'00', C'01', C'02' ]; -DCL chartable2 ARRAY (3:5) CHAR INIT := [ C'00', C'01', C'02' ]; - -DCL string1 CHARS (4) INIT := 'abcd'; -DCL string2 CHARS (5) INIT := 'ef' // C'00' // 'gh'; -DCL string3 CHARS (6) INIT := 'ef' // 'gh' // 'ij'; -DCL string4 CHARS (7) INIT := (6) 'z' // C'00'; - -DCL byte_low BYTE INIT := -128; -DCL byte_high BYTE INIT := 127; -DCL bytetable1 ARRAY (0:4) BYTE INIT := [ -2, -1, 0, 1, 2 ]; -DCL bytetable2 ARRAY (5:9) BYTE INIT := [ -2, -1, 0, 1, 2 ]; -DCL bytetable3 ARRAY (1:2,'c':'d',FALSE:TRUE) BYTE - INIT := [ [ [ 0, 1 ], [ 2, 3 ] ], [ [ 4, 5 ], [ 6, 7 ] ] ]; -DCL bytetable4 ARRAY (1:2) ARRAY ('c':'d') ARRAY (FALSE:TRUE) BYTE - INIT := [ [ [ 0, 1 ], [ 2, 3 ] ], [ [ 4, 5 ], [ 6, 7 ] ] ]; - -DCL ubyte_low UBYTE INIT := 0; -DCL ubyte_high UBYTE INIT := 255; -DCL ubytetable1 ARRAY (0:4) UBYTE INIT := [ 0, 1, 2, 3, 4 ]; -DCL ubytetable2 ARRAY (5:9) UBYTE INIT := [ 0, 1, 2, 3, 4 ]; - -DCL int_low INT INIT := -32_768; -DCL int_high INT INIT := 32_767; -DCL inttable1 ARRAY (0:4) INT INIT := [ -2, -1, 0, 1, 2 ]; -DCL inttable2 ARRAY (5:9) INT INIT := [ -2, -1, 0, 1, 2 ]; - -DCL uint_low UINT INIT := 0; -DCL uint_high UINT INIT := 65_535; -DCL uinttable1 ARRAY (0:4) UINT INIT := [ 0, 1, 2, 3, 4 ]; -DCL uinttable2 ARRAY (5:9) UINT INIT := [ 0, 1, 2, 3, 4 ]; - -DCL long_low LONG INIT := -2_147_483_648; -DCL long_high LONG INIT := 2_147_483_647; -DCL longtable1 ARRAY (0:4) LONG INIT := [ -2, -1, 0, 1, 2 ]; -DCL longtable2 ARRAY (5:9) LONG INIT := [ -2, -1, 0, 1, 2 ]; - -DCL ulong_low ULONG INIT := 0; -DCL ulong_high ULONG INIT := 4_294_967_295; -DCL ulongtable1 ARRAY (0:4) ULONG INIT := [ 0, 1, 2, 3, 4 ]; -DCL ulongtable2 ARRAY (5:9) ULONG INIT := [ 0, 1, 2, 3, 4 ]; - -DCL real1 FLOAT INIT := 3.14159265358; -DCL real2 FLOAT INIT := -3.14159265358; -DCL realtable1 ARRAY (0:4) FLOAT INIT := [ -2.0, -1.0, 0.0, 1.0, 2.0 ]; -DCL realtable2 ARRAY (5:9) FLOAT INIT := [ -2.0, -1.0, 0.0, 1.0, 2.0 ]; - -DCL long_real1 DOUBLE INIT := 3.14e300; -DCL long_real2 DOUBLE INIT := -3.14e-300; -DCL longrealtable1 ARRAY (0:4) DOUBLE INIT := [ -2.0, -1.0, 0.0, 1.0, 2.0 ]; -DCL longrealtable2 ARRAY (5:9) DOUBLE INIT := [ -2.0, -1.0, 0.0, 1.0, 2.0 ]; - -/* DCL powerset1 POWERSET INT(0:7);*/ -/* DCL chars1 CHAR (16) INIT := (16)'b'; */ -/* DCL bits1 BIT(20) := B'11111111000010101011'; */ - -NEWMODE simple_struct = STRUCT (abool BOOL, aint INT, astring CHARS (8)); -DCL struct1 simple_struct := [ TRUE, 123, "a string" ]; - -NEWMODE nested_struct = STRUCT (abool BOOL, nstruct simple_struct, aint INT); -DCL struct2 nested_struct := [ TRUE, [ FALSE, 456, "deadbeef" ], 789 ]; - -/* This table is used as a source for every ascii character. */ - -DCL asciitable ARRAY (0:255) CHAR INIT := [ - C'00', C'01', C'02', C'03', C'04', C'05', C'06', C'07', - C'08', C'09', C'0a', C'0b', C'0c', C'0d', C'0e', C'0f', - C'10', C'11', C'12', C'13', C'14', C'15', C'16', C'17', - C'18', C'19', C'1a', C'1b', C'1c', C'1d', C'1e', C'1f', - C'20', C'21', C'22', C'23', C'24', C'25', C'26', C'27', - C'28', C'29', C'2a', C'2b', C'2c', C'2d', C'2e', C'2f', - C'30', C'31', C'32', C'33', C'34', C'35', C'36', C'37', - C'38', C'39', C'3a', C'3b', C'3c', C'3d', C'3e', C'3f', - C'40', C'41', C'42', C'43', C'44', C'45', C'46', C'47', - C'48', C'49', C'4a', C'4b', C'4c', C'4d', C'4e', C'4f', - C'50', C'51', C'52', C'53', C'54', C'55', C'56', C'57', - C'58', C'59', C'5a', C'5b', C'5c', C'5d', C'5e', C'5f', - C'60', C'61', C'62', C'63', C'64', C'65', C'66', C'67', - C'68', C'69', C'6a', C'6b', C'6c', C'6d', C'6e', C'6f', - C'70', C'71', C'72', C'73', C'74', C'75', C'76', C'77', - C'78', C'79', C'7a', C'7b', C'7c', C'7d', C'7e', C'7f', - C'80', C'81', C'82', C'83', C'84', C'85', C'86', C'87', - C'88', C'89', C'8a', C'8b', C'8c', C'8d', C'8e', C'8f', - C'90', C'91', C'92', C'93', C'94', C'95', C'96', C'97', - C'98', C'99', C'9a', C'9b', C'9c', C'9d', C'9e', C'9f', - C'a0', C'a1', C'a2', C'a3', C'a4', C'a5', C'a6', C'a7', - C'a8', C'a9', C'aa', C'ab', C'ac', C'ad', C'ae', C'af', - C'b0', C'b1', C'b2', C'b3', C'b4', C'b5', C'b6', C'b7', - C'b8', C'b9', C'ba', C'bb', C'bc', C'bd', C'be', C'bf', - C'c0', C'c1', C'c2', C'c3', C'c4', C'c5', C'c6', C'c7', - C'c8', C'c9', C'ca', C'cb', C'cc', C'cd', C'ce', C'cf', - C'd0', C'd1', C'd2', C'd3', C'd4', C'd5', C'd6', C'd7', - C'd8', C'd9', C'da', C'db', C'dc', C'dd', C'de', C'df', - C'e0', C'e1', C'e2', C'e3', C'e4', C'e5', C'e6', C'e7', - C'e8', C'e9', C'ea', C'eb', C'ec', C'ed', C'ee', C'ef', - C'f0', C'f1', C'f2', C'f3', C'f4', C'f5', C'f6', C'f7', - C'f8', C'f9', C'fa', C'fb', C'fc', C'fd', C'fe', C'ff' -]; - -DCL charmatrix ARRAY (0:255) CHAR INIT := [ - 'a','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', - 'a','a','X','X','X','X','X','X','X','X','X','X','X','X','X','X', - 'a','a','a','X','X','X','X','X','X','X','X','X','X','X','X','X', - 'a','a','a','a','X','X','X','X','X','X','X','X','X','X','X','X', - 'a','a','a','a','a','X','X','X','X','X','X','X','X','X','X','X', - 'a','a','a','a','a','a','X','X','X','X','X','X','X','X','X','X', - 'a','a','a','a','a','a','a','X','X','X','X','X','X','X','X','X', - 'a','a','a','a','a','a','a','a','X','X','X','X','X','X','X','X', - 'a','a','a','a','a','a','a','a','a','X','X','X','X','X','X','X', - 'a','a','a','a','a','a','a','a','a','a','X','X','X','X','X','X', - 'a','a','a','a','a','a','a','a','a','a','a','X','X','X','X','X', - 'a','a','a','a','a','a','a','a','a','a','a','a','X','X','X','X', - 'a','a','a','a','a','a','a','a','a','a','a','a','a','X','X','X', - 'a','a','a','a','a','a','a','a','a','a','a','a','a','a','X','X', - 'a','a','a','a','a','a','a','a','a','a','a','a','a','a','a','X', - 'a','a','a','a','a','a','a','a','a','a','a','a','a','a','a','a' -]; - -DCL xptr PTR INIT := ->int_high; - -booleans: PROC (); - - DCL val1 BOOL := TRUE; - DCL val2 BOOL := FALSE; - DCL val3 BOOL := TRUE; - - val1 := TRUE XOR TRUE; - val1 := TRUE XOR FALSE; - val1 := FALSE XOR TRUE; - val1 := FALSE XOR FALSE; - val1 := val2 XOR val3; - - val1 := TRUE AND TRUE; - val1 := TRUE AND FALSE; - val1 := FALSE AND TRUE; - val1 := FALSE AND FALSE; - val1 := val2 AND val3; - - val1 := TRUE ANDIF TRUE; - val1 := TRUE ANDIF FALSE; - val1 := FALSE ANDIF TRUE; - val1 := FALSE ANDIF FALSE; - val1 := val2 ANDIF val3; - - val1 := TRUE OR TRUE; - val1 := TRUE OR FALSE; - val1 := FALSE OR TRUE; - val1 := FALSE OR FALSE; - val1 := val2 OR val3; - --- val1 := NOT TRUE; --- val1 := NOT FALSE; --- val1 := NOT val2; --- val1 := NOT val3; - -END booleans; - -scalar_arithmetic: PROC (); - - DCL val1 INT := 1; - DCL val2 INT := 2; - DCL val3 INT := 3; - - val1 := -val2; - val1 := val2 + val3; - val1 := val2 - val3; - val1 := val2 * val3; - val1 := val2 / val3; - val1 := val2 MOD val3; - val1 := val2 REM val3; - -END scalar_arithmetic; - -write_arrays: PROC (); - - inttable1(0) := 0; - inttable1(1) := 1; - inttable1(2) := 2; - inttable1(3) := 3; - inttable1(4) := 4; - inttable2(5) := 5; - inttable2(6) := 6; - inttable2(7) := 7; - inttable2(8) := 8; - inttable2(9) := 9; - -END write_arrays; - -uint_low := 0; - -scalar_arithmetic (); -write_arrays (); -booleans (); - -END; diff --git a/gdb/testsuite/gdb.chill/chillvars.exp b/gdb/testsuite/gdb.chill/chillvars.exp deleted file mode 100644 index f37c94dd62d..00000000000 --- a/gdb/testsuite/gdb.chill/chillvars.exp +++ /dev/null @@ -1,316 +0,0 @@ -# Copyright (C) 1992, 1997 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - -# Please email any bugs, comments, and/or additions to this file to: -# bug-gdb@prep.ai.mit.edu - -# This file was written by Fred Fish. (fnf@cygnus.com) - -if $tracelevel then { - strace $tracelevel -} - -if [skip_chill_tests] then { continue } - -set testfile "chillvars" -set srcfile ${srcdir}/$subdir/${testfile}.ch -set binfile ${objdir}/${subdir}/${testfile}.exe -if { [compile "${srcfile} -g -o ${binfile} ${CHILL_RT0} ${CHILL_LIB}"] != "" } { - perror "Couldn't compile ${srcfile}" - return -1 -} - -proc do_tests {} { - global prms_id bug_id subdir objdir srcdir binfile gdb_prompt - - set prms_id 0 - set bug_id 0 - - # Start with a fresh gdb. - - gdb_exit - gdb_start - gdb_reinitialize_dir $srcdir/$subdir - gdb_load $binfile - - gdb_test "set language chill" "" - - # This is needed (at least on SunOS4) to make sure the - # the symbol table is read. - gdb_test "break chillvars.ch:3" "" - gdb_test "delete 1" "" - - gdb_test "set width 0" "" - gdb_test "set print sevenbit-strings" "" - gdb_test "set print address off" "" - - test_BOOL - test_CHAR - test_BYTE - test_UBYTE - test_INT - test_UINT - test_LONG - test_ULONG - test_REAL - test_LONG_REAL - test_POWERSET - test_arrays - test_strings - test_structs - - test_ptr -} - -proc test_BOOL {} { - - gdb_test "ptype bool_true" "type = (BOOL|bool)" - gdb_test "ptype bool_false" "type = (BOOL|bool)" - gdb_test "whatis bool_true" "type = (BOOL|bool)" - gdb_test "whatis bool_false" "type = (BOOL|bool)" - gdb_test "print bool_false" " = FALSE" - gdb_test "print bool_true" " = TRUE" - -} - -proc test_CHAR {} { - gdb_test "ptype control_char" "type = (CHAR|char)" - gdb_test "whatis control_char" "type = (CHAR|char)" - gdb_test "print control_char" { = '\^[(]7[)]'} - gdb_test "ptype printable_char" "type = (CHAR|char)" - gdb_test "whatis printable_char" "type = (CHAR|char)" - gdb_test "print printable_char" " = 'a'" - - gdb_test "print lower(char)" { = '\^[(]0[)]'} - gdb_test "print upper(char)" { = '\^[(]255[)]'} -} - -proc test_BYTE {} { - gdb_test "ptype byte_low" "type = (BYTE|byte)" - gdb_test "whatis byte_low" "type = (BYTE|byte)" - gdb_test "print byte_low" " = -128" - gdb_test "ptype byte_high" "type = (BYTE|byte)" - gdb_test "whatis byte_high" "type = (BYTE|byte)" - gdb_test "print byte_high" " = 127" - - gdb_test "print lower(byte)" " = -128" - gdb_test "print upper(byte)" " = 127" - gdb_test "print lower(byte_high)" " = -128" - gdb_test "print upper(byte_high)" " = 127" -} - -proc test_UBYTE {} { - gdb_test "ptype ubyte_low" "type = (UBYTE|ubyte)" - gdb_test "whatis ubyte_low" "type = (UBYTE|ubyte)" - gdb_test "print ubyte_low" " = 0" - gdb_test "ptype ubyte_high" "type = (UBYTE|ubyte)" - gdb_test "whatis ubyte_high" "type = (UBYTE|ubyte)" - gdb_test "print ubyte_high" " = 255" -} - -proc test_INT {} { - gdb_test "ptype int_low" "type = (INT|int)" - gdb_test "whatis int_low" "type = (INT|int)" - gdb_test "print int_low" " = -32768" - gdb_test "ptype int_high" "type = (INT|int)" - gdb_test "whatis int_high" "type = (INT|int)" - gdb_test "print int_high" " = 32767" -} - -proc test_UINT {} { - gdb_test "ptype uint_low" "type = (UINT|uint)" - gdb_test "whatis uint_low" "type = (UINT|uint)" - gdb_test "print uint_low" " = 0" - gdb_test "ptype uint_high" "type = (UINT|uint)" - gdb_test "whatis uint_high" "type = (UINT|uint)" - gdb_test "print uint_high" " = 65535" -} - -proc test_LONG {} { - gdb_test "ptype long_low" "type = (LONG|long)" - gdb_test "whatis long_low" "type = (LONG|long)" - gdb_test "print long_low" " = -2147483648" - gdb_test "ptype long_high" "type = (LONG|long)" - gdb_test "whatis long_high" "type = (LONG|long)" - gdb_test "print long_high" " = 2147483647" -} - -proc test_ULONG {} { - gdb_test "ptype ulong_low" "type = (ULONG|ulong)" - gdb_test "whatis ulong_low" "type = (ULONG|ulong)" - gdb_test "print ulong_low" " = 0" - gdb_test "ptype ulong_high" "type = (ULONG|ulong)" - gdb_test "whatis ulong_high" "type = (ULONG|ulong)" - gdb_test "print ulong_high" " = 4294967295" -} - -proc test_REAL {} { - gdb_test "ptype real1" "type = (FLOAT|float)" - gdb_test "whatis real1" "type = (FLOAT|float)" - gdb_test "print real1" " = 3.14159274" -} - -proc test_LONG_REAL {} { - gdb_test "ptype long_real1" "type = (DOUBLE|double)" - gdb_test "whatis long_real1" "type = (DOUBLE|double)" - gdb_test "print long_real1" " = 3\\.1400000000000001e\\+300" -} - -proc test_POWERSET {} { -} - -proc test_arrays {} { - gdb_test "ptype booltable1" "type = ARRAY \\(+0:3\\)+ (BOOL|bool)" - gdb_test_exact "print booltable1" \ - { = [(0): TRUE, (1:2): FALSE, (3): TRUE]} - - gdb_test "ptype booltable2" "type = ARRAY \\(+4:7\\)+ (BOOL|bool)" - gdb_test_exact "print booltable2" { = [(4): TRUE, (5:6): FALSE, (7): TRUE]} - - gdb_test "ptype chartable1" "type = ARRAY \\(+0:2\\)+ (CHAR|char)" - gdb_test_exact "print chartable1" {= [(0): '^(0)', (1): '^(1)', (2): '^(2)']} - - gdb_test "ptype chartable2" "type = ARRAY \\(+3:5\\)+ (CHAR|char)" - gdb_test_exact "print chartable2" \ - {= [(3): '^(0)', (4): '^(1)', (5): '^(2)']} - - gdb_test "ptype bytetable1" "type = ARRAY \\(+0:4\\)+ (BYTE|byte)" - gdb_test_exact "print bytetable1" \ - {= [(0): -2, (1): -1, (2): 0, (3): 1, (4): 2]} - - gdb_test "ptype bytetable2" "type = ARRAY \\(+5:9\\)+ (BYTE|byte)" - gdb_test_exact "print bytetable2" \ - {= [(5): -2, (6): -1, (7): 0, (8): 1, (9): 2]} - - gdb_test "ptype bytetable3" \ - "type = ARRAY \\(1:2\\) ARRAY \\('c':'d'\\) ARRAY \\(FALSE:TRUE\\) (BYTE|byte)" - gdb_test_exact "print bytetable3" \ - {= [(1): [('c'): [(FALSE): 0, (TRUE): 1], ('d'): [(FALSE): 2, (TRUE): 3]], (2): [('c'): [(FALSE): 4, (TRUE): 5], ('d'): [(FALSE): 6, (TRUE): 7]]]} - gdb_test "ptype bytetable4" \ - "type = ARRAY \\(1:2\\) ARRAY \\('c':'d'\\) ARRAY \\(FALSE:TRUE\\) (BYTE|byte)" - gdb_test_exact "print bytetable4" \ - {= [(1): [('c'): [(FALSE): 0, (TRUE): 1], ('d'): [(FALSE): 2, (TRUE): 3]], (2): [('c'): [(FALSE): 4, (TRUE): 5], ('d'): [(FALSE): 6, (TRUE): 7]]]} - - gdb_test "ptype ubytetable1" "type = ARRAY \\(+0:4\\)+ (UBYTE|ubyte)" - gdb_test_exact "print ubytetable1" \ - {= [(0): 0, (1): 1, (2): 2, (3): 3, (4): 4]} - - gdb_test "ptype ubytetable2" "type = ARRAY \\(+5:9\\)+ (UBYTE|ubyte)" - gdb_test_exact "print ubytetable2" \ - {= [(5): 0, (6): 1, (7): 2, (8): 3, (9): 4]} - - gdb_test "ptype inttable1" "type = ARRAY \\(+0:4\\)+ (INT|int)" - gdb_test_exact "print inttable1" \ - {= [(0): -2, (1): -1, (2): 0, (3): 1, (4): 2]} - - gdb_test "ptype inttable2" "type = ARRAY \\(+5:9\\)+ (INT|int)" - gdb_test_exact "print inttable2" \ - {= [(5): -2, (6): -1, (7): 0, (8): 1, (9): 2]} - - gdb_test "ptype uinttable1" "type = ARRAY \\(+0:4\\)+ (UINT|uint)" - gdb_test_exact "print uinttable1" \ - {= [(0): 0, (1): 1, (2): 2, (3): 3, (4): 4]} - - gdb_test "ptype uinttable2" "type = ARRAY \\(+5:9\\)+ (UINT|uint)" - gdb_test_exact "print uinttable2" \ - {= [(5): 0, (6): 1, (7): 2, (8): 3, (9): 4]} - - gdb_test "ptype longtable1" "type = ARRAY \\(+0:4\\)+ (LONG|long)" - gdb_test_exact "print longtable1" \ - {= [(0): -2, (1): -1, (2): 0, (3): 1, (4): 2]} - - gdb_test "ptype longtable2" "type = ARRAY \\(+5:9\\)+ (LONG|long)" - gdb_test_exact "print longtable2" \ - {= [(5): -2, (6): -1, (7): 0, (8): 1, (9): 2]} - - gdb_test "ptype ulongtable1" "type = ARRAY \\(+0:4\\)+ (ULONG|ulong)" - gdb_test_exact "print ulongtable1" \ - {= [(0): 0, (1): 1, (2): 2, (3): 3, (4): 4]} - - gdb_test "ptype ulongtable2" "type = ARRAY \\(+5:9\\)+ (ULONG|ulong)" - gdb_test_exact "print ulongtable2" \ - {= [(5): 0, (6): 1, (7): 2, (8): 3, (9): 4]} - - gdb_test "ptype realtable1" "type = ARRAY \\(+0:4\\)+ (FLOAT|float)" - gdb_test_exact "print realtable1" \ - {= [(0): -2, (1): -1, (2): 0, (3): 1, (4): 2]} - - gdb_test "ptype realtable2" "type = ARRAY \\(+5:9\\)+ (FLOAT|float)" - gdb_test_exact "print realtable2" \ - {= [(5): -2, (6): -1, (7): 0, (8): 1, (9): 2]} - - gdb_test "ptype longrealtable1" "type = ARRAY \\(+0:4\\)+ (DOUBLE|double)" - gdb_test_exact "print longrealtable1" \ - {= [(0): -2, (1): -1, (2): 0, (3): 1, (4): 2]} - - gdb_test "ptype longrealtable2" "type = ARRAY \\(+5:9\\)+ (DOUBLE|double)" - gdb_test_exact "print longrealtable2" \ - {= [(5): -2, (6): -1, (7): 0, (8): 1, (9): 2]} - - gdb_test "print length(longrealtable2)" {= 5} - gdb_test "print lower(longrealtable2)" {= 5} - gdb_test "print upper(longrealtable2)" {= 9} -} - -proc test_strings {} { - - gdb_test "ptype string1" "type = CHARS \[(\]4\[)\]+" - gdb_test "print string1" " = \"abcd\"" - - gdb_test "ptype string2" "type = CHARS \[(\]+5\[)\]+" - gdb_test "print string2" { = \"ef\^\(0\)gh\"} - - gdb_test "ptype string3" "type = CHARS \[(\]+6\[)\]+" - gdb_test "print string3" " = \"efghij\"" - - gdb_test "ptype string4" "type = CHARS \[(\]+7\[)\]+" - gdb_test "print string4" { = \"zzzzzz\^\(0\)\"} - - # These tests require a running process, so run to one of the procs - # and then do the tests. - - if [runto scalar_arithmetic] then { - gdb_test "ptype string1//string2" "type = CHARS \\(9\\)" - gdb_test "print string1//string2" { = \"abcdef\^\(0\)gh\"} - gdb_test_exact {ptype "a chill string"} {type = CHARS (14)} - gdb_test "print 'a chill string'" " = \"a chill string\"" - gdb_test "print \"ef\"//c'00'//\"gh\"" { = \"ef\^\(0\)gh\"} - gdb_test "print string1 // \"efgh\"" " = \"abcdefgh\"" - gdb_test "print (6) 'z'" " = \"zzzzzz\"" - gdb_test "ptype (6) 'z'" "type = CHARS \[(\]+6\[)\]+" - gdb_test "print (1+2*3) 'x'" " = \"xxxxxxx\"" - gdb_test "ptype (1+2*3) 'x'" "type = CHARS \[(\]+7\[)\]+" - } - -} - -proc test_structs {} { - gdb_test "ptype struct1" \ - "type = STRUCT \\(+.*abool (BOOL|bool),.*aint (INT|int),.*astring CHARS \\(+8\\)+.*\\)+" - gdb_test "print struct1" \ - ".* = \\\[\.abool: TRUE, \.aint: 123, \.astring: \"a string\"\\\]" - gdb_test "ptype struct2" \ - "type = STRUCT \\(+.*abool (BOOL|bool),.*nstruct simple_struct,.*aint (INT|int).*\\)+" - gdb_test "print struct2" \ - ".* = \\\[.abool: TRUE, \.nstruct: \\\[\.abool: FALSE, \.aint: 456, \.astring: \"deadbeef\"\\\], \.aint: 789\\\]" -} - -proc test_ptr {} { - # This is to test Cygnus PR 6932 - gdb_test "print xptr->int" ".* = 32767" -} - -do_tests diff --git a/gdb/testsuite/gdb.chill/configure b/gdb/testsuite/gdb.chill/configure deleted file mode 100755 index 24e429d9ce5..00000000000 --- a/gdb/testsuite/gdb.chill/configure +++ /dev/null @@ -1,899 +0,0 @@ -#! /bin/sh - -# Guess values for system-dependent variables and create Makefiles. -# Generated automatically using autoconf version 2.12.1 -# Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc. -# -# This configure script is free software; the Free Software Foundation -# gives unlimited permission to copy, distribute and modify it. - -# Defaults: -ac_help= -ac_default_prefix=/usr/local -# Any additions from configure.in: - -# Initialize some variables set by options. -# The variables have the same names as the options, with -# dashes changed to underlines. -build=NONE -cache_file=./config.cache -exec_prefix=NONE -host=NONE -no_create= -nonopt=NONE -no_recursion= -prefix=NONE -program_prefix=NONE -program_suffix=NONE -program_transform_name=s,x,x, -silent= -site= -srcdir= -target=NONE -verbose= -x_includes=NONE -x_libraries=NONE -bindir='${exec_prefix}/bin' -sbindir='${exec_prefix}/sbin' -libexecdir='${exec_prefix}/libexec' -datadir='${prefix}/share' -sysconfdir='${prefix}/etc' -sharedstatedir='${prefix}/com' -localstatedir='${prefix}/var' -libdir='${exec_prefix}/lib' -includedir='${prefix}/include' -oldincludedir='/usr/include' -infodir='${prefix}/info' -mandir='${prefix}/man' - -# Initialize some other variables. -subdirs= -MFLAGS= MAKEFLAGS= -SHELL=${CONFIG_SHELL-/bin/sh} -# Maximum number of lines to put in a shell here document. -ac_max_here_lines=12 - -ac_prev= -for ac_option -do - - # If the previous option needs an argument, assign it. - if test -n "$ac_prev"; then - eval "$ac_prev=\$ac_option" - ac_prev= - continue - fi - - case "$ac_option" in - -*=*) ac_optarg=`echo "$ac_option" | sed 's/[-_a-zA-Z0-9]*=//'` ;; - *) ac_optarg= ;; - esac - - # Accept the important Cygnus configure options, so we can diagnose typos. - - case "$ac_option" in - - -bindir | --bindir | --bindi | --bind | --bin | --bi) - ac_prev=bindir ;; - -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) - bindir="$ac_optarg" ;; - - -build | --build | --buil | --bui | --bu) - ac_prev=build ;; - -build=* | --build=* | --buil=* | --bui=* | --bu=*) - build="$ac_optarg" ;; - - -cache-file | --cache-file | --cache-fil | --cache-fi \ - | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) - ac_prev=cache_file ;; - -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ - | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) - cache_file="$ac_optarg" ;; - - -datadir | --datadir | --datadi | --datad | --data | --dat | --da) - ac_prev=datadir ;; - -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \ - | --da=*) - datadir="$ac_optarg" ;; - - -disable-* | --disable-*) - ac_feature=`echo $ac_option|sed -e 's/-*disable-//'` - # Reject names that are not valid shell variable names. - if test -n "`echo $ac_feature| sed 's/[-a-zA-Z0-9_]//g'`"; then - { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; } - fi - ac_feature=`echo $ac_feature| sed 's/-/_/g'` - eval "enable_${ac_feature}=no" ;; - - -enable-* | --enable-*) - ac_feature=`echo $ac_option|sed -e 's/-*enable-//' -e 's/=.*//'` - # Reject names that are not valid shell variable names. - if test -n "`echo $ac_feature| sed 's/[-_a-zA-Z0-9]//g'`"; then - { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; } - fi - ac_feature=`echo $ac_feature| sed 's/-/_/g'` - case "$ac_option" in - *=*) ;; - *) ac_optarg=yes ;; - esac - eval "enable_${ac_feature}='$ac_optarg'" ;; - - -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ - | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ - | --exec | --exe | --ex) - ac_prev=exec_prefix ;; - -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ - | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ - | --exec=* | --exe=* | --ex=*) - exec_prefix="$ac_optarg" ;; - - -gas | --gas | --ga | --g) - # Obsolete; use --with-gas. - with_gas=yes ;; - - -help | --help | --hel | --he) - # Omit some internal or obsolete options to make the list less imposing. - # This message is too long to be a string in the A/UX 3.1 sh. - cat << EOF -Usage: configure [options] [host] -Options: [defaults in brackets after descriptions] -Configuration: - --cache-file=FILE cache test results in FILE - --help print this message - --no-create do not create output files - --quiet, --silent do not print \`checking...' messages - --version print the version of autoconf that created configure -Directory and file names: - --prefix=PREFIX install architecture-independent files in PREFIX - [$ac_default_prefix] - --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX - [same as prefix] - --bindir=DIR user executables in DIR [EPREFIX/bin] - --sbindir=DIR system admin executables in DIR [EPREFIX/sbin] - --libexecdir=DIR program executables in DIR [EPREFIX/libexec] - --datadir=DIR read-only architecture-independent data in DIR - [PREFIX/share] - --sysconfdir=DIR read-only single-machine data in DIR [PREFIX/etc] - --sharedstatedir=DIR modifiable architecture-independent data in DIR - [PREFIX/com] - --localstatedir=DIR modifiable single-machine data in DIR [PREFIX/var] - --libdir=DIR object code libraries in DIR [EPREFIX/lib] - --includedir=DIR C header files in DIR [PREFIX/include] - --oldincludedir=DIR C header files for non-gcc in DIR [/usr/include] - --infodir=DIR info documentation in DIR [PREFIX/info] - --mandir=DIR man documentation in DIR [PREFIX/man] - --srcdir=DIR find the sources in DIR [configure dir or ..] - --program-prefix=PREFIX prepend PREFIX to installed program names - --program-suffix=SUFFIX append SUFFIX to installed program names - --program-transform-name=PROGRAM - run sed PROGRAM on installed program names -EOF - cat << EOF -Host type: - --build=BUILD configure for building on BUILD [BUILD=HOST] - --host=HOST configure for HOST [guessed] - --target=TARGET configure for TARGET [TARGET=HOST] -Features and packages: - --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) - --enable-FEATURE[=ARG] include FEATURE [ARG=yes] - --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] - --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) - --x-includes=DIR X include files are in DIR - --x-libraries=DIR X library files are in DIR -EOF - if test -n "$ac_help"; then - echo "--enable and --with options recognized:$ac_help" - fi - exit 0 ;; - - -host | --host | --hos | --ho) - ac_prev=host ;; - -host=* | --host=* | --hos=* | --ho=*) - host="$ac_optarg" ;; - - -includedir | --includedir | --includedi | --included | --include \ - | --includ | --inclu | --incl | --inc) - ac_prev=includedir ;; - -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ - | --includ=* | --inclu=* | --incl=* | --inc=*) - includedir="$ac_optarg" ;; - - -infodir | --infodir | --infodi | --infod | --info | --inf) - ac_prev=infodir ;; - -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) - infodir="$ac_optarg" ;; - - -libdir | --libdir | --libdi | --libd) - ac_prev=libdir ;; - -libdir=* | --libdir=* | --libdi=* | --libd=*) - libdir="$ac_optarg" ;; - - -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ - | --libexe | --libex | --libe) - ac_prev=libexecdir ;; - -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ - | --libexe=* | --libex=* | --libe=*) - libexecdir="$ac_optarg" ;; - - -localstatedir | --localstatedir | --localstatedi | --localstated \ - | --localstate | --localstat | --localsta | --localst \ - | --locals | --local | --loca | --loc | --lo) - ac_prev=localstatedir ;; - -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ - | --localstate=* | --localstat=* | --localsta=* | --localst=* \ - | --locals=* | --local=* | --loca=* | --loc=* | --lo=*) - localstatedir="$ac_optarg" ;; - - -mandir | --mandir | --mandi | --mand | --man | --ma | --m) - ac_prev=mandir ;; - -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) - mandir="$ac_optarg" ;; - - -nfp | --nfp | --nf) - # Obsolete; use --without-fp. - with_fp=no ;; - - -no-create | --no-create | --no-creat | --no-crea | --no-cre \ - | --no-cr | --no-c) - no_create=yes ;; - - -no-recursion | --no-recursion | --no-recursio | --no-recursi \ - | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) - no_recursion=yes ;; - - -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ - | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ - | --oldin | --oldi | --old | --ol | --o) - ac_prev=oldincludedir ;; - -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ - | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ - | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) - oldincludedir="$ac_optarg" ;; - - -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) - ac_prev=prefix ;; - -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) - prefix="$ac_optarg" ;; - - -program-prefix | --program-prefix | --program-prefi | --program-pref \ - | --program-pre | --program-pr | --program-p) - ac_prev=program_prefix ;; - -program-prefix=* | --program-prefix=* | --program-prefi=* \ - | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) - program_prefix="$ac_optarg" ;; - - -program-suffix | --program-suffix | --program-suffi | --program-suff \ - | --program-suf | --program-su | --program-s) - ac_prev=program_suffix ;; - -program-suffix=* | --program-suffix=* | --program-suffi=* \ - | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) - program_suffix="$ac_optarg" ;; - - -program-transform-name | --program-transform-name \ - | --program-transform-nam | --program-transform-na \ - | --program-transform-n | --program-transform- \ - | --program-transform | --program-transfor \ - | --program-transfo | --program-transf \ - | --program-trans | --program-tran \ - | --progr-tra | --program-tr | --program-t) - ac_prev=program_transform_name ;; - -program-transform-name=* | --program-transform-name=* \ - | --program-transform-nam=* | --program-transform-na=* \ - | --program-transform-n=* | --program-transform-=* \ - | --program-transform=* | --program-transfor=* \ - | --program-transfo=* | --program-transf=* \ - | --program-trans=* | --program-tran=* \ - | --progr-tra=* | --program-tr=* | --program-t=*) - program_transform_name="$ac_optarg" ;; - - -q | -quiet | --quiet | --quie | --qui | --qu | --q \ - | -silent | --silent | --silen | --sile | --sil) - silent=yes ;; - - -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) - ac_prev=sbindir ;; - -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ - | --sbi=* | --sb=*) - sbindir="$ac_optarg" ;; - - -sharedstatedir | --sharedstatedir | --sharedstatedi \ - | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ - | --sharedst | --shareds | --shared | --share | --shar \ - | --sha | --sh) - ac_prev=sharedstatedir ;; - -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ - | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ - | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ - | --sha=* | --sh=*) - sharedstatedir="$ac_optarg" ;; - - -site | --site | --sit) - ac_prev=site ;; - -site=* | --site=* | --sit=*) - site="$ac_optarg" ;; - - -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) - ac_prev=srcdir ;; - -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) - srcdir="$ac_optarg" ;; - - -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ - | --syscon | --sysco | --sysc | --sys | --sy) - ac_prev=sysconfdir ;; - -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ - | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) - sysconfdir="$ac_optarg" ;; - - -target | --target | --targe | --targ | --tar | --ta | --t) - ac_prev=target ;; - -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) - target="$ac_optarg" ;; - - -v | -verbose | --verbose | --verbos | --verbo | --verb) - verbose=yes ;; - - -version | --version | --versio | --versi | --vers) - echo "configure generated by autoconf version 2.12.1" - exit 0 ;; - - -with-* | --with-*) - ac_package=`echo $ac_option|sed -e 's/-*with-//' -e 's/=.*//'` - # Reject names that are not valid shell variable names. - if test -n "`echo $ac_package| sed 's/[-_a-zA-Z0-9]//g'`"; then - { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; } - fi - ac_package=`echo $ac_package| sed 's/-/_/g'` - case "$ac_option" in - *=*) ;; - *) ac_optarg=yes ;; - esac - eval "with_${ac_package}='$ac_optarg'" ;; - - -without-* | --without-*) - ac_package=`echo $ac_option|sed -e 's/-*without-//'` - # Reject names that are not valid shell variable names. - if test -n "`echo $ac_package| sed 's/[-a-zA-Z0-9_]//g'`"; then - { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; } - fi - ac_package=`echo $ac_package| sed 's/-/_/g'` - eval "with_${ac_package}=no" ;; - - --x) - # Obsolete; use --with-x. - with_x=yes ;; - - -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ - | --x-incl | --x-inc | --x-in | --x-i) - ac_prev=x_includes ;; - -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ - | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) - x_includes="$ac_optarg" ;; - - -x-libraries | --x-libraries | --x-librarie | --x-librari \ - | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) - ac_prev=x_libraries ;; - -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ - | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) - x_libraries="$ac_optarg" ;; - - -*) { echo "configure: error: $ac_option: invalid option; use --help to show usage" 1>&2; exit 1; } - ;; - - *) - if test -n "`echo $ac_option| sed 's/[-a-z0-9.]//g'`"; then - echo "configure: warning: $ac_option: invalid host type" 1>&2 - fi - if test "x$nonopt" != xNONE; then - { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; } - fi - nonopt="$ac_option" - ;; - - esac -done - -if test -n "$ac_prev"; then - { echo "configure: error: missing argument to --`echo $ac_prev | sed 's/_/-/g'`" 1>&2; exit 1; } -fi - -trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15 - -# File descriptor usage: -# 0 standard input -# 1 file creation -# 2 errors and warnings -# 3 some systems may open it to /dev/tty -# 4 used on the Kubota Titan -# 6 checking for... messages and results -# 5 compiler messages saved in config.log -if test "$silent" = yes; then - exec 6>/dev/null -else - exec 6>&1 -fi -exec 5>./config.log - -echo "\ -This file contains any messages produced by compilers while -running configure, to aid debugging if configure makes a mistake. -" 1>&5 - -# Strip out --no-create and --no-recursion so they do not pile up. -# Also quote any args containing shell metacharacters. -ac_configure_args= -for ac_arg -do - case "$ac_arg" in - -no-create | --no-create | --no-creat | --no-crea | --no-cre \ - | --no-cr | --no-c) ;; - -no-recursion | --no-recursion | --no-recursio | --no-recursi \ - | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) ;; - *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?]*) - ac_configure_args="$ac_configure_args '$ac_arg'" ;; - *) ac_configure_args="$ac_configure_args $ac_arg" ;; - esac -done - -# NLS nuisances. -# Only set these to C if already set. These must not be set unconditionally -# because not all systems understand e.g. LANG=C (notably SCO). -# Fixing LC_MESSAGES prevents Solaris sh from translating var values in `set'! -# Non-C LC_CTYPE values break the ctype check. -if test "${LANG+set}" = set; then LANG=C; export LANG; fi -if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi -if test "${LC_MESSAGES+set}" = set; then LC_MESSAGES=C; export LC_MESSAGES; fi -if test "${LC_CTYPE+set}" = set; then LC_CTYPE=C; export LC_CTYPE; fi - -# confdefs.h avoids OS command line length limits that DEFS can exceed. -rm -rf conftest* confdefs.h -# AIX cpp loses on an empty file, so make sure it contains at least a newline. -echo > confdefs.h - -# A filename unique to this package, relative to the directory that -# configure is in, which we can look for to find out if srcdir is correct. -ac_unique_file=chexp.exp - -# Find the source files, if location was not specified. -if test -z "$srcdir"; then - ac_srcdir_defaulted=yes - # Try the directory containing this script, then its parent. - ac_prog=$0 - ac_confdir=`echo $ac_prog|sed 's%/[^/][^/]*$%%'` - test "x$ac_confdir" = "x$ac_prog" && ac_confdir=. - srcdir=$ac_confdir - if test ! -r $srcdir/$ac_unique_file; then - srcdir=.. - fi -else - ac_srcdir_defaulted=no -fi -if test ! -r $srcdir/$ac_unique_file; then - if test "$ac_srcdir_defaulted" = yes; then - { echo "configure: error: can not find sources in $ac_confdir or .." 1>&2; exit 1; } - else - { echo "configure: error: can not find sources in $srcdir" 1>&2; exit 1; } - fi -fi -srcdir=`echo "${srcdir}" | sed 's%\([^/]\)/*$%\1%'` - -# Prefer explicitly selected file to automatically selected ones. -if test -z "$CONFIG_SITE"; then - if test "x$prefix" != xNONE; then - CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site" - else - CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site" - fi -fi -for ac_site_file in $CONFIG_SITE; do - if test -r "$ac_site_file"; then - echo "loading site script $ac_site_file" - . "$ac_site_file" - fi -done - -if test -r "$cache_file"; then - echo "loading cache $cache_file" - . $cache_file -else - echo "creating cache $cache_file" - > $cache_file -fi - -ac_ext=c -# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. -ac_cpp='$CPP $CPPFLAGS' -ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5' -ac_link='${CC-cc} -o conftest $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5' -cross_compiling=$ac_cv_prog_cc_cross - -if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then - # Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu. - if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then - ac_n= ac_c=' -' ac_t=' ' - else - ac_n=-n ac_c= ac_t= - fi -else - ac_n= ac_c='\c' ac_t= -fi - - - -CC=${CC-cc} - -ac_aux_dir= -for ac_dir in `cd $srcdir;pwd`/../../.. $srcdir/`cd $srcdir;pwd`/../../..; do - if test -f $ac_dir/install-sh; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/install-sh -c" - break - elif test -f $ac_dir/install.sh; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/install.sh -c" - break - fi -done -if test -z "$ac_aux_dir"; then - { echo "configure: error: can not find install-sh or install.sh in `cd $srcdir;pwd`/../../.. $srcdir/`cd $srcdir;pwd`/../../.." 1>&2; exit 1; } -fi -ac_config_guess=$ac_aux_dir/config.guess -ac_config_sub=$ac_aux_dir/config.sub -ac_configure=$ac_aux_dir/configure # This should be Cygnus configure. - - -# Do some error checking and defaulting for the host and target type. -# The inputs are: -# configure --host=HOST --target=TARGET --build=BUILD NONOPT -# -# The rules are: -# 1. You are not allowed to specify --host, --target, and nonopt at the -# same time. -# 2. Host defaults to nonopt. -# 3. If nonopt is not specified, then host defaults to the current host, -# as determined by config.guess. -# 4. Target and build default to nonopt. -# 5. If nonopt is not specified, then target and build default to host. - -# The aliases save the names the user supplied, while $host etc. -# will get canonicalized. -case $host---$target---$nonopt in -NONE---*---* | *---NONE---* | *---*---NONE) ;; -*) { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; } ;; -esac - - -# Make sure we can run config.sub. -if ${CONFIG_SHELL-/bin/sh} $ac_config_sub sun4 >/dev/null 2>&1; then : -else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; } -fi - -echo $ac_n "checking host system type""... $ac_c" 1>&6 -echo "configure:573: checking host system type" >&5 - -host_alias=$host -case "$host_alias" in -NONE) - case $nonopt in - NONE) - if host_alias=`${CONFIG_SHELL-/bin/sh} $ac_config_guess`; then : - else { echo "configure: error: can not guess host type; you must specify one" 1>&2; exit 1; } - fi ;; - *) host_alias=$nonopt ;; - esac ;; -esac - -host=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $host_alias` -host_cpu=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` -host_vendor=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` -host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` -echo "$ac_t""$host" 1>&6 - -echo $ac_n "checking target system type""... $ac_c" 1>&6 -echo "configure:594: checking target system type" >&5 - -target_alias=$target -case "$target_alias" in -NONE) - case $nonopt in - NONE) target_alias=$host_alias ;; - *) target_alias=$nonopt ;; - esac ;; -esac - -target=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $target_alias` -target_cpu=`echo $target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` -target_vendor=`echo $target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` -target_os=`echo $target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` -echo "$ac_t""$target" 1>&6 - -echo $ac_n "checking build system type""... $ac_c" 1>&6 -echo "configure:612: checking build system type" >&5 - -build_alias=$build -case "$build_alias" in -NONE) - case $nonopt in - NONE) build_alias=$host_alias ;; - *) build_alias=$nonopt ;; - esac ;; -esac - -build=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $build_alias` -build_cpu=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` -build_vendor=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` -build_os=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` -echo "$ac_t""$build" 1>&6 - -test "$host_alias" != "$target_alias" && - test "$program_prefix$program_suffix$program_transform_name" = \ - NONENONEs,x,x, && - program_prefix=${target_alias}- - - -trap '' 1 2 15 -cat > confcache <<\EOF -# This file is a shell script that caches the results of configure -# tests run on this system so they can be shared between configure -# scripts and configure runs. It is not useful on other systems. -# If it contains results you don't want to keep, you may remove or edit it. -# -# By default, configure uses ./config.cache as the cache file, -# creating it if it does not exist already. You can give configure -# the --cache-file=FILE option to use a different cache file; that is -# what configure does when it calls configure scripts in -# subdirectories, so they share the cache. -# Giving --cache-file=/dev/null disables caching, for debugging configure. -# config.status only pays attention to the cache file if you give it the -# --recheck option to rerun configure. -# -EOF -# The following way of writing the cache mishandles newlines in values, -# but we know of no workaround that is simple, portable, and efficient. -# So, don't put newlines in cache variables' values. -# Ultrix sh set writes to stderr and can't be redirected directly, -# and sets the high bit in the cache file unless we assign to the vars. -(set) 2>&1 | - case `(ac_space=' '; set) 2>&1 | grep ac_space` in - *ac_space=\ *) - # `set' does not quote correctly, so add quotes (double-quote substitution - # turns \\\\ into \\, and sed turns \\ into \). - sed -n \ - -e "s/'/'\\\\''/g" \ - -e "s/^\\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\\)=\\(.*\\)/\\1=\${\\1='\\2'}/p" - ;; - *) - # `set' quotes correctly as required by POSIX, so do not add quotes. - sed -n -e 's/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=${\1=\2}/p' - ;; - esac >> confcache -if cmp -s $cache_file confcache; then - : -else - if test -w $cache_file; then - echo "updating cache $cache_file" - cat confcache > $cache_file - else - echo "not updating unwritable cache $cache_file" - fi -fi -rm -f confcache - -trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15 - -test "x$prefix" = xNONE && prefix=$ac_default_prefix -# Let make expand exec_prefix. -test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' - -# Any assignment to VPATH causes Sun make to only execute -# the first set of double-colon rules, so remove it if not needed. -# If there is a colon in the path, we need to keep it. -if test "x$srcdir" = x.; then - ac_vpsub='/^[ ]*VPATH[ ]*=[^:]*$/d' -fi - -trap 'rm -f $CONFIG_STATUS conftest*; exit 1' 1 2 15 - -# Transform confdefs.h into DEFS. -# Protect against shell expansion while executing Makefile rules. -# Protect against Makefile macro expansion. -cat > conftest.defs <<\EOF -s%#define \([A-Za-z_][A-Za-z0-9_]*\) *\(.*\)%-D\1=\2%g -s%[ `~#$^&*(){}\\|;'"<>?]%\\&%g -s%\[%\\&%g -s%\]%\\&%g -s%\$%$$%g -EOF -DEFS=`sed -f conftest.defs confdefs.h | tr '\012' ' '` -rm -f conftest.defs - - -# Without the "./", some shells look in PATH for config.status. -: ${CONFIG_STATUS=./config.status} - -echo creating $CONFIG_STATUS -rm -f $CONFIG_STATUS -cat > $CONFIG_STATUS <<EOF -#! /bin/sh -# Generated automatically by configure. -# Run this file to recreate the current configuration. -# This directory was configured as follows, -# on host `(hostname || uname -n) 2>/dev/null | sed 1q`: -# -# $0 $ac_configure_args -# -# Compiler output produced by configure, useful for debugging -# configure, is in ./config.log if it exists. - -ac_cs_usage="Usage: $CONFIG_STATUS [--recheck] [--version] [--help]" -for ac_option -do - case "\$ac_option" in - -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) - echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion" - exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;; - -version | --version | --versio | --versi | --vers | --ver | --ve | --v) - echo "$CONFIG_STATUS generated by autoconf version 2.12.1" - exit 0 ;; - -help | --help | --hel | --he | --h) - echo "\$ac_cs_usage"; exit 0 ;; - *) echo "\$ac_cs_usage"; exit 1 ;; - esac -done - -ac_given_srcdir=$srcdir - -trap 'rm -fr `echo "Makefile" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15 -EOF -cat >> $CONFIG_STATUS <<EOF - -# Protect against being on the right side of a sed subst in config.status. -sed 's/%@/@@/; s/@%/@@/; s/%g\$/@g/; /@g\$/s/[\\\\&%]/\\\\&/g; - s/@@/%@/; s/@@/@%/; s/@g\$/%g/' > conftest.subs <<\\CEOF -$ac_vpsub -$extrasub -s%@SHELL@%$SHELL%g -s%@CFLAGS@%$CFLAGS%g -s%@CPPFLAGS@%$CPPFLAGS%g -s%@CXXFLAGS@%$CXXFLAGS%g -s%@DEFS@%$DEFS%g -s%@LDFLAGS@%$LDFLAGS%g -s%@LIBS@%$LIBS%g -s%@exec_prefix@%$exec_prefix%g -s%@prefix@%$prefix%g -s%@program_transform_name@%$program_transform_name%g -s%@bindir@%$bindir%g -s%@sbindir@%$sbindir%g -s%@libexecdir@%$libexecdir%g -s%@datadir@%$datadir%g -s%@sysconfdir@%$sysconfdir%g -s%@sharedstatedir@%$sharedstatedir%g -s%@localstatedir@%$localstatedir%g -s%@libdir@%$libdir%g -s%@includedir@%$includedir%g -s%@oldincludedir@%$oldincludedir%g -s%@infodir@%$infodir%g -s%@mandir@%$mandir%g -s%@CC@%$CC%g -s%@host@%$host%g -s%@host_alias@%$host_alias%g -s%@host_cpu@%$host_cpu%g -s%@host_vendor@%$host_vendor%g -s%@host_os@%$host_os%g -s%@target@%$target%g -s%@target_alias@%$target_alias%g -s%@target_cpu@%$target_cpu%g -s%@target_vendor@%$target_vendor%g -s%@target_os@%$target_os%g -s%@build@%$build%g -s%@build_alias@%$build_alias%g -s%@build_cpu@%$build_cpu%g -s%@build_vendor@%$build_vendor%g -s%@build_os@%$build_os%g - -CEOF -EOF - -cat >> $CONFIG_STATUS <<\EOF - -# Split the substitutions into bite-sized pieces for seds with -# small command number limits, like on Digital OSF/1 and HP-UX. -ac_max_sed_cmds=90 # Maximum number of lines to put in a sed script. -ac_file=1 # Number of current file. -ac_beg=1 # First line for current file. -ac_end=$ac_max_sed_cmds # Line after last line for current file. -ac_more_lines=: -ac_sed_cmds="" -while $ac_more_lines; do - if test $ac_beg -gt 1; then - sed "1,${ac_beg}d; ${ac_end}q" conftest.subs > conftest.s$ac_file - else - sed "${ac_end}q" conftest.subs > conftest.s$ac_file - fi - if test ! -s conftest.s$ac_file; then - ac_more_lines=false - rm -f conftest.s$ac_file - else - if test -z "$ac_sed_cmds"; then - ac_sed_cmds="sed -f conftest.s$ac_file" - else - ac_sed_cmds="$ac_sed_cmds | sed -f conftest.s$ac_file" - fi - ac_file=`expr $ac_file + 1` - ac_beg=$ac_end - ac_end=`expr $ac_end + $ac_max_sed_cmds` - fi -done -if test -z "$ac_sed_cmds"; then - ac_sed_cmds=cat -fi -EOF - -cat >> $CONFIG_STATUS <<EOF - -CONFIG_FILES=\${CONFIG_FILES-"Makefile"} -EOF -cat >> $CONFIG_STATUS <<\EOF -for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then - # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in". - case "$ac_file" in - *:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'` - ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;; - *) ac_file_in="${ac_file}.in" ;; - esac - - # Adjust a relative srcdir, top_srcdir, and INSTALL for subdirectories. - - # Remove last slash and all that follows it. Not all systems have dirname. - ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'` - if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then - # The file is in a subdirectory. - test ! -d "$ac_dir" && mkdir "$ac_dir" - ac_dir_suffix="/`echo $ac_dir|sed 's%^\./%%'`" - # A "../" for each directory in $ac_dir_suffix. - ac_dots=`echo $ac_dir_suffix|sed 's%/[^/]*%../%g'` - else - ac_dir_suffix= ac_dots= - fi - - case "$ac_given_srcdir" in - .) srcdir=. - if test -z "$ac_dots"; then top_srcdir=. - else top_srcdir=`echo $ac_dots|sed 's%/$%%'`; fi ;; - /*) srcdir="$ac_given_srcdir$ac_dir_suffix"; top_srcdir="$ac_given_srcdir" ;; - *) # Relative path. - srcdir="$ac_dots$ac_given_srcdir$ac_dir_suffix" - top_srcdir="$ac_dots$ac_given_srcdir" ;; - esac - - - echo creating "$ac_file" - rm -f "$ac_file" - configure_input="Generated automatically from `echo $ac_file_in|sed 's%.*/%%'` by configure." - case "$ac_file" in - *Makefile*) ac_comsub="1i\\ -# $configure_input" ;; - *) ac_comsub= ;; - esac - - ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"` - sed -e "$ac_comsub -s%@configure_input@%$configure_input%g -s%@srcdir@%$srcdir%g -s%@top_srcdir@%$top_srcdir%g -" $ac_file_inputs | (eval "$ac_sed_cmds") > $ac_file -fi; done -rm -f conftest.s* - -EOF -cat >> $CONFIG_STATUS <<EOF - -EOF -cat >> $CONFIG_STATUS <<\EOF - -exit 0 -EOF -chmod +x $CONFIG_STATUS -rm -fr confdefs* $ac_clean_files -test "$no_create" = yes || ${CONFIG_SHELL-/bin/sh} $CONFIG_STATUS || exit 1 - diff --git a/gdb/testsuite/gdb.chill/configure.in b/gdb/testsuite/gdb.chill/configure.in deleted file mode 100644 index 3eed026de42..00000000000 --- a/gdb/testsuite/gdb.chill/configure.in +++ /dev/null @@ -1,11 +0,0 @@ -dnl Process this file file with autoconf to produce a configure script. - -AC_PREREQ(2.5) -AC_INIT(chexp.exp) - -CC=${CC-cc} -AC_SUBST(CC) -AC_CONFIG_AUX_DIR(`cd $srcdir;pwd`/../../..) -AC_CANONICAL_SYSTEM - -AC_OUTPUT(Makefile) diff --git a/gdb/testsuite/gdb.chill/enum.ch b/gdb/testsuite/gdb.chill/enum.ch deleted file mode 100644 index 971fc9421a5..00000000000 --- a/gdb/testsuite/gdb.chill/enum.ch +++ /dev/null @@ -1,9 +0,0 @@ -hugo: module - - synmode m_set = set (a, b, c, d, e, f, g, h, i); - dcl x long; - dcl y m_set; - - writetext (stdout, "done.%/"); - -end hugo; diff --git a/gdb/testsuite/gdb.chill/enum.exp b/gdb/testsuite/gdb.chill/enum.exp deleted file mode 100644 index 74fee35bcd9..00000000000 --- a/gdb/testsuite/gdb.chill/enum.exp +++ /dev/null @@ -1,85 +0,0 @@ -# Copyright (C) 1995, 1997 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - -# Please email any bugs, comments, and/or additions to this file to: -# bug-gdb@prep.ai.mit.edu - -# This file was written by Wilfried Moser (moser@aut.alcatel.at -# - -if $tracelevel then { - strace $tracelevel -} - -if [skip_chill_tests] then { continue } - -set testfile "enum" -set srcfile ${srcdir}/$subdir/${testfile}.ch -set binfile ${objdir}/${subdir}/${testfile}.exe -if { [compile "${srcfile} -g -o ${binfile} ${CHILL_RT0} ${CHILL_LIB}"] != "" } { - perror "Couldn't compile ${srcfile}" - return -1 -} - -# Set the current language to chill. This counts as a test. If it -# fails, then we skip the other tests. - -proc set_lang_chill {} { - global gdb_prompt - global binfile objdir subdir - - verbose "loading file '$binfile'" - gdb_load $binfile - - send_gdb "set language chill\n" - gdb_expect { - -re ".*$gdb_prompt $" {} - timeout { fail "set language chill (timeout)" ; return 0 } - } - - return [gdb_test "show language" ".* source language is \"chill\".*" \ - "set language to \"chill\""] -} - -set prms_id 0 -set bug_id 0 - -# Start with a fresh gdb. - -gdb_exit -gdb_start -gdb_reinitialize_dir $srcdir/$subdir - -gdb_test "set print sevenbit-strings" ".*" - -if ![set_lang_chill] then { - runto hugo_ - - send_gdb "set var \$i := d\n" - gdb_expect -re ".*$gdb_prompt $" - gdb_test "print \$i" { = d} - gdb_test "print size (\$i)" { = 1} - gdb_test "print b+c" { = 3} - gdb_test "print c*d" { = 6} - gdb_test "print a<b" { = TRUE} - gdb_test "print a=b" { = FALSE} - gdb_test "print a=a" { = TRUE} - gdb_test "print a/=\$i" { = TRUE} - -# This is PR 8870 - gdb_test "break malloc" ".*" - gdb_test {set var $j := m_set[b]} ".*invalid.*tuple.*" -} diff --git a/gdb/testsuite/gdb.chill/extstruct-grt.ch b/gdb/testsuite/gdb.chill/extstruct-grt.ch deleted file mode 100644 index abd0d5ee3e4..00000000000 --- a/gdb/testsuite/gdb.chill/extstruct-grt.ch +++ /dev/null @@ -1,12 +0,0 @@ -pot1: MODULE - -SYNMODE m_array1 = ARRAY (2:3) ulong; -SYNMODE m_struct = STRUCT (f1 int, - f2 REF m_array1, - f3 m_array1); -SYNMODE m_array3 = ARRAY (5:6) m_struct; -SYNMODE m_array4 = ARRAY (7:8) ARRAY (9:10) m_struct; - -GRANT all; - -END pot1; diff --git a/gdb/testsuite/gdb.chill/extstruct.ch b/gdb/testsuite/gdb.chill/extstruct.ch deleted file mode 100644 index 649f60948ed..00000000000 --- a/gdb/testsuite/gdb.chill/extstruct.ch +++ /dev/null @@ -1,16 +0,0 @@ -pottendo: MODULE - -<> USE_SEIZE_FILE "extstruct-grt.grt" <> -SEIZE m_array3; -SEIZE m_array4; - -SYNMODE m_x = STRUCT (i long, - ar m_array3); -SYNMODE m_y = STRUCT (i long, - ar m_array4); - -DCL x LONG; - -x := 10; - -END pottendo; diff --git a/gdb/testsuite/gdb.chill/extstruct.exp b/gdb/testsuite/gdb.chill/extstruct.exp deleted file mode 100644 index 39d61cbe873..00000000000 --- a/gdb/testsuite/gdb.chill/extstruct.exp +++ /dev/null @@ -1,66 +0,0 @@ -# Copyright (C) 1992, 1994, 1997 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - -# Please email any bugs, comments, and/or additions to this file to: -# bug-gdb@prep.ai.mit.edu - -# This file was written by Per Bothner. (bothner@cygnus.com) - -if $tracelevel then { - strace $tracelevel -} - -if [skip_chill_tests] then { continue } - -set testfile2 "extstruct-grt" -set srcfile2 ${srcdir}/$subdir/${testfile2}.ch -set objfile2 ${objdir}/$subdir/${testfile2}.o -if { [compile "${srcfile2} -g -c -o ${objfile2}"] != "" } { - perror "Couldn't compile ${srcfile2}" - return -1 -} - -set testfile "extstruct" -set srcfile ${srcdir}/$subdir/${testfile}.ch -set binfile ${objdir}/${subdir}/${testfile}.exe -if { [compile "${srcfile} -g ${objfile2} -o ${binfile} ${CHILL_RT0} ${CHILL_LIB}"] != "" } { - perror "Couldn't compile ${srcfile}" - return -1 -} - -proc do_tests {} { - global prms_id bug_id subdir objdir srcdir binfile gdb_prompt - - set prms_id 0 - set bug_id 0 - - # Start with a fresh gdb. - - gdb_exit - gdb_start - gdb_reinitialize_dir $srcdir/$subdir - gdb_load $binfile - - gdb_test "set language chill" "" - - gdb_test "set var \$i := m_x\[\]" "" - gdb_test "print \$i" { = \[.i: 0, .ar: \[\(5:6\): \[.f1: 0, .f2: NULL, .f3: \[\(2:3\): 0\]\]\]\]} - - gdb_test "set var \$j := m_y\[\]" "" - gdb_test "print \$j" { = \[.i: 0, .ar: \[\(7:8\): \[\(9:10\): \[.f1: 0, .f2: NULL, .f3: \[\(2:3\): 0\]\]\]\]\]} -} - -do_tests diff --git a/gdb/testsuite/gdb.chill/func1.ch b/gdb/testsuite/gdb.chill/func1.ch deleted file mode 100644 index d0d28ce9fae..00000000000 --- a/gdb/testsuite/gdb.chill/func1.ch +++ /dev/null @@ -1,9 +0,0 @@ -func1: MODULE - -SYNMODE m_set = SET (e1, e2, e3, e4, e5, e6, e7, e8, e9, e10); -SYNMODE m_setrange = RANGE (e3:e8); -SYNMODE m_ps = POWERSET m_set; -SYNMODE m_rangeps = POWERSET RANGE(0:31); -GRANT ALL; - -END func1; diff --git a/gdb/testsuite/gdb.chill/gch1041.ch b/gdb/testsuite/gdb.chill/gch1041.ch deleted file mode 100644 index a9ce80b75ed..00000000000 --- a/gdb/testsuite/gdb.chill/gch1041.ch +++ /dev/null @@ -1,17 +0,0 @@ -arr: MODULE - -SYNMODE m_chars = CHARS(30) VARYING; -SYNMODE m_s = STRUCT (l LONG, c m_chars, b BOOL); - -DCL a1 ARRAY (1:1000) LONG INIT := [(5:100): 33, (1:4): 44, (ELSE): 55 ]; -DCL a2 ARRAY (1:10) m_s INIT := [(*): [ 22, "mowi", TRUE ] ]; -DCL a3 ARRAY (CHAR) CHAR INIT := [(*): 'X']; - -SYNMODE m_set = SET (e1, e2, e3, e4, e5, e6, e7, e9, e10); -DCL a4 ARRAY (m_set) BOOL INIT := [(*): TRUE]; - -a1 := [(5:100): 33, (1:4): 44, (ELSE): 55 ]; -a1 := [ (*): 22 ]; -a2 := [(*): [ 22, "mowi", TRUE ] ]; - -END arr; diff --git a/gdb/testsuite/gdb.chill/gch1041.exp b/gdb/testsuite/gdb.chill/gch1041.exp deleted file mode 100644 index 1cec0f9d883..00000000000 --- a/gdb/testsuite/gdb.chill/gch1041.exp +++ /dev/null @@ -1,76 +0,0 @@ -# Copyright (C) 1995, 1997 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - -# Please email any bugs, comments, and/or additions to this file to: -# bug-gdb@prep.ai.mit.edu - -# This file was written by Fred Fish. (fnf@cygnus.com) -# Martin Pottendorfer (pottendo@aut.alcatel.at) -# - -if $tracelevel then { - strace $tracelevel -} - -if [skip_chill_tests] then { continue } - -set testfile "gch1041" -set srcfile ${srcdir}/$subdir/${testfile}.ch -set binfile ${objdir}/${subdir}/${testfile}.exe -if { [compile "${srcfile} -g -o ${binfile} ${CHILL_RT0} ${CHILL_LIB}"] != "" } { - perror "Couldn't compile ${srcfile}" - return -1 -} - -# Set the current language to chill. This counts as a test. If it -# fails, then we skip the other tests. - -proc set_lang_chill {} { - global gdb_prompt - global binfile objdir subdir - - verbose "loading file '$binfile'" - gdb_load $binfile - - send_gdb "set language chill\n" - gdb_expect { - -re ".*$gdb_prompt $" {} - timeout { fail "set language chill (timeout)" ; return 0 } - } - - return [gdb_test "show language" ".* source language is \"chill\".*" \ - "set language to \"chill\""] -} - -set prms_id 0 -set bug_id 0 - -# Start with a fresh gdb. - -gdb_exit -gdb_start -gdb_reinitialize_dir $srcdir/$subdir - -gdb_test "set print sevenbit-strings" ".*" - -if ![set_lang_chill] then { - runto arr_ - # check if array slices print correct index - gdb_test {print a1(10:30)} { = \[\(10:30\): 33\]} - gdb_test {print a2(3:5)} { = \[\(3:5\): \[.l: 22, .c: "mowi", .b: TRUE\]\]} - gdb_test {print a3('a':'c')} { = \[\('a':'c'\): 'X'\]} - gdb_test {print a4(e2:e5)} { = \[\(e2:e5\): TRUE\]} -} diff --git a/gdb/testsuite/gdb.chill/gch1272.ch b/gdb/testsuite/gdb.chill/gch1272.ch deleted file mode 100644 index 6112d4ba60a..00000000000 --- a/gdb/testsuite/gdb.chill/gch1272.ch +++ /dev/null @@ -1,21 +0,0 @@ -gch1272: MODULE - -SYNMODE m_array = ARRAY (0:99) INT; -DCL foo m_array; - -SYNMODE m_xxx = ARRAY (1:10) LONG; - -SYNMODE m_struct = STRUCT (i LONG, b BOOL); -SYNMODE m_bar = ARRAY (-10:20) m_struct; -DCL bar m_bar; - -SYNMODE m_ps = POWERSET LONG (0:20); - -brrr: PROC () -END; - -foo := [ (*): 222 ]; - -brrr (); - -END gch1272; diff --git a/gdb/testsuite/gdb.chill/gch1272.exp b/gdb/testsuite/gdb.chill/gch1272.exp deleted file mode 100644 index db60715462d..00000000000 --- a/gdb/testsuite/gdb.chill/gch1272.exp +++ /dev/null @@ -1,86 +0,0 @@ -# Copyright (C) 1995, 1997 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - -# Please email any bugs, comments, and/or additions to this file to: -# bug-gdb@prep.ai.mit.edu - -# This file was written by Wilfried Moser (moser@aut.alcatel.at) -# - -if $tracelevel then { - strace $tracelevel -} - -if [skip_chill_tests] then { continue } - -set testfile "gch1272" -set srcfile ${srcdir}/$subdir/${testfile}.ch -set binfile ${objdir}/${subdir}/${testfile}.exe -if { [compile "${srcfile} -g -o ${binfile} ${CHILL_RT0} ${CHILL_LIB}"] != "" } { - perror "Couldn't compile ${srcfile}" - return -1 -} - -# Set the current language to chill. This counts as a test. If it -# fails, then we skip the other tests. - -proc set_lang_chill {} { - global gdb_prompt - global binfile objdir subdir - - verbose "loading file '$binfile'" - gdb_load $binfile - - send_gdb "set language chill\n" - gdb_expect { - -re ".*$gdb_prompt $" {} - timeout { fail "set language chill (timeout)" ; return 0 } - } - - return [gdb_test "show language" ".* source language is \"chill\".*" \ - "set language to \"chill\""] -} - -set prms_id 0 -set bug_id 0 - -# Start with a fresh gdb. - -gdb_exit -gdb_start -gdb_reinitialize_dir $srcdir/$subdir - -gdb_test "set print sevenbit-strings" ".*" - -if ![set_lang_chill] then { - runto brrr - - # check foo - gdb_test {print foo} { = \[\(0:99\): 222\]} - gdb_test "set var foo := m_array\[\(\*\):44\]" ".*" - gdb_test {print foo} { = \[\(0:99\): 44\]} - - # check bar - gdb_test {print bar} { = \[\(-10:20\): \[.i: 0, .b: FALSE\]\]} - gdb_test "set var bar := m_bar\[\(\*\): \[42, TRUE\]\]" ".*" - gdb_test {print bar} { = \[\(-10:20\): \[.i: 42, .b: TRUE\]\]} - - # some failues - gdb_test "set var foo := \[\(\*\):44\]" {\(\*\) only possible with modename in front of tuple \(mode\[\.\.\]\)} - gdb_test "set var foo := m_xxx\[\(\*\):44\]" {Invalid cast\.} - gdb_test "set var foo := m_struct\[\(\*\):44\]" {\(\*\) in invalid context} - gdb_test "set var foo := m_ps\[\(\*\):44\]" {\(\*\) in invalid context} -} diff --git a/gdb/testsuite/gdb.chill/gch1280.ch b/gdb/testsuite/gdb.chill/gch1280.ch deleted file mode 100644 index 3fba71f9111..00000000000 --- a/gdb/testsuite/gdb.chill/gch1280.ch +++ /dev/null @@ -1,13 +0,0 @@ -gch1280: MODULE - -SYNMODE m_x = ARRAY (1:3) LONG; -DCL v_x m_x; -DCL v_xx m_x; - -doit: PROC () -END doit; - -v_x := [ 11, 12, 13 ]; -doit (); - -END gch1280; diff --git a/gdb/testsuite/gdb.chill/gch1280.exp b/gdb/testsuite/gdb.chill/gch1280.exp deleted file mode 100644 index 216625d3931..00000000000 --- a/gdb/testsuite/gdb.chill/gch1280.exp +++ /dev/null @@ -1,76 +0,0 @@ -# Copyright (C) 1995, 1997 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - -# Please email any bugs, comments, and/or additions to this file to: -# bug-gdb@prep.ai.mit.edu - -# This file was written by Wilfried Moser (moser@aut.alcatel.at) -# - -if $tracelevel then { - strace $tracelevel -} - -if [skip_chill_tests] then { continue } - -set testfile "gch1280" -set srcfile ${srcdir}/$subdir/${testfile}.ch -set binfile ${objdir}/${subdir}/${testfile}.exe -if { [compile "${srcfile} -g -o ${binfile} ${CHILL_RT0} ${CHILL_LIB}"] != "" } { - perror "Couldn't compile ${srcfile}" - return -1 -} - -# Set the current language to chill. This counts as a test. If it -# fails, then we skip the other tests. - -proc set_lang_chill {} { - global gdb_prompt - global binfile objdir subdir - - verbose "loading file '$binfile'" - gdb_load $binfile - - send_gdb "set language chill\n" - gdb_expect { - -re ".*$gdb_prompt $" {} - timeout { fail "set language chill (timeout)" ; return 0 } - } - - return [gdb_test "show language" ".* source language is \"chill\".*" \ - "set language to \"chill\""] -} - -set prms_id 0 -set bug_id 0 - -# Start with a fresh gdb. - -gdb_exit -gdb_start -gdb_reinitialize_dir $srcdir/$subdir - -gdb_test "set print sevenbit-strings" ".*" - -if ![set_lang_chill] then { - runto doit - gdb_test "next" "" - # check too many array elements - gdb_test {set var v_x := [1,2,3,4,5]} {Too many array elements} - gdb_test {set var $i := m_x[(3): 22, 25]} {Too many array elements} - gdb_test "set var \$i := m_x\[\(2\): 22, 25\]" "" - gdb_test {print $i} { = \[\(1\): 0, \(2\): 22, \(3\): 25\]} -} diff --git a/gdb/testsuite/gdb.chill/gch922.ch b/gdb/testsuite/gdb.chill/gch922.ch deleted file mode 100644 index b3e8a239512..00000000000 --- a/gdb/testsuite/gdb.chill/gch922.ch +++ /dev/null @@ -1,23 +0,0 @@ -xx : module - -dcl a chars(200) varying init := (70)'^(0)' // "Jason""^(0,5)""Hugo^(10)" // (70)'^(1)'; -dcl b chars(20) varying init := "Jason""^(0,5)""Hugo^(10)"; -dcl c chars(256) varying init := (70)'a' // "^(0,5)Jason" // (70)'b'; -dcl d char init := '^(11)'; - -bulk: PROC (); -END bulk; - -a := (50) '^(255,0,222,127)'; -b := (1)'^(200)'; -d := 'a'; - -c:= (256)" "; - -DO FOR i:= 0 BY 1 TO 255; - c (255-i) := char (i); -OD; - -bulk (); - -end xx;
\ No newline at end of file diff --git a/gdb/testsuite/gdb.chill/gch922.exp b/gdb/testsuite/gdb.chill/gch922.exp deleted file mode 100644 index c0fb6dc7fb3..00000000000 --- a/gdb/testsuite/gdb.chill/gch922.exp +++ /dev/null @@ -1,183 +0,0 @@ -# Copyright (C) 1995, 1997 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - -# Please email any bugs, comments, and/or additions to this file to: -# bug-gdb@prep.ai.mit.edu - -# This file tests various Chill values, expressions, and types. - -# This file was written by Wilfried Moser (moser@aut.alcatel.at) -# Kurt Fuchs (fuchs_k@aut.alcatel.at) -# - -if $tracelevel then { - strace $tracelevel -} - -if [skip_chill_tests] then { continue } - -set testfile "gch922" -set srcfile ${srcdir}/$subdir/${testfile}.ch -set binfile ${objdir}/${subdir}/${testfile}.exe -if { [compile "${srcfile} -g -w -o ${binfile} ${CHILL_RT0} ${CHILL_LIB}"] != "" } { - perror "Couldn't compile ${srcfile}" - return -1 -} - -# Set the current language to chill. This counts as a test. If it -# fails, then we skip the other tests. - -proc set_lang_chill {} { - global gdb_prompt - global binfile objdir subdir - - verbose "loading file '$binfile'" - gdb_load $binfile - send_gdb "set language chill\n" - gdb_expect { - -re ".*$gdb_prompt $" {} - timeout { fail "set language chill (timeout)" ; return 0 } - } - - send_gdb "show language\n" - gdb_expect { - -re ".* source language is \"chill\".*$gdb_prompt $" { - pass "set language to \"chill\"" - send_gdb "break xx_\n" - gdb_expect { - -re ".*$gdb_prompt $" { - send_gdb "run\n" - gdb_expect -re ".*$gdb_prompt $" {} - return 1 - } - timeout { - fail "can't set breakpoint (timeout)" - return 0 - } - } - } - -re ".*$gdb_prompt $" { - fail "setting language to \"chill\"" - return 0 - } - timeout { - fail "can't show language (timeout)" - return 0 - } - } -} - -# Testing printing of a specific value. Increment passcount for -# success or issue fail message for failure. In both cases, return -# a 1 to indicate that more tests can proceed. However a timeout -# is a serious error, generates a special fail message, and causes -# a 0 to be returned to indicate that more tests are likely to fail -# as well. -# -# Args are: -# -# First one is string to send_gdb to gdb -# Second one is string to match gdb result to -# Third one is an optional message to be printed - -proc test_print_accept { args } { - global gdb_prompt - global passcount - global verbose - - if [llength $args]==3 then { - set message [lindex $args 2] - } else { - set message [lindex $args 0] - } - set sendthis [lindex $args 0] - set expectthis [lindex $args 1] - set result [gdb_test $sendthis ".* = ${expectthis}" $message] - if $result==0 {incr passcount} - return $result -} - - -proc test_chars {} { - global passcount gdb_prompt - - verbose "Testing Chars" - set passcount 0 - - test_print_accept "print a" {'\^\(0\)'<repeats 70 times>//"Jason""\^\(0,5\)""Hugo\^\(10\)"//'\^\(1\)'<repeats 70 times>} - test_print_accept "print b" {"Jason""\^\(0,5\)""Hugo\^\(10\)"} - test_print_accept "print c" {'a'<repeats 70 times>//"\^\(0,5\)Jason"//'b'<repeats 70 times>} - test_print_accept "print d" {'\^\(11\)'} - - gdb_test "set var a := (100)'\^(0,255)'" "" - test_print_accept "print a" {"\^\(0,255,0,255,0,255,0,255,0,255,0,255,0,255,0,255,0,255,0,255,0,255,0,255,0,255,0,255,0,255,0,255,0,255,0,255,0,255,0,255,0,255,0,255,0,255,0,255,0,255,0,255,0,255,0,255,0,255,0,255,0,255,0,255,0,255,0,255,0,255,0,255,0,255,0,255,0,255,0,255,0,255,0,255,0,255,0,255,0,255,0,255,0,255,0,255,0,255,0,255,0,255,0,255,0,255,0,255,0,255,0,255,0,255,0,255,0,255,0,255,0,255,0,255,0,255,0,255,0,255,0,255,0,255,0,255,0,255,0,255,0,255,0,255,0,255,0,255,0,255,0,255,0,255,0,255,0,255,0,255,0,255,0,255,0,255,0,255,0,255,0,255,0,255,0,255,0,255,0,255,0,255,0,255,0,255,0,255,0,255,0,255,0,255,0,255,0,255,0,255\)"} - - send_gdb "set var a := (10)'\^(1)'//(26)\"\^(66,67)\"//\" \"//'I'//' '//'a'//'m'//\" Hugo\" \n" ; gdb_expect -re "$gdb_prompt $" - test_print_accept "print a" {"\^\(1,1,1,1,1,1,1,1,1,1\)BCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBC I am Hugo"} - send_gdb "set var b := \"Hugo \"\"\^(3,4)\"\"Otto\^(17)\" \n" ; gdb_expect -re "$gdb_prompt $" - test_print_accept "print b" {"Hugo ""\^\(3,4\)""Otto\^\(17\)"} - send_gdb "set var c := (70)'b' // \"\^(2,3)Hugo \" // (70)'c' \n" ; gdb_expect -re "$gdb_prompt $" - test_print_accept "print c" {'b'<repeats 70 times>//"\^\(2,3\)Hugo "//'c'<repeats 70 times>} - gdb_test "set var d := '\^(199)'" "" - test_print_accept "print d" {'\^\(199\)'} - - test_print_accept "print (10)'\^(0)'//(26)\"\^(66,67)\"//\" \"//'I'//' '//'a'//'m'//\" Hugo\"" {"\^\(0,0,0,0,0,0,0,0,0,0\)BCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBC I am Hugo"} - test_print_accept "print \"Jason\"\"\^(0,5)\"\"Hugo\^(10)\"" {"Jason""\^\(0,5\)""Hugo\^\(10\)"} - - send_gdb "set var a := \"\" \n" ; gdb_expect -re "$gdb_prompt $" - test_print_accept "print a" {""} - send_gdb "set var a := \"\"\"\" \n" ; gdb_expect -re "$gdb_prompt $" - test_print_accept "print a" {""""} - send_gdb "set var a := \" \"\"\" \n" ; gdb_expect -re "$gdb_prompt $" - test_print_accept "print a" {" """} - send_gdb "set var a := \"\^\^\" \n" ; gdb_expect -re "$gdb_prompt $" - test_print_accept "print a" {"\^\^"} - send_gdb "set var a := \"'\" \n" ; gdb_expect -re "$gdb_prompt $" - test_print_accept "print a" {"'"} -} - - -proc test_code {} { - global passcount gdb_prompt - - verbose "Testing Chars" - set passcount 0 - - runto bulk - test_print_accept "print a" {"\^\(255,0,222,127,255,0,222,127,255,0,222,127,255,0,222,127,255,0,222,127,255,0,222,127,255,0,222,127,255,0,222,127,255,0,222,127,255,0,222,127,255,0,222,127,255,0,222,127,255,0,222,127,255,0,222,127,255,0,222,127,255,0,222,127,255,0,222,127,255,0,222,127,255,0,222,127,255,0,222,127,255,0,222,127,255,0,222,127,255,0,222,127,255,0,222,127,255,0,222,127,255,0,222,127,255,0,222,127,255,0,222,127,255,0,222,127,255,0,222,127,255,0,222,127,255,0,222,127,255,0,222,127,255,0,222,127,255,0,222,127,255,0,222,127,255,0,222,127,255,0,222,127,255,0,222,127,255,0,222,127,255,0,222,127,255,0,222,127,255,0,222,127,255,0,222,127,255,0,222,127,255,0,222,127,255,0,222,127,255,0,222,127,255,0,222,127,255,0,222,127\)"} - test_print_accept "print b" {"\^\(200\)"} -# test_print_accept "print c" {'a'<repeats 70 times>//"\^\(0,5\)Jason"//'b'<repeats 70 times>} - test_print_accept "print d" {'a'} -} - - -# Start with a fresh gdb. - -gdb_exit -gdb_start -gdb_reinitialize_dir $srcdir/$subdir - -gdb_test "set print sevenbit-strings" ".*" - - -if [set_lang_chill] then { - # test builtins as described in chapter 6.20.3 Z.200 - - test_chars -# test_code -} else { - warning "$test_name tests suppressed." -} diff --git a/gdb/testsuite/gdb.chill/gch981.ch b/gdb/testsuite/gdb.chill/gch981.ch deleted file mode 100644 index e8f0474729e..00000000000 --- a/gdb/testsuite/gdb.chill/gch981.ch +++ /dev/null @@ -1,60 +0,0 @@ -xx: MODULE - -SYNMODE m_set1 = SET (e1, e2, e3, e4, e5); -DCL v_set1 m_set1 INIT := e3; - -SYNMODE m_set2 = SET (a1=1, a2=2, a3=17, a4=9, a5=8, a6=0, a7=14, a8=33, a9=12); -DCL v1_set2 m_set2 INIT := a1; -DCL v2_set2 m_set2 INIT := a2; -DCL v3_set2 m_set2 INIT := a3; -DCL v4_set2 m_set2 INIT := a4; -DCL v5_set2 m_set2 INIT := a5; -DCL v6_set2 m_set2 INIT := a6; -DCL v7_set2 m_set2 INIT := a7; -DCL v8_set2 m_set2 INIT := a8; -DCL v9_set2 m_set2 INIT := a9; - -SYNMODE m_set3 = SET (b1, b2, b3, b4, b5 = 4711, b6, b7 = 4713); -DCL v_set3 m_set3 INIT := b7; - -SYNMODE m_set4 = SET(s1=111111, s2, s3, s4); -DCL v1_set4 m_set4 INIT := s1; - -SYNMODE m_set_range = m_set1(e2:e5); -DCL v_set_range m_set_range INIT := e3; - -SYNMODE m_set_range_arr = ARRAY (m_set_range) BYTE; -DCL v_set_range_arr ARRAY (m_set_range) BYTE; - -SYNMODE m_set_arr = ARRAY (m_set1) BYTE; -DCL v_set_arr ARRAY (m_set1) BYTE; - -NEWMODE m_power1 = POWERSET m_set1; -DCL v1_power1 READ m_power1 INIT := [e1,e2,e3,e4,e5]; -DCL v2_power1 m_power1 INIT := []; - -NEWMODE m_power2 = POWERSET m_set2; -DCL v_power2 m_power2 INIT := []; - -NEWMODE m_power3 = POWERSET m_set3; -DCL v_power3 m_power3 INIT := [b1:b2]; - -NEWMODE m_power4 = POWERSET CHAR; -DCL v_power4 m_power4 INIT := ['b':'x']; - -NEWMODE m_power5 = POWERSET INT (2:400); -DCL v_power5 m_power5 INIT := [2:100]; - -NEWMODE m_power6 = POWERSET INT; -DCL v_power6 m_power6; - -NEWMODE m_power7 = POWERSET LONG; -DCL v_power7 m_power7; - - -v_set1:= e2; -v2_power1:= [e1]; - -v_set1:= e1; - -END xx; diff --git a/gdb/testsuite/gdb.chill/gch981.exp b/gdb/testsuite/gdb.chill/gch981.exp deleted file mode 100644 index 3a948b1ccc7..00000000000 --- a/gdb/testsuite/gdb.chill/gch981.exp +++ /dev/null @@ -1,249 +0,0 @@ -# Copyright (C) 1995, 1997 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - -# Please email any bugs, comments, and/or additions to this file to: -# bug-gdb@prep.ai.mit.edu - -# This file tests various Chill values, expressions, and types. - -# This file was written by Wilfried Moser (moser@aut.alcatel.at) -# Kurt Fuchs (fuchs_k@aut.alcatel.at) -# - -if $tracelevel then { - strace $tracelevel -} - -if [skip_chill_tests] then { continue } - -set testfile "gch981" -set srcfile ${srcdir}/$subdir/${testfile}.ch -set binfile ${objdir}/${subdir}/${testfile}.exe -if { [compile "${srcfile} -g -w -o ${binfile} ${CHILL_RT0} ${CHILL_LIB}"] != "" } { - perror "Couldn't compile ${srcfile}" - return -1 -} - -# Set the current language to chill. This counts as a test. If it -# fails, then we skip the other tests. - -proc set_lang_chill {} { - global gdb_prompt - global binfile objdir subdir - - verbose "loading file '$binfile'" - gdb_load $binfile - send_gdb "set language chill\n" - gdb_expect { - -re ".*$gdb_prompt $" {} - timeout { fail "set language chill (timeout)" ; return 0 } - } - - send_gdb "show language\n" - gdb_expect { - -re ".* source language is \"chill\".*$gdb_prompt $" { - pass "set language to \"chill\"" - send_gdb "break xx_\n" - gdb_expect { - -re ".*$gdb_prompt $" { - send_gdb "run\n" - gdb_expect -re ".*$gdb_prompt $" {} - return 1 - } - timeout { - fail "can't set breakpoint (timeout)" - return 0 - } - } - } - -re ".*$gdb_prompt $" { - fail "setting language to \"chill\"" - return 0 - } - timeout { - fail "can't show language (timeout)" - return 0 - } - } -} - -# Testing printing of a specific value. Increment passcount for -# success or issue fail message for failure. In both cases, return -# a 1 to indicate that more tests can proceed. However a timeout -# is a serious error, generates a special fail message, and causes -# a 0 to be returned to indicate that more tests are likely to fail -# as well. -# -# Args are: -# -# First one is string to send_gdb to gdb -# Second one is string to match gdb result to -# Third one is an optional message to be printed - -proc test_print_accept { args } { - global gdb_prompt - global passcount - global verbose - - if [llength $args]==3 then { - set message [lindex $args 2] - } else { - set message [lindex $args 0] - } - set sendthis [lindex $args 0] - set expectthis [lindex $args 1] - set result [gdb_test $sendthis ".* = ${expectthis}" $message] - if $result==0 {incr passcount} - return $result -} - -proc test_power {} { - global passcount gdb_prompt - - verbose "Testing some POWERSET Stuff" - set passcount 0 - - test_print_accept "print v1_power1" {\[e1:e5\]} - test_print_accept "print v2_power1" {\[\]} - test_print_accept "print SIZE(v1_power1)" "1" - - gdb_test "set v1_power1 := \[b1\]" "" -# if GDB has rejected the improper values, we have to gdb_expect the same! - test_print_accept "print v1_power1" {\[e1:e5\]} - - gdb_test "set v1_power1 := \[a1,a2\]" "" - test_print_accept "print v1_power1" {\[e1:e5\]} - gdb_test "set v1_power1 := \[b1,b2,b3,e4\]" "" - test_print_accept "print v1_power1" {\[e1:e5\]} - gdb_test "set v1_power1 := \[e4:e5\]" "" - test_print_accept "print v1_power1" {\[e4:e5\]} - gdb_test "set v1_power1 := \[e1, e2:e3, e5\]" "" - test_print_accept "print v1_power1" {\[e1:e3, e5\]} - gdb_test "set v1_power1 := \[e1, e2:e4, e4:e5\]" "" - test_print_accept "print v1_power1" {\[e1:e5\]} - gdb_test "set v1_power1 := \[e1, e1:e3, e1:e2, e2:e3\]" "" - test_print_accept "print v1_power1" {\[e1:e3\]} - - gdb_test "set v_power2 := \[e2\]" "" - test_print_accept "print v_power2" {\[\]} - gdb_test "set v_power2 := \[1,2,3\]" "" - test_print_accept "print v_power2" {\[\]} - gdb_test "set v_power2 := \[e2, b2, b1\]" "" - test_print_accept "print v_power2" {\[\]} - -# Note, that this is a numbered SET, so a1:a3 contains all elements (exept a6) - gdb_test "set v_power2 := \[a1:a3, a6:a4, a7:a9\]" "" - test_print_accept "print v_power2" {\[a6:a3\]} - gdb_test "set v_power2 := \[a1, a4:a6, a9\]" "" - test_print_accept "print v_power2" {\[a1, a9\]} - gdb_test "set v_power2 := \[a1:a2, a6, a9\]" "" - test_print_accept "print v_power2" {\[a6:a2, a9\]} - gdb_test "set v_power2 := \[a1, a4, a7:a8, a9:a3\]" "" - test_print_accept "print v_power2" {\[a1, a4, a9:a8\]} - gdb_test "set v_power2 := \[a1, a4:a8\]" "" - test_print_accept "print v_power2" {\[a1, a4:a8\]} - gdb_test "set v_power2 := \[a8,a3,a7,a9,a5,a6\]" "" - test_print_accept "print v_power2" {\[a6, a5, a9, a7, a3, a8\]} - - gdb_test "set v_power3 := \[b1:b2,e1\]" "" - test_print_accept "print v_power3" {\[b1:b2\]} - gdb_test "set v_power3 := \[b1, b3, b6:b7\]" "" - test_print_accept "print v_power3" {\[b1, b3, b6:b7\]} - gdb_test "set v_power3 := \[b1, b3:b4, b7\]" "" - test_print_accept "print v_power3" {\[b1, b3:b4, b7\]} - gdb_test "set v_power3 := \[b1, b4:b6, b7\]" "" - test_print_accept "print v_power3" {\[b1, b4:b7\]} - gdb_test "set v_power3 := \[b1:b7\]" "" - test_print_accept "print v_power3" {\[b1:b7\]} - gdb_test "set v_power3 := \[b5:b7, b1\]" "" - test_print_accept "print v_power3" {\[b1, b5:b7\]} - - gdb_test "set v_power4 := \[\"b\"\]" "" - test_print_accept "print v_power4" {\['b':'x'\]} - gdb_test "set v_power4 := \[5\]" "" - test_print_accept "print v_power4" {\['b':'x'\]} - gdb_test "set v_power4 := \['c':'f','g':'h','o':'t'\]" "" - test_print_accept "print v_power4" {\['c':'h', 'o':'t'\]} - gdb_test "set v_power4 := \['a','b','c','d','e','f'\]" "" - test_print_accept "print v_power4" {\['a':'f'\]} - gdb_test "set v_power4 := \['\^(0)':'\^(200)'\]" "" - test_print_accept "print v_power4" {\['\^\(0\)':'\^\(200\)'\]} - - gdb_test "set v_power5 := \[a8\]" "" - test_print_accept "print v_power5" {\[2:100\]} - gdb_test "set v_power5 := \[4\]" "" - test_print_accept "print v_power5" {\[4\]} - gdb_test "set v_power5 := \[3:95,9:100,10:107,200:250\]" "" - test_print_accept "print v_power5" {\[3:107, 200:250\]} - gdb_test "set v_power5 := \[2, 100:120, 350:400\]" "" - test_print_accept "print v_power5" {\[2, 100:120, 350:400\]} - gdb_test "set v_power5 := \[2:64,65:127,128:256,256:399,400\]" "" - test_print_accept "print v_power5" {\[2:400\]} - gdb_test "set v_power5 := \[3:95, 99:100, 101:107, 200:250\]" "" - test_print_accept "print v_power5" {\[3:95, 99:107, 200:250\]} - - gdb_test "set v_power6 := \[a8\]" "" - test_print_accept "print v_power6" {\[\]} - gdb_test "set v_power6 := \[4\]" "" - test_print_accept "print v_power6" {\[4\]} - gdb_test "set v_power6 := \[3:95, 99:100, 101:107, 200:250\]" "" - test_print_accept "print v_power6" {\[3:95, 99:107, 200:250\]} - gdb_test "set v_power6 := \[-111:0, 1:112, 11111:22222\]" "" - test_print_accept "print v_power6" {\[-111:112, 11111:22222\]} - gdb_test "set v_power6 := \[0, 200:4000, 6666:9999\]" "" - test_print_accept "print v_power6" {\[0, 200:4000, 6666:9999\]} - -# gdb_test "set v_power7 := \[a8\]" "" -# test_print_accept "print v_power7" {\[2:100\]} -# gdb_test "set v_power7 := \[4\]" "" -# test_print_accept "print v_power7" {\[4\]} -# gdb_test "set v_power7 := \[3:95, 99:100, 101:107, 200:250\]" "" -# test_print_accept "print v_power7" {\[3:95, 99:107, 200:250\]} -# gdb_test "set v_power7 := \[0, 1000, 1000000, 10000000000\]" "" -# test_print_accept "print v_power7" {\[0, 1000, 1000000, 1000000000\]} -# gdb_test "set v_power7 := \[-20000:100000, 111111:2222222\]" "" -# test_print_accept "print v_power7" {\[-20000:100000, 111111:2222222\]} -# gdb_test "set v_power7 := \[\]" "" -# test_print_accept "print v_power7" {\[3:95, 99:107, 200:250\]} -# gdb_test "set v_power7 := \[2:-500, -501:1, 20:370, -888:-920, 1000:2000, 1800:2500\]\ " "" -# test_print_accept "print v_power7" {\[-920:-888, -501:2, 20:370, 1000:2500\]} -# test_print_accept "print SIZE(v_power7)" "" - - - runto 58 - test_print_accept "print v_set1 IN v1_power1" "TRUE" - test_print_accept "print v_set1 IN v2_power1" "FALSE" - -} - - - -# Start with a fresh gdb. - -gdb_exit -gdb_start -gdb_reinitialize_dir $srcdir/$subdir - -gdb_test "set print sevenbit-strings" ".*" - - -if [set_lang_chill] then { - # test builtins as described in chapter 6.20.3 Z.200 - - test_power -} else { - warning "$test_name tests suppressed." -} diff --git a/gdb/testsuite/gdb.chill/misc.ch b/gdb/testsuite/gdb.chill/misc.ch deleted file mode 100644 index 20f12c81405..00000000000 --- a/gdb/testsuite/gdb.chill/misc.ch +++ /dev/null @@ -1,12 +0,0 @@ -misc_tests : MODULE; - -DCL otto INT := 42; - -DCL foo STRUCT (l LONG, c CHAR, b BOOL, s CHARS(3)); - -dummyfunc: PROC(); -END dummyfunc; - -dummyfunc(); - -END misc_tests; diff --git a/gdb/testsuite/gdb.chill/misc.exp b/gdb/testsuite/gdb.chill/misc.exp deleted file mode 100644 index 684c34d4376..00000000000 --- a/gdb/testsuite/gdb.chill/misc.exp +++ /dev/null @@ -1,100 +0,0 @@ -# Copyright (C) 1995, 1997 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - -# Please email any bugs, comments, and/or additions to this file to: -# bug-gdb@prep.ai.mit.edu - -# This file was written by Fred Fish. (fnf@cygnus.com) -# Martin Pottendorfer (pottendo@aut.alcatel.at) -# - -if $tracelevel then { - strace $tracelevel -} - -if [skip_chill_tests] then { continue } - -set testfile "misc" -set srcfile ${srcdir}/$subdir/${testfile}.ch -set binfile ${objdir}/${subdir}/${testfile}.exe -if { [compile "${srcfile} -g -o ${binfile} ${CHILL_RT0} ${CHILL_LIB}"] != "" } { - perror "Couldn't compile ${srcfile}" - return -1 -} - -# Set the current language to chill. This counts as a test. If it -# fails, then we skip the other tests. - -proc set_lang_chill {} { - global gdb_prompt - global binfile objdir subdir - - verbose "loading file '$binfile'" - gdb_load $binfile - - send_gdb "set language chill\n" - gdb_expect { - -re ".*$gdb_prompt $" {} - timeout { fail "set language chill (timeout)" ; return 0 } - } - - return [gdb_test "show language" ".* source language is \"chill\".*" \ - "set language to \"chill\""] -} - -set prms_id 0 -set bug_id 0 - -# Start with a fresh gdb. - -gdb_exit -gdb_start -gdb_reinitialize_dir $srcdir/$subdir - -gdb_test "set print sevenbit-strings" ".*" - -if ![set_lang_chill] then { - runto dummyfunc - # check upper/lower case - gdb_test "ptype BOOL" " = (bool|BOOL)" - gdb_test "ptype bool" " = (bool|BOOL)" - gdb_test "print otto" " = 42" - gdb_test "print OTTO" " = 42" - gdb_test "print otTO" " = 42" - gdb_test "print OTto" " = 42" - gdb_test "print NULL" " = NULL" "print emptiness literal" - - # This tests PR 8496. - gdb_test {printf "%d %d.", 3+4,2} "7 2." "printf with 2 arguments" - - # This tests GCH/924 - gdb_test {print (h'23)} { = 35} "print parantised integer literal" - - # Linux thinks this is at line 6, but is otherwise ok. - setup_xfail "i*86-pc-linux*-gnu" - gdb_test "info line" \ - {Line 7 of .*misc.ch.* at address H'[0-9a-fA-F]+.*}\ - "info about current line" - - # check array () type (expr) - setup_xfail "m68*-*-hpux*" - gdb_test "print array () ubyte (foo)" { = \[\(0:11\): 0\]} - - send_gdb "set var \$i := foo\n" - gdb_expect -re ".*$gdb_prompt $" - setup_xfail "m68*-*-hpux*" - gdb_test "print/x array () byte (\$i)" { = \[\(0:11\): H'0\]} -} diff --git a/gdb/testsuite/gdb.chill/powerset.ch b/gdb/testsuite/gdb.chill/powerset.ch deleted file mode 100644 index dd3172d3640..00000000000 --- a/gdb/testsuite/gdb.chill/powerset.ch +++ /dev/null @@ -1,33 +0,0 @@ --- --- check powerset operators and built-ins --- - -ps: MODULE - -SYNMODE m_ps1 = POWERSET ULONG (0:8); -DCL v_ps1 m_ps1 INIT := [1,3,5,7]; - -SYNMODE m_ps2 = POWERSET LONG (-100:100); -DCL v_ps2 m_ps2 INIT := [ -100:-95, -1:1, 95:100]; - -SYNMODE m_set = SET (aa, bb, cc, dd, ee, ff, gg, hh, ii, jj); -SYNMODE m_ps3 = POWERSET m_set; -DCL v_ps3 m_ps3 INIT := [bb, dd, ff, ii]; - -SYNMODE m_ps4 = POWERSET CHAR(' ':'z'); -DCL v_ps4 m_ps4 INIT := [ '.', ',', 'A':'F', 'x':'z' ]; - -SYNMODE m_ps5 = POWERSET BOOL; -DCL v_ps5 m_ps5 INIT := [ FALSE ]; -DCL v_ps51 m_ps5 INIT := [ ]; - -SYNMODE m_int_range = INT(-100:100); -SYNMODE m_int_subrange = m_int_range(-50:50); -SYNMODE m_ps6 = POWERSET m_int_subrange; -DCL v_ps6 m_ps6 INIT := [ LOWER(m_int_subrange):UPPER(m_int_subrange) ]; - -DCL x INT; - -x := 25; - -END ps; diff --git a/gdb/testsuite/gdb.chill/powerset.exp b/gdb/testsuite/gdb.chill/powerset.exp deleted file mode 100644 index f047507cc17..00000000000 --- a/gdb/testsuite/gdb.chill/powerset.exp +++ /dev/null @@ -1,187 +0,0 @@ -# Copyright (C) 1995, 1997 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - -# Please email any bugs, comments, and/or additions to this file to: -# bug-gdb@prep.ai.mit.edu - -# This file tests various Chill values, expressions, and types. - -if $tracelevel then { - strace $tracelevel -} - -if [skip_chill_tests] then { continue } - -set testfile "powerset" -set srcfile ${srcdir}/$subdir/${testfile}.ch -set binfile ${objdir}/${subdir}/${testfile}.exe -if { [compile "${srcfile} -g -w -o ${binfile} ${CHILL_RT0} ${CHILL_LIB}"] != "" } { - perror "Couldn't compile ${srcfile}" - return -1 -} - -# Set the current language to chill. This counts as a test. If it -# fails, then we skip the other tests. - -proc set_lang_chill {} { - global gdb_prompt - global binfile objdir subdir - - verbose "loading file '$binfile'" - gdb_load $binfile - send_gdb "set language chill\n" - gdb_expect { - -re ".*$gdb_prompt $" {} - timeout { fail "set language chill (timeout)" ; return 0 } - } - - send_gdb "show language\n" - gdb_expect { - -re ".* source language is \"chill\".*$gdb_prompt $" { - pass "set language to \"chill\"" - send_gdb "break xx_\n" - gdb_expect { - -re ".*$gdb_prompt $" { - send_gdb "run\n" - gdb_expect -re ".*$gdb_prompt $" {} - return 1 - } - timeout { - fail "can't set breakpoint (timeout)" - return 0 - } - } - } - -re ".*$gdb_prompt $" { - fail "setting language to \"chill\"" - return 0 - } - timeout { - fail "can't show language (timeout)" - return 0 - } - } -} - -# Testing printing of a specific value. Increment passcount for -# success or issue fail message for failure. In both cases, return -# a 1 to indicate that more tests can proceed. However a timeout -# is a serious error, generates a special fail message, and causes -# a 0 to be returned to indicate that more tests are likely to fail -# as well. -# -# Args are: -# -# First one is string to send_gdb to gdb -# Second one is string to match gdb result to -# Third one is an optional message to be printed - -proc test_print_accept { args } { - global gdb_prompt - global passcount - global verbose - - if [llength $args]==3 then { - set message [lindex $args 2] - } else { - set message [lindex $args 0] - } - set sendthis [lindex $args 0] - set expectthis [lindex $args 1] - set result [gdb_test $sendthis ".* = ${expectthis}" $message] - if $result==0 {incr passcount} - return $result -} - -proc test_card {} { - global passcount - - verbose "testing builtin CARD" - set passcount 0 - - # discrete mode names - test_print_accept "print card(v_ps1)" "4" - test_print_accept "print card(v_ps2)" "15" - test_print_accept "print card(v_ps3)" "4" - test_print_accept "print card(v_ps4)" "11" - test_print_accept "print card(v_ps5)" "1" - test_print_accept "print card(v_ps51)" "0" - test_print_accept "print card(v_ps6)" "101" - - # a failure - setup_xfail "*-*-*" - test_print_accept "print card(m_ps1)" "typename in invalid context" -} - -proc test_min {} { - global passcount - - verbose "testing builtin MIN" - set passcount 0 - - # discrete mode names - test_print_accept "print min(v_ps1)" "1" - test_print_accept "print min(v_ps2)" "-100" - test_print_accept "print min(v_ps3)" "bb" - test_print_accept "print min(v_ps4)" "','" - test_print_accept "print min(v_ps5)" "FALSE" - test_print_accept "print min(v_ps6)" "-50" - - # a failure - setup_xfail "*-*-*" - test_print_accept "print min(v_ps51)" "MIN for empty powerset" - setup_xfail "*-*-*" - test_print_accept "print min(m_ps1)" "typename in invalid context" -} - -proc test_max {} { - global passcount - - verbose "testing builtin MIN" - set passcount 0 - - # discrete mode names - test_print_accept "print max(v_ps1)" "7" - test_print_accept "print max(v_ps2)" "100" - test_print_accept "print max(v_ps3)" "ii" - test_print_accept "print max(v_ps4)" "'z'" - test_print_accept "print max(v_ps5)" "FALSE" - test_print_accept "print max(v_ps6)" "50" - - # test an IN - test_print_accept "print 0 in v_ps6" "TRUE" - - # a failure - setup_xfail "*-*-*" - test_print_accept "print max(v_ps51)" "MAX for empty powerset" -} - -# Start with a fresh gdb. - -gdb_exit -gdb_start -gdb_reinitialize_dir $srcdir/$subdir - -gdb_test "set print sevenbit-strings" ".*" - -if [set_lang_chill] then { - # test builtins as described in chapter 6.20.3 Z.200 - test_card - test_min - test_max -} else { - warning "$test_name tests suppressed." -} diff --git a/gdb/testsuite/gdb.chill/pr-4975-grt.ch b/gdb/testsuite/gdb.chill/pr-4975-grt.ch deleted file mode 100644 index 77963628086..00000000000 --- a/gdb/testsuite/gdb.chill/pr-4975-grt.ch +++ /dev/null @@ -1,13 +0,0 @@ -gdb_bug_grt: MODULE -NEWMODE is_channel_type = SET (chan_1, - chan_2, - chan_3, - chan_4, - chan_5, - chan_6, - chan_7, - chan_8, - chan_9, - chan_10); -GRANT is_channel_type; -END; diff --git a/gdb/testsuite/gdb.chill/pr-4975.ch b/gdb/testsuite/gdb.chill/pr-4975.ch deleted file mode 100644 index dbba064a728..00000000000 --- a/gdb/testsuite/gdb.chill/pr-4975.ch +++ /dev/null @@ -1,43 +0,0 @@ -/* ->Number: 4975 ->Category: chill ->Synopsis: Segmentation fault of gdb 4.12.1 ->Description: - - Problem: gdb 4.12.1 segment faults with following chill program. -*/ - -gdb_bug: MODULE - -<> USE_SEIZE_FILE "pr-4975-grt.grt" <> -SEIZE is_channel_type; - - SYNMODE chan_type = POWERSET is_channel_type; - SYN hugo chan_type = [chan_1, chan_3]; - -DCL otto is_channel_type := chan_2; - -x: PROC (); - - IF otto IN hugo THEN - WRITETEXT (STDOUT, "otto IN hugo%/"); - ELSE - WRITETEXT (STDOUT, "You loose%/"); - FI; -END x; - -x (); - -END gdb_bug; -/* -Compiled with: - - chill -S -fgrant-only pr-315-grt.ch - chill -g -o pr-315 pr-315.ch - -Run gdb with - - gdb pr-315 --readnow - -will result in a sigsegv in file gdbtypes.c function force_to_range_type. -*/ diff --git a/gdb/testsuite/gdb.chill/pr-4975.exp b/gdb/testsuite/gdb.chill/pr-4975.exp deleted file mode 100644 index f59e7dc1728..00000000000 --- a/gdb/testsuite/gdb.chill/pr-4975.exp +++ /dev/null @@ -1,67 +0,0 @@ -# Copyright (C) 1992, 1994, 1997 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - -# Please email any bugs, comments, and/or additions to this file to: -# bug-gdb@prep.ai.mit.edu - -# This file was written by Per Bothner. (bothner@cygnus.com) - -if $tracelevel then { - strace $tracelevel -} - -if [skip_chill_tests] then { continue } - -set testfile2 "pr-4975-grt" -set srcfile2 ${srcdir}/$subdir/${testfile2}.ch -set objfile2 ${objdir}/$subdir/${testfile2}.o -if { [compile "${srcfile2} -g -c -o ${objfile2}"] != "" } { - perror "Couldn't compile ${srcfile2}" - return -1 -} - -set testfile "pr-4975" -set srcfile ${srcdir}/$subdir/${testfile}.ch -set binfile ${objdir}/${subdir}/${testfile}.exe -if { [compile "${srcfile} -g ${objfile2} -o ${binfile} ${CHILL_RT0} ${CHILL_LIB}"] != "" } { - perror "Couldn't compile ${srcfile}" - return -1 -} - -proc do_tests {} { - global prms_id bug_id subdir objdir srcdir binfile gdb_prompt - - set prms_id 0 - set bug_id 0 - - # Start with a fresh gdb. - - gdb_exit - gdb_start - gdb_reinitialize_dir $srcdir/$subdir - gdb_load $binfile - - gdb_test "set language chill" "" - - # This is needed (at least on SunOS4) to make sure the - # the symbol table is read. - runto "x" - # "You loose"? Why, thank you. (But I suspect "You lose" might have - # been what was intended). - gdb_test "finish" "You loose.*" "Runs and reads symbols OK" -} - -do_tests diff --git a/gdb/testsuite/gdb.chill/pr-5016.ch b/gdb/testsuite/gdb.chill/pr-5016.ch deleted file mode 100644 index 16f49e8f5f5..00000000000 --- a/gdb/testsuite/gdb.chill/pr-5016.ch +++ /dev/null @@ -1,24 +0,0 @@ -vector: MODULE - -SYNMODE m_index = RANGE(1:10); -NEWMODE vector = ARRAY (m_index) INT; - -DCL a, b, c vector; - -dump: PROC( a vector LOC, c CHAR ); - DCL i m_index := 5; - DO FOR i IN m_index; - WRITETEXT( STDOUT, "%C(%C)=%C ", c, i, a(i) ); - OD; - WRITETEXT( STDOUT, "%/" ); -END dump; - -a := vector [ 1, -1, 2, -2, 3, -3, 4, -4, 5, -5 ]; -b := a; -b(4) := 4; -b(7) := 7; -c := vector [(*): 0]; - -dump(a,'a'); - -END vector; diff --git a/gdb/testsuite/gdb.chill/pr-5016.exp b/gdb/testsuite/gdb.chill/pr-5016.exp deleted file mode 100644 index 4384d8ce9f6..00000000000 --- a/gdb/testsuite/gdb.chill/pr-5016.exp +++ /dev/null @@ -1,62 +0,0 @@ -# Copyright (C) 1992, 1997 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - -# Please email any bugs, comments, and/or additions to this file to: -# bug-gdb@prep.ai.mit.edu - -# This file was written by Per Bothner. (bothner@cygnus.com) - -if $tracelevel then { - strace $tracelevel -} - -if [skip_chill_tests] then { continue } - -set testfile "pr-5016" -set srcfile ${srcdir}/$subdir/${testfile}.ch -set binfile ${objdir}/${subdir}/${testfile}.exe -if { [compile "${srcfile} -g -o ${binfile} ${CHILL_RT0} ${CHILL_LIB}"] != "" } { - perror "Couldn't compile ${srcfile}" - return -1 -} - -proc do_tests {} { - global prms_id bug_id subdir objdir srcdir binfile gdb_prompt - - set prms_id 0 - set bug_id 0 - - # Start with a fresh gdb. - - gdb_exit - gdb_start - gdb_reinitialize_dir $srcdir/$subdir - gdb_load $binfile - - gdb_test "set language chill" "" - - runto dump - # Linux thinks type is "_cint" (and so does sparc-sun-sunos4, alpha-dec-osf2.0) - #setup_xfail "i*86-pc-linux*-gnu" "sparc-sun-sunos4*" "alpha-dec-osf2*" - gdb_test "whatis i" "type = m_index" "whatis int-range" - gdb_test_exact "ptype m_index" "type = RANGE (1:10)" "ptype m_index" - gdb_test_exact "whatis a" "type = /*LOC*/ vector" - gdb_test "ptype a" "type = /\\*LOC\\*/ ARRAY \\(1:10\\) (INT|int)" - gdb_test "step" "" - gdb_test_exact "whatis i" "type = long" "whatis loop counter i" -} - -do_tests diff --git a/gdb/testsuite/gdb.chill/pr-5020.ch b/gdb/testsuite/gdb.chill/pr-5020.ch deleted file mode 100644 index 6aba793d0d0..00000000000 --- a/gdb/testsuite/gdb.chill/pr-5020.ch +++ /dev/null @@ -1,19 +0,0 @@ - -PR_5020: MODULE - dummy_pr_5020: PROC (); - END; - NEWMODE x = STRUCT (l LONG, b BOOL); - NEWMODE aset = SET (aa, bb); - - DCL y ARRAY ('a':'b') x; - DCL setarr ARRAY (aset) x; - DCL intarr ARRAY(10:11) x; - DCL boolarr ARRAY (BOOL) x; - - y('a').l, setarr(aa).l, intarr(10).l, boolarr(FALSE).l := 10; - y('a').b, setarr(aa).b, intarr(10).b, boolarr(FALSE).b := TRUE; - y('b').l, setarr(bb).l, intarr(11).l, boolarr(TRUE).l := 111; - y('b').b, setarr(bb).b, intarr(11).b, boolarr(TRUE).b := FALSE; - - dummy_pr_5020 (); -END; diff --git a/gdb/testsuite/gdb.chill/pr-5020.exp b/gdb/testsuite/gdb.chill/pr-5020.exp deleted file mode 100644 index 1adece34cfc..00000000000 --- a/gdb/testsuite/gdb.chill/pr-5020.exp +++ /dev/null @@ -1,85 +0,0 @@ -# Copyright (C) 1992, 1994, 1997 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - -# Please email any bugs, comments, and/or additions to this file to: -# bug-gdb@prep.ai.mit.edu - -# This file was written by Per Bothner. (bothner@cygnus.com) - -if $tracelevel then { - strace $tracelevel -} - -if [skip_chill_tests] then { continue } - -set testfile "pr-5020" -set srcfile ${srcdir}/$subdir/${testfile}.ch -set binfile ${objdir}/${subdir}/${testfile}.exe -if { [compile "${srcfile} -g -o ${binfile} ${CHILL_RT0} ${CHILL_LIB}"] != "" } { - perror "Couldn't compile ${srcfile}" - return -1 -} - -proc do_tests {} { - global prms_id bug_id subdir objdir srcdir binfile gdb_prompt - - set prms_id 0 - set bug_id 0 - - # Start with a fresh gdb. - - gdb_exit - gdb_start - gdb_reinitialize_dir $srcdir/$subdir - gdb_load $binfile - - gdb_test "set language chill" "" - - # This is needed (at least on SunOS4) to make sure the - # the symbol table is read. - gdb_test "break chillvars.ch:3" "" - gdb_test "delete 1" "" - - gdb_test "set width 0" "" - gdb_test "set print sevenbit-strings" "" - gdb_test "set print address off" "" - - test_pr_5020 -} - -proc test_pr_5020 {} { - global gdb_prompt - runto dummy_pr_5020 - gdb_test_exact "print y" \ - {= [('a'): [.l: 10, .b: TRUE], ('b'): [.l: 111, .b: FALSE]]} - gdb_test_exact "print boolarr" \ - {= [(FALSE): [.l: 10, .b: TRUE], (TRUE): [.l: 111, .b: FALSE]]} - gdb_test_exact "print intarr" \ - {= [(10): [.l: 10, .b: TRUE], (11): [.l: 111, .b: FALSE]]} - gdb_test_exact "print setarr" \ - {= [(aa): [.l: 10, .b: TRUE], (bb): [.l: 111, .b: FALSE]]} - gdb_test "set print pretty" "" - gdb_test_exact "print y" \ -{= [('a'): [
- .l: 10,
- .b: TRUE
- ], ('b'): [
- .l: 111,
- .b: FALSE
- ]]} "print y pretty" -} - -do_tests diff --git a/gdb/testsuite/gdb.chill/pr-5022.ch b/gdb/testsuite/gdb.chill/pr-5022.ch deleted file mode 100644 index aeaad4e8f17..00000000000 --- a/gdb/testsuite/gdb.chill/pr-5022.ch +++ /dev/null @@ -1,12 +0,0 @@ -PR_5022: MODULE - dummy_pr_5022: PROC (); - END; - DCL p PTR; - DCL i INT; - - p := NULL; - dummy_pr_5022 (); - i := 13; - p := ->i; - dummy_pr_5022 (); -END; diff --git a/gdb/testsuite/gdb.chill/pr-5022.exp b/gdb/testsuite/gdb.chill/pr-5022.exp deleted file mode 100644 index 097e386be3b..00000000000 --- a/gdb/testsuite/gdb.chill/pr-5022.exp +++ /dev/null @@ -1,70 +0,0 @@ -# Copyright (C) 1992, 1997 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - -# Please email any bugs, comments, and/or additions to this file to: -# bug-gdb@prep.ai.mit.edu - -# This file was written by Per Bothner. (bothner@cygnus.com) - -if $tracelevel then { - strace $tracelevel -} - -if [skip_chill_tests] then { continue } - -set testfile "pr-5022" -set srcfile ${srcdir}/$subdir/${testfile}.ch -set binfile ${objdir}/${subdir}/${testfile}.exe -if { [compile "${srcfile} -g -o ${binfile} ${CHILL_RT0} ${CHILL_LIB}"] != "" } { - perror "Couldn't compile ${srcfile}" - return -1 -} - -proc do_tests {} { - global prms_id bug_id subdir objdir srcdir binfile gdb_prompt - - set prms_id 0 - set bug_id 0 - - # Start with a fresh gdb. - - gdb_exit - gdb_start - gdb_reinitialize_dir $srcdir/$subdir - gdb_load $binfile - - gdb_test "set language chill" "" - - # This is needed (at least on SunOS4) to make sure the - # the symbol table is read. - gdb_test "break gdbme.ch:3" "" - gdb_test "delete 1" "" - - gdb_test "set width 0" "" - gdb_test "set print sevenbit-strings" "" - - test_pr_5022 -} - -proc test_pr_5022 {} { - global gdb_prompt - runto dummy_pr_5022 - gdb_test "p p" " = NULL" "print NULL pointer" - gdb_test "continue" "" - gdb_test "p p" {= PTR\(H'[0-9a-fA-F]+\)} "print non-NULL pointer" -} - -do_tests diff --git a/gdb/testsuite/gdb.chill/pr-5646-grt.ch b/gdb/testsuite/gdb.chill/pr-5646-grt.ch deleted file mode 100644 index b7a90023585..00000000000 --- a/gdb/testsuite/gdb.chill/pr-5646-grt.ch +++ /dev/null @@ -1,5 +0,0 @@ -x: MODULE -NEWMODE a_set = SET (a, b, c, d); -NEWMODE a_ps = POWERSET a_set; -GRANT a_ps; -END; diff --git a/gdb/testsuite/gdb.chill/pr-5646.ch b/gdb/testsuite/gdb.chill/pr-5646.ch deleted file mode 100644 index 8c14cb86b4f..00000000000 --- a/gdb/testsuite/gdb.chill/pr-5646.ch +++ /dev/null @@ -1,15 +0,0 @@ -y: MODULE - -<> USE_SEIZE_FILE "pr-5646-grt.grt" <> -SEIZE a_ps; - -p: PROC (); - - DCL xx a_ps; - - xx := [a, b]; -END p; - -p(); - -END y; diff --git a/gdb/testsuite/gdb.chill/pr-5646.exp b/gdb/testsuite/gdb.chill/pr-5646.exp deleted file mode 100644 index 958b36aa3a7..00000000000 --- a/gdb/testsuite/gdb.chill/pr-5646.exp +++ /dev/null @@ -1,64 +0,0 @@ -# Copyright (C) 1992, 1997 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - -# Please email any bugs, comments, and/or additions to this file to: -# bug-gdb@prep.ai.mit.edu - -# This file was written by Per Bothner. (bothner@cygnus.com) - -if $tracelevel then { - strace $tracelevel -} - -if [skip_chill_tests] then { continue } - -set testfile2 "pr-5646-grt" -set srcfile2 ${srcdir}/$subdir/${testfile2}.ch -set objfile2 ${objdir}/$subdir/${testfile2}.o -if { [compile "${srcfile2} -g -c -o ${objfile2}"] != "" } { - perror "Couldn't compile ${srcfile2}" - return -1 -} - -set testfile "pr-5646" -set srcfile ${srcdir}/$subdir/${testfile}.ch -set binfile ${objdir}/${subdir}/${testfile}.exe -if { [compile "${srcfile} -g ${objfile2} -o ${binfile} ${CHILL_RT0} ${CHILL_LIB}"] != "" } { - perror "Couldn't compile ${srcfile}" - return -1 -} - -proc do_tests {} { - global prms_id bug_id subdir objdir srcdir binfile gdb_prompt - - set prms_id 0 - set bug_id 0 - - # Start with a fresh gdb. - - gdb_exit - gdb_start - gdb_reinitialize_dir $srcdir/$subdir - gdb_load $binfile - - gdb_test "set language chill" "" - - runto p - gdb_test "next" "" - gdb_test_exact "print xx" {= [a:b]} -} - -do_tests diff --git a/gdb/testsuite/gdb.chill/pr-5984.ch b/gdb/testsuite/gdb.chill/pr-5984.ch deleted file mode 100644 index 3e74a5660ce..00000000000 --- a/gdb/testsuite/gdb.chill/pr-5984.ch +++ /dev/null @@ -1,8 +0,0 @@ -x: module -- line 1 - p:proc (t char (20) varying); -- 2 - writetext(stdout, t); -- 3 - end p; -- 4 - -- 5 - p("Jason Dark.%/"); -- 6 - p("Hello World.%/"); -- 7 -end x; diff --git a/gdb/testsuite/gdb.chill/pr-5984.exp b/gdb/testsuite/gdb.chill/pr-5984.exp deleted file mode 100644 index f8ea37ea33e..00000000000 --- a/gdb/testsuite/gdb.chill/pr-5984.exp +++ /dev/null @@ -1,57 +0,0 @@ -# Copyright (C) 1992, 1997 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - -# Please email any bugs, comments, and/or additions to this file to: -# bug-gdb@prep.ai.mit.edu - -# This file was written by Per Bothner. (bothner@cygnus.com) - -if $tracelevel then { - strace $tracelevel -} - -if [skip_chill_tests] then { continue } - -set testfile "pr-5984" -set srcfile ${srcdir}/$subdir/${testfile}.ch -set binfile ${objdir}/${subdir}/${testfile}.exe -if { [compile "${srcfile} -g -o ${binfile} ${CHILL_RT0} ${CHILL_LIB}"] != "" } { - perror "Couldn't compile ${srcfile}" - return -1 -} - -proc do_tests {} { - global prms_id bug_id subdir objdir srcdir binfile gdb_prompt - - set prms_id 0 - set bug_id 0 - - # Start with a fresh gdb. - - gdb_exit - gdb_start - gdb_reinitialize_dir $srcdir/$subdir - gdb_load $binfile - - send_gdb "set language chill\n" ; - - gdb_test "break pr-5984.ch:6" "" - send_gdb "run\n"; gdb_expect -re "Breakpoint .*pr-5984.ch:6" - gdb_expect -re "$gdb_prompt $" - gdb_test "next" "Jason Dark.*" "next over Jason Dark" -} - -do_tests diff --git a/gdb/testsuite/gdb.chill/pr-6292.ch b/gdb/testsuite/gdb.chill/pr-6292.ch deleted file mode 100644 index c2ed95361c6..00000000000 --- a/gdb/testsuite/gdb.chill/pr-6292.ch +++ /dev/null @@ -1,17 +0,0 @@ -hack : module - -dcl i int; - -fred : proc (a int in, b int loc); - writetext(stdout, "a was '%C'; b was '%C'.%/", a, b); - b + := 1; -end fred; - -klaus : proc (); - writetext(stdout, "here's klaus calling.%/"); -end klaus; - -i:=12; -writetext(stdout, "done.%/"); - -end hack; diff --git a/gdb/testsuite/gdb.chill/pr-6292.exp b/gdb/testsuite/gdb.chill/pr-6292.exp deleted file mode 100644 index db276b87986..00000000000 --- a/gdb/testsuite/gdb.chill/pr-6292.exp +++ /dev/null @@ -1,58 +0,0 @@ -# Copyright (C) 1995, 1997 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - -# Please email any bugs, comments, and/or additions to this file to: -# bug-gdb@prep.ai.mit.edu - -# This file was written by Per Bothner. (bothner@cygnus.com) - -if $tracelevel then { - strace $tracelevel -} - -if [skip_chill_tests] then { continue } - -set testfile "pr-6292" -set srcfile ${srcdir}/$subdir/${testfile}.ch -set binfile ${objdir}/${subdir}/${testfile}.exe -if { [compile "${srcfile} -g -o ${binfile} ${CHILL_RT0} ${CHILL_LIB}"] != "" } { - perror "Couldn't compile ${srcfile}" - return -1 -} - -proc do_tests {} { - global prms_id bug_id subdir objdir srcdir binfile gdb_prompt - - set prms_id 0 - set bug_id 0 - - # Start with a fresh gdb. - - gdb_exit - gdb_start - gdb_reinitialize_dir $srcdir/$subdir - gdb_load $binfile - - send_gdb "set language chill\n" ; - - gdb_test "break pr-6292.ch:15" "" - send_gdb "run\n"; gdb_expect -re "Breakpoint .*pr-6292.ch:15.*$gdb_prompt $" - gdb_test_exact "call klaus()" {here's klaus calling.} - gdb_test {set fred(10, i)} {a was '10'; b was '12'.} - gdb_test "print i" { = 13} "print i after call" -} - -do_tests diff --git a/gdb/testsuite/gdb.chill/pr-6632-grt.ch b/gdb/testsuite/gdb.chill/pr-6632-grt.ch deleted file mode 100644 index e9434f1bb48..00000000000 --- a/gdb/testsuite/gdb.chill/pr-6632-grt.ch +++ /dev/null @@ -1,34 +0,0 @@ -markus1: MODULE - -SYNMODE m_dummy = SET (dummy_1, - dummy_2, - dummy_3, - dummy_4, - dummy_5, - dummy_6, - dummy_7, - dummy_8, - dummy_9, - dummy_10, - dummy_11, - dummy_12, - dummy_13, - dummy_14, - dummy_15, - dummy_16, - dummy_17, - dummy_18, - dummy_19, - dummy_20, - dummy_21, - dummy_22, - dummy_23, - dummy_24, - dummy_25, - dummy_26); - -SYNMODE m_dummy_range = m_dummy(dummy_6 : dummy_22); - -GRANT m_dummy, m_dummy_range; - -END markus1; diff --git a/gdb/testsuite/gdb.chill/pr-6632.ch b/gdb/testsuite/gdb.chill/pr-6632.ch deleted file mode 100644 index b82c7ae1c88..00000000000 --- a/gdb/testsuite/gdb.chill/pr-6632.ch +++ /dev/null @@ -1,31 +0,0 @@ -markus: MODULE - -<> USE_SEIZE_FILE "pr-6632-grt.grt" <> -SEIZE m_dummy, m_dummy_range; - -DCL v m_dummy_range; - -NEWMODE is_str_descr = STRUCT (p PTR, - l INT, - flag STRUCT (x UBYTE, - y SET (aa, bb, cc, dd, ee, ff))); -DCL des is_str_descr; - -NEWMODE is_cb_debug = STRUCT (i INT, - channel m_dummy_range, - p PTR); -NEWMODE is_cb_debug_array = ARRAY (0:20) is_cb_debug; -DCL cb_debug is_cb_debug_array; -DCL cb_debug_index INT := 0; - -p: PROC (pp is_str_descr IN, x m_dummy_range IN) - DO WITH cb_debug(cb_debug_index); - channel := x; - OD; -END p; - -p (des, dummy_10); -WRITETEXT (stdout, "cb_debug(%C).channel := %C%/", - cb_debug_index, cb_debug(cb_debug_index).channel); - -END markus; diff --git a/gdb/testsuite/gdb.chill/pr-6632.exp b/gdb/testsuite/gdb.chill/pr-6632.exp deleted file mode 100644 index 03e342cbc25..00000000000 --- a/gdb/testsuite/gdb.chill/pr-6632.exp +++ /dev/null @@ -1,66 +0,0 @@ -# Copyright (C) 1995, 1997 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - -# Please email any bugs, comments, and/or additions to this file to: -# bug-gdb@prep.ai.mit.edu - -# This file was written by Per Bothner. (bothner@cygnus.com) - -if $tracelevel then { - strace $tracelevel -} - - -if [skip_chill_tests] then { continue } - -set testfile2 "pr-6632-grt" -set srcfile2 ${srcdir}/$subdir/${testfile2}.ch -set objfile2 ${objdir}/$subdir/${testfile2}.o -if { [compile "${srcfile2} -g -c -o ${objfile2}"] != "" } { - perror "Couldn't compile ${srcfile2}" - return -1 -} - -set testfile "pr-6632" -set srcfile ${srcdir}/$subdir/${testfile}.ch -set binfile ${objdir}/${subdir}/${testfile}.exe -if { [compile "${srcfile} ${objfile2} -g -o ${binfile} ${CHILL_RT0} ${CHILL_LIB}"] != "" } { - perror "Couldn't compile ${srcfile}" - return -1 -} - -proc do_tests {} { - global prms_id bug_id subdir objdir srcdir binfile gdb_prompt - - set prms_id 0 - set bug_id 0 - - # Start with a fresh gdb. - - gdb_exit - gdb_start - gdb_reinitialize_dir $srcdir/$subdir - gdb_load $binfile - - gdb_test "set language chill" "" - - runto p - gdb_test "whatis x" {type = m_dummy_range} - gdb_test_exact "ptype x" {type = m_dummy (dummy_6:dummy_22)} - gdb_test "print x" { = dummy_10} -} - -do_tests diff --git a/gdb/testsuite/gdb.chill/pr-8134.exp b/gdb/testsuite/gdb.chill/pr-8134.exp deleted file mode 100644 index 5bbd66cbefc..00000000000 --- a/gdb/testsuite/gdb.chill/pr-8134.exp +++ /dev/null @@ -1,65 +0,0 @@ -# Copyright (C) 1995, 1997 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - -# Please email any bugs, comments, and/or additions to this file to: -# bug-gdb@prep.ai.mit.edu - -# This file was written by Per Bothner. (bothner@cygnus.com) - -if $tracelevel then { - strace $tracelevel -} - -if [skip_chill_tests] then { continue } - -# Note we use pr-8136.ch for pr-8134.exp as well as pr-8136.exp. -set testfile2 "func1" -set srcfile2 ${srcdir}/$subdir/${testfile2}.ch -set objfile2 ${objdir}/$subdir/${testfile2}.o -if { [compile "${srcfile2} -g -c -o ${objfile2}"] != "" } { - perror "Couldn't compile ${srcfile2}" - return -1 -} - -set testfile "pr-8134" -set srcfile ${srcdir}/$subdir/pr-8136.ch -set binfile ${objdir}/${subdir}/${testfile}.exe -if { [compile "${srcfile} -g ${objfile2} -o ${binfile} ${CHILL_RT0} ${CHILL_LIB}"] != "" } { - perror "Couldn't compile ${srcfile}" - return -1 -} - -proc do_tests {} { - global prms_id bug_id subdir objdir srcdir binfile gdb_prompt - - set prms_id 0 - set bug_id 0 - - # Start with a fresh gdb. - - gdb_exit - gdb_start - gdb_reinitialize_dir $srcdir/$subdir - gdb_load $binfile - - gdb_test "set language chill" "" - - runto p1 - gdb_test "print first" "= 1" - gdb_test "print last" "= 10" -} - -do_tests diff --git a/gdb/testsuite/gdb.chill/pr-8136.ch b/gdb/testsuite/gdb.chill/pr-8136.ch deleted file mode 100644 index b380110eb18..00000000000 --- a/gdb/testsuite/gdb.chill/pr-8136.ch +++ /dev/null @@ -1,34 +0,0 @@ --- NOTE: This test is used for pr-3134.exp as well as pr-8136. -func: MODULE - -<> USE_SEIZE_FILE "func1.grt" <> -SEIZE ALL; - -NEWMODE m_struct = STRUCT (i LONG, str CHARS(50) VARYING); -DCL insarr ARRAY (1:10) INT; - -DCL setrange m_setrange := e5; - -DCL ps m_ps := [ e3, e7:e9 ]; -DCL range_ps m_rangeps := [ 2, 3, 4, 28 ]; - -p1: PROC (first INT IN, last INT IN, s m_struct IN); - - DCL foo LONG := 3; - - startall: PROC () - DO FOR i := first to last; - insarr(i) := i; - OD; - DO FOR i := first TO last; - WRITETEXT (stdout, "insarr(%C) := %C%/", i, insarr(i)); - OD; - END startall; - - startall (); - -END p1; - -p1 (LOWER (insarr), UPPER (insarr), [ 10, "This is a string." ]); - -END func; diff --git a/gdb/testsuite/gdb.chill/pr-8136.exp b/gdb/testsuite/gdb.chill/pr-8136.exp deleted file mode 100644 index 7bf360c9290..00000000000 --- a/gdb/testsuite/gdb.chill/pr-8136.exp +++ /dev/null @@ -1,63 +0,0 @@ -# Copyright (C) 1995, 1997 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - -# Please email any bugs, comments, and/or additions to this file to: -# bug-gdb@prep.ai.mit.edu - -# This file was written by Per Bothner. (bothner@cygnus.com) - -if $tracelevel then { - strace $tracelevel -} - -if [skip_chill_tests] then { continue } - -set testfile2 "func1" -set srcfile2 ${srcdir}/$subdir/${testfile2}.ch -set objfile2 ${objdir}/$subdir/${testfile2}.o -if { [compile "${srcfile2} -g -c -o ${objfile2}"] != "" } { - perror "Couldn't compile ${srcfile2}" - return -1 -} - -set testfile "pr-8136" -set srcfile ${srcdir}/$subdir/pr-8136.ch -set binfile ${objdir}/${subdir}/${testfile}.exe -if { [compile "${srcfile} -g ${objfile2} -o ${binfile} ${CHILL_RT0} ${CHILL_LIB}"] != "" } { - perror "Couldn't compile ${srcfile}" - return -1 -} - -proc do_tests {} { - global prms_id bug_id subdir objdir srcdir binfile gdb_prompt - - set prms_id 0 - set bug_id 0 - - # Start with a fresh gdb. - - gdb_exit - gdb_start - gdb_reinitialize_dir $srcdir/$subdir - gdb_load $binfile - - gdb_test "set language chill" "" - - runto p1 - gdb_test "print ps" {= \[e3, e7:e9\]} -} - -do_tests diff --git a/gdb/testsuite/gdb.chill/pr-8405.ch b/gdb/testsuite/gdb.chill/pr-8405.ch deleted file mode 100644 index a9b25312d6e..00000000000 --- a/gdb/testsuite/gdb.chill/pr-8405.ch +++ /dev/null @@ -1,19 +0,0 @@ -emptybit: MODULE - -SYNMODE b8 = BOOLS(8); -SYN bit8 b8 = B'00000000'; - -SYNMODE char_m = CHARS(40) VARYING; - -SYNMODE stru_m = STRUCT (c char_m, b b8, boo BOOL); -DCL xx stru_m; - -SYNMODE m_stru = STRUCT (c char_m, i LONG, boo BOOL); -DCL yy m_stru; - -SYNMODE m_arr = ARRAY (1:10) LONG; -DCL zz m_arr; - -WRITETEXT (stdout, "%C%/", bit8); - -END emptybit; diff --git a/gdb/testsuite/gdb.chill/pr-8405.exp b/gdb/testsuite/gdb.chill/pr-8405.exp deleted file mode 100644 index dff230e7c82..00000000000 --- a/gdb/testsuite/gdb.chill/pr-8405.exp +++ /dev/null @@ -1,61 +0,0 @@ -# Copyright (C) 1995, 1997 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - -# Please email any bugs, comments, and/or additions to this file to: -# bug-gdb@prep.ai.mit.edu - -# This file was written by Per Bothner. (bothner@cygnus.com) - -if $tracelevel then { - strace $tracelevel -} - -proc do_tests {} { - global prms_id bug_id subdir objdir srcdir binfile gdb_prompt - - set prms_id 0 - set bug_id 0 - - # Start with a fresh gdb. - - gdb_exit - gdb_start - gdb_load $binfile - - gdb_test "set language chill" "" - gdb_test "set var \$i:=xx" "" - gdb_test "print \$i" {= \[.c: "", .b: B'00000000', .boo: FALSE\]} -} - -if [skip_chill_tests] then { continue } - -# Check to see if we have an executable to test. If not, then either we -# haven't tried to compile one, or the compilation failed for some reason. -# In either case, just notify the user and skip the tests in this file. - -set testfile "pr-8405" -set srcfile ${srcdir}/$subdir/${testfile}.ch -set binfile ${objdir}/${subdir}/${testfile}.exe -if { [compile "${srcfile} -g -w -o ${binfile} ${CHILL_RT0} ${CHILL_LIB}"] != "" } { - perror "Couldn't compile ${srcfile}" - return -1 -} - -if ![file exists $binfile] then { - warning "$binfile does not exist; tests suppressed." 0 -} else { - do_tests -} diff --git a/gdb/testsuite/gdb.chill/pr-8742.ch b/gdb/testsuite/gdb.chill/pr-8742.ch deleted file mode 100644 index 0541149978e..00000000000 --- a/gdb/testsuite/gdb.chill/pr-8742.ch +++ /dev/null @@ -1,32 +0,0 @@ -hugo : module - - synmode a = range(1:10); - synmode p = powerset a; - - synmode s = set (sa, sb, sc); - synmode s_ps = powerset s; - - x: proc (ps p); - dcl i a; - do for i in ps; - writetext (stdout, "%C ", i); - od; - writetext(stdout, "%/"); - end x; - - y : proc (ps s_ps); - dcl i s; - do for i in ps; - writetext (stdout, "%C ", i); - od; - writetext(stdout, "%/"); - end y; - - dummy: proc (); - end dummy; - - x([1,2,3]); - y([sa, sc]); - dummy (); - -end hugo; diff --git a/gdb/testsuite/gdb.chill/pr-8742.exp b/gdb/testsuite/gdb.chill/pr-8742.exp deleted file mode 100644 index ee49c287eaa..00000000000 --- a/gdb/testsuite/gdb.chill/pr-8742.exp +++ /dev/null @@ -1,64 +0,0 @@ -# Copyright (C) 1992, 1997 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - -# Please email any bugs, comments, and/or additions to this file to: -# bug-gdb@prep.ai.mit.edu - -# This file was written by Per Bothner. (bothner@cygnus.com) - -if $tracelevel then { - strace $tracelevel -} - -if [skip_chill_tests] then { continue } - -set testfile "pr-8742" -set srcfile ${srcdir}/$subdir/${testfile}.ch -set binfile ${objdir}/${subdir}/${testfile}.exe -if { [compile "${srcfile} -g -o ${binfile} ${CHILL_RT0} ${CHILL_LIB}"] != "" } { - perror "Couldn't compile ${srcfile}" - return -1 -} - -proc do_tests {} { - global prms_id bug_id subdir objdir srcdir binfile gdb_prompt - - set prms_id 0 - set bug_id 0 - - # Start with a fresh gdb. - - gdb_exit - gdb_start - gdb_reinitialize_dir $srcdir/$subdir - gdb_load $binfile - - gdb_test "set language chill" "" - - runto dummy - - # Haven't investigated why these fail on mips-sgi-irix* - setup_xfail "m68*-*-hpux*" "mips*-sgi-irix*" - gdb_test {call x(p [1, 3, 5])} "1 3 5 " "pass int powerset tuple" - setup_xfail "mips*-sgi-irix*" - gdb_test {call y(s_ps [sc])} "sc " "pass set powerset tuple" - setup_xfail "m68*-*-hpux*" "mips*-sgi-irix*" - gdb_test {call x([1, 3, 5])} "1 3 5 " "pass modeless int powerset tuple" - setup_xfail "mips*-sgi-irix*" - gdb_test {call y([sc])} "sc " "pass modeless set powerset tuple" -} - -do_tests diff --git a/gdb/testsuite/gdb.chill/pr-8894-grt.ch b/gdb/testsuite/gdb.chill/pr-8894-grt.ch deleted file mode 100644 index 572017053d0..00000000000 --- a/gdb/testsuite/gdb.chill/pr-8894-grt.ch +++ /dev/null @@ -1,6 +0,0 @@ -yy: MODULE - -SYNMODE m_byte = INT (0:255); -GRANT ALL; - -END yy; diff --git a/gdb/testsuite/gdb.chill/pr-8894.ch b/gdb/testsuite/gdb.chill/pr-8894.ch deleted file mode 100644 index 391d56b2fc0..00000000000 --- a/gdb/testsuite/gdb.chill/pr-8894.ch +++ /dev/null @@ -1,12 +0,0 @@ -xx: MODULE - -<> USE_SEIZE_FILE "pr-8894-grt.grt" <> -SEIZE m_byte; - -SYNMODE m_struct = STRUCT (a, b, c m_byte); - -DCL v m_struct; - -v.a := 100; - -END xx; diff --git a/gdb/testsuite/gdb.chill/pr-8894.exp b/gdb/testsuite/gdb.chill/pr-8894.exp deleted file mode 100644 index adef6f63325..00000000000 --- a/gdb/testsuite/gdb.chill/pr-8894.exp +++ /dev/null @@ -1,61 +0,0 @@ -# Copyright (C) 1996, 1997 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - -# Please email any bugs, comments, and/or additions to this file to: -# bug-gdb@prep.ai.mit.edu - -if $tracelevel then { - strace $tracelevel -} - -if [skip_chill_tests] then { continue } - -set testfile2 "pr-8894-grt" -set srcfile2 ${srcdir}/$subdir/${testfile2}.ch -set objfile2 ${objdir}/$subdir/${testfile2}.o -if { [compile "${srcfile2} -g -c -o ${objfile2}"] != "" } { - perror "Couldn't compile ${srcfile2}" - return -1 -} - -set testfile "pr-8894" -set srcfile ${srcdir}/$subdir/$testfile.ch -set binfile ${objdir}/${subdir}/${testfile}.exe -if { [compile "${srcfile} -g ${objfile2} -o ${binfile} ${CHILL_RT0} ${CHILL_LIB}"] != "" } { - perror "Couldn't compile ${srcfile}" - return -1 -} - -proc do_tests {} { - global prms_id bug_id subdir objdir srcdir binfile gdb_prompt - - set prms_id 0 - set bug_id 0 - - # Start with a fresh gdb. - - gdb_exit - gdb_start - gdb_reinitialize_dir $srcdir/$subdir - gdb_load $binfile - - gdb_test "set language chill" "" - - gdb_test "print size(m_byte)" { = 2} - gdb_test "print size(m_struct)" { = 6} -} - -do_tests diff --git a/gdb/testsuite/gdb.chill/pr-9095.ch b/gdb/testsuite/gdb.chill/pr-9095.ch deleted file mode 100644 index 61ffb700fbe..00000000000 --- a/gdb/testsuite/gdb.chill/pr-9095.ch +++ /dev/null @@ -1,13 +0,0 @@ -gdb1: MODULE - -SYNMODE m_arr1 = ARRAY (1:10) UBYTE; -SYNMODE m_struct = STRUCT ( i LONG, - p REF m_arr1); -SYNMODE m_arr2 = ARRAY (0:10) REF m_struct; - -DCL v_arr1 m_arr1 INIT := [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ]; -DCL v_struct m_struct INIT := [ 10, ->v_arr1 ]; -DCL v_arr2 m_arr2 INIT := [ (5): ->v_struct, (ELSE): NULL ]; - -WRITETEXT (stdout, "v_arr2(5)->.p->(5) = %C%/", v_arr2(5)->.p->(5)); -END gdb1; diff --git a/gdb/testsuite/gdb.chill/pr-9095.exp b/gdb/testsuite/gdb.chill/pr-9095.exp deleted file mode 100644 index 4c5ce97d150..00000000000 --- a/gdb/testsuite/gdb.chill/pr-9095.exp +++ /dev/null @@ -1,62 +0,0 @@ -# Copyright (C) 1996, 1997 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - -# Please email any bugs, comments, and/or additions to this file to: -# bug-gdb@prep.ai.mit.edu - -# This file was written by Per Bothner. (bothner@cygnus.com) - -if $tracelevel then { - strace $tracelevel -} - -proc do_tests {} { - global prms_id bug_id subdir objdir srcdir binfile gdb_prompt - - set prms_id 0 - set bug_id 0 - - # Start with a fresh gdb. - - gdb_exit - gdb_start - gdb_load $binfile - - gdb_test "set language chill" "" - runto pr-9095.ch:12 - gdb_test {p v_arr2(5)->.p(5)} "reference value used as function" \ - "bad call using pointer" -} - -if [skip_chill_tests] then { continue } - -# Check to see if we have an executable to test. If not, then either we -# haven't tried to compile one, or the compilation failed for some reason. -# In either case, just notify the user and skip the tests in this file. - -set testfile "pr-9095" -set srcfile ${srcdir}/$subdir/${testfile}.ch -set binfile ${objdir}/${subdir}/${testfile}.exe -if { [compile "${srcfile} -g -w -o ${binfile} ${CHILL_RT0} ${CHILL_LIB}"] != "" } { - perror "Couldn't compile ${srcfile}" - return -1 -} - -if ![file exists $binfile] then { - warning "$binfile does not exist; tests suppressed." 0 -} else { - do_tests -} diff --git a/gdb/testsuite/gdb.chill/pr-9946.ch b/gdb/testsuite/gdb.chill/pr-9946.ch deleted file mode 100644 index 3d9210a5b8d..00000000000 --- a/gdb/testsuite/gdb.chill/pr-9946.ch +++ /dev/null @@ -1,10 +0,0 @@ -x: module - -synmode aset = SET (stopped, moving); - -DCL xyz aset; - -xyz := moving; -xyz := SUCC (xyz); - -END x; diff --git a/gdb/testsuite/gdb.chill/pr-9946.exp b/gdb/testsuite/gdb.chill/pr-9946.exp deleted file mode 100644 index b6b592f4344..00000000000 --- a/gdb/testsuite/gdb.chill/pr-9946.exp +++ /dev/null @@ -1,79 +0,0 @@ -# Copyright (C) 1995, 1997 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - -# Please email any bugs, comments, and/or additions to this file to: -# bug-gdb@prep.ai.mit.edu - -# This file was written by Fred Fish. (fnf@cygnus.com) -# Martin Pottendorfer (pottendo@aut.alcatel.at) -# - -if $tracelevel then { - strace $tracelevel -} - -if [skip_chill_tests] then { continue } - -set testfile "pr-9946" -set srcfile ${srcdir}/$subdir/${testfile}.ch -set binfile ${objdir}/${subdir}/${testfile}.exe -if { [compile "${srcfile} -g -o ${binfile} ${CHILL_RT0} ${CHILL_LIB}"] != "" } { - perror "Couldn't compile ${srcfile}" - return -1 -} - -# Set the current language to chill. This counts as a test. If it -# fails, then we skip the other tests. - -proc set_lang_chill {} { - global gdb_prompt - global binfile objdir subdir - - verbose "loading file '$binfile'" - gdb_load $binfile - - send_gdb "set language chill\n" - gdb_expect { - -re ".*$gdb_prompt $" {} - timeout { fail "set language chill (timeout)" ; return 0 } - } - - return [gdb_test "show language" ".* source language is \"chill\".*" \ - "set language to \"chill\""] -} - -set prms_id 0 -set bug_id 0 - -# Start with a fresh gdb. - -gdb_exit -gdb_start -gdb_reinitialize_dir $srcdir/$subdir - -gdb_test "set print sevenbit-strings" ".*" - -if ![set_lang_chill] then { - runto x_ - gdb_test "next" "" - # check comparison of SET's - gdb_test {print xyz=moving} { = TRUE} - gdb_test {print xyz/=moving} { = FALSE} - gdb_test {print xyz<moving} { = FALSE} - gdb_test {print xyz<=moving} { = TRUE} - gdb_test {print xyz>moving} { = FALSE} - gdb_test {print xyz>=moving} { = TRUE} -} diff --git a/gdb/testsuite/gdb.chill/result.ch b/gdb/testsuite/gdb.chill/result.ch deleted file mode 100644 index b8c65e7d085..00000000000 --- a/gdb/testsuite/gdb.chill/result.ch +++ /dev/null @@ -1,29 +0,0 @@ -test_result: MODULE - - DCL i INT := 5; - - SYNMODE m_struct = STRUCT (l LONG, b BOOL); - DCL v_struct m_struct := [ 20, TRUE ]; - - simple_func: PROC () RETURNS (INT); - DCL j INT := i; - RESULT 10; - i + := 2; - RESULT j + 2; - i + := 2; - END simple_func; - - ret_struct: PROC () RETURNS (m_struct) - DCL v m_struct := [ 33, FALSE ]; - RESULT v; - v.l := 18; - END ret_struct; - - i := simple_func (); - i := simple_func (); - i * := 10; - - v_struct := ret_struct (); - - i := 33; -- for gdb -END test_result; diff --git a/gdb/testsuite/gdb.chill/result.exp b/gdb/testsuite/gdb.chill/result.exp deleted file mode 100644 index 64ca33529c8..00000000000 --- a/gdb/testsuite/gdb.chill/result.exp +++ /dev/null @@ -1,77 +0,0 @@ -# Copyright (C) 1994, 1997 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - -# Please email any bugs, comments, and/or additions to this file to: -# bug-gdb@prep.ai.mit.edu - -# This file was written by Per Bothner. (bothner@cygnus.com) - -if $tracelevel then { - strace $tracelevel -} - -if [skip_chill_tests] then { continue } - -set testfile "result" -set srcfile ${srcdir}/$subdir/${testfile}.ch -set binfile ${objdir}/${subdir}/${testfile}.exe -if { [compile "${srcfile} -g -o ${binfile} ${CHILL_RT0} ${CHILL_LIB}"] != "" } { - perror "Couldn't compile ${srcfile}" - return -1 -} - -proc do_tests {} { - global prms_id bug_id subdir objdir srcdir binfile gdb_prompt - - set prms_id 0 - set bug_id 0 - - # Start with a fresh gdb. - - gdb_exit - gdb_start - gdb_reinitialize_dir $srcdir/$subdir - gdb_load $binfile - - gdb_test "set language chill" "" - - gdb_test "set width 0" "" - gdb_test "set print sevenbit-strings" "" - gdb_test "set print address off" "" - - # simple function - runto simple_func - gdb_test "step 2" "" - gdb_test "print j" "= 5" - gdb_test "p RESULT" "= 10" - gdb_test "continue" "" - gdb_test "print i" "= 7" - gdb_test "step 4" "" - gdb_test "set RESULT := 50" "" - gdb_test "finish" "" - gdb_test "step" "" - gdb_test "print i" "= 50" - - # returning a structure - runto ret_struct - gdb_test "step 2" "" - gdb_test "p result" {\[.l: 33, .b: FALSE\]} - gdb_test "set var result := \[383, TRUE\]" "" - gdb_test "finish" "" - gdb_test "p v_struct" {\[.l: 383, .b: TRUE\]} -} - -do_tests diff --git a/gdb/testsuite/gdb.chill/string.ch b/gdb/testsuite/gdb.chill/string.ch deleted file mode 100644 index 3503c462eae..00000000000 --- a/gdb/testsuite/gdb.chill/string.ch +++ /dev/null @@ -1,24 +0,0 @@ -ss: MODULE - -/* These declarations are from Cygnus PR chill/9078. */ - SYNMODE m_char20 = CHARS(20) VARYING; - - DCL foo m_char20 INIT := "Moser "; - DCL bar m_char20 INIT := "Wilfried"; - - DCL foo1 CHARS(5) INIT := "12345"; - DCL bar1 CHARS(5) INIT := "abcde"; - -/* This is Cynus PR chill/5696. */ - -DCL s20 CHARS(20) VARYING; - -DCL s10 CHARS(10); - - -s20 := "Moser Wilfried"; -S10 := "1234567890"; - -WRITETEXT (stdout, "s20 := ""%C"", s10 := ""%C""%/", s20, s10); - -END ss; diff --git a/gdb/testsuite/gdb.chill/string.exp b/gdb/testsuite/gdb.chill/string.exp deleted file mode 100644 index dabd7e90a7f..00000000000 --- a/gdb/testsuite/gdb.chill/string.exp +++ /dev/null @@ -1,73 +0,0 @@ -# Copyright (C) 1995, 1997 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - -# Please email any bugs, comments, and/or additions to this file to: -# bug-gdb@prep.ai.mit.edu - -if $tracelevel then { - strace $tracelevel -} - -if [skip_chill_tests] then { continue } - -set testfile "string" -set srcfile ${srcdir}/$subdir/${testfile}.ch -set binfile ${objdir}/${subdir}/${testfile}.exe -if { [compile "${srcfile} -g -o ${binfile} ${CHILL_RT0} ${CHILL_LIB}"] != "" } { - perror "Couldn't compile ${srcfile}" - return -1 -} - -proc do_tests {} { - global prms_id bug_id subdir objdir srcdir binfile gdb_prompt - - set prms_id 0 - set bug_id 0 - - # Start with a fresh gdb. - - gdb_exit - gdb_start - gdb_reinitialize_dir $srcdir/$subdir - gdb_load $binfile - - gdb_test "set language chill" "" - - # These tests based on Cygnus PR chill/5696. - runto string.ch:22 - gdb_test "p s20" { = "Moser Wilfried"} "print simple vstring" - gdb_test "p s20(1)" { = 'o'} "print vstring element" - gdb_test "p s20(1:3)" { = "ose"} "print vstring slice (:)" - gdb_test "p s20(2 up 3)" { = "ser"} "print vstring slice (up)" - gdb_test "p s10" { = "1234567890"} "print simple string" - gdb_test "p s10(1)" { = '2'} "print string element" - gdb_test "p s10(1:3)" { = "234"} "print string slice (:)" - gdb_test "p s10(2 up 3)" { = "345"} "print string slice (up)" - - gdb_test "p length(s10)" { = 10} "print string length" - gdb_test "p length(s20)" { = 14} "print varying string length" - gdb_test "p lower(s10)" { = 0} "print string lower" - gdb_test "p upper(s10)" { = 9} "print string upper" - gdb_test "p lower(s20)" { = 0} "print varying string lower" - gdb_test "p upper(s20)" { = 19} "print varying string upper" - - # These tests are based on Cygnus PR chill/9078. - gdb_test "print foo // bar" { = "Moser Wilfried"} - gdb_test "print foo // bar1" { = "Moser abcde"} - gdb_test "print foo1 // bar1" { = "12345abcde"} -} - -do_tests diff --git a/gdb/testsuite/gdb.chill/tests1.ch b/gdb/testsuite/gdb.chill/tests1.ch deleted file mode 100644 index b545d072a27..00000000000 --- a/gdb/testsuite/gdb.chill/tests1.ch +++ /dev/null @@ -1,240 +0,0 @@ --- Copyright (C) 1992, 1995 Free Software Foundation, Inc. - --- This program is free software; you can redistribute it and/or modify --- it under the terms of the GNU General Public License as published by --- the Free Software Foundation; either version 2 of the License, or --- (at your option) any later version. --- --- This program is distributed in the hope that it will be useful, --- but WITHOUT ANY WARRANTY; without even the implied warranty of --- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the --- GNU General Public License for more details. --- --- You should have received a copy of the GNU General Public License --- along with this program; if not, write to the Free Software --- Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ - --- Please email any bugs, comments, and/or additions to this file to: --- bug-gdb@prep.ai.mit.edu - --- --- test program 1 (refer to tests1.exp) --- - -/* These functions are defined in libchill.a */ - -runtime: SPEC MODULE -DCL chill_argc long; -DCL chill_argv REF ARRAY (0:1000) REF CHARS (1000) VARYING; -__print_event: PROC (arg0 ptr, - arg1 ptr) END; -__print_buffer: PROC (arg0 ptr, - arg1 ptr) END; -GRANT ALL; -END; - -tests1: module; - -seize __print_event, - __print_buffer; - -newmode set1 = set(aaa, bbb, ccc); -newmode nset1 = set(na = 1, nb = 34, nc = 20); -newmode r11 = range (0 : upper(ubyte)); -newmode r12 = range (0 : upper(uint)); ---newmode r13 = range (0 : upper(ulong)); -- bug in gnuchill -newmode r14 = range (lower(byte) : upper(byte)); -newmode r15 = range (lower(int) : upper(int)); -newmode r16 = range (lower(long): upper(long)); -newmode r2 = set1(bbb : ccc); -newmode r3 = nset1(na : na); -newmode r4 = nset1(nc : nb); -newmode r5 = nset1(lower(nset1) : upper(nset1)); - -newmode pm1 = powerset set(p1, p2, p3, p4, p5, p6, p7, p8, p9, p10); -newmode pm2 = powerset byte (1:8); -newmode pm3 = powerset int (-32768:32767); -newmode pm4 = powerset long (-32768:32768); -newmode pm5 = powerset long (lower(long):upper(long)); -newmode ref1 = ref pm1; -newmode ref2 = ref byte; -newmode ref3 = ptr; -synmode ref4 = ptr; -synmode syn_int = int; - -newmode prm1 = proc (); -newmode prm2 = proc (bool in, int out, long inout) returns (char); -newmode prm3 = proc (pm1, ref1 loc) returns (ref3); -newmode prm4 = proc () exceptions(ex1, ex2, ex3); -newmode prm5 = proc (r11, r16 inout, r5 out) returns (r2) exceptions (ex1); - -newmode ev1m = event; -newmode ev2m = event (42); - -newmode bu1m = buffer ref1; -newmode bu2m = buffer (42) ubyte; - -newmode strm1 = char (5); -synmode strm2 = char (7) varying; - -synmode bstr1 = bit(20); ---newmode bstr2 = bit(10) varying; - -newmode arr1m = array(1:100) set1; -newmode arr2m = array(1:100, 1:100) set1; -newmode arr3m = array(r11, r12, r14) set1; -newmode arr4m = array(r2) array (r3) array (r4, r5) pm1; -newmode arr5m = array(1:10) int; -newmode arr6m = array(1:5, 1:3, 1:2) long; - -newmode stru1m = struct (a, b long, - case b of - (42): ch1 chars(20), - (52): ch2 chars(10) - else ch3 chars(1) - esac); - -newmode stru2m = struct (f set1, - case f of - (aaa): ch1 char(20), - (bbb): ch2 char(10) varying - else ch3 char(0) varying - esac); -newmode stru3m = struct (f r3, - case f of - (na): ch1 char(20) - esac); -newmode stru4m = struct (i long, - case of - : i1, i11 int, - b1 bool, - c1 char, - : i2, i22 long, - bs2 bools (10), - : - s3 struct (i3 int, - case of - : foo long - else bar char - esac) - else - x stru2m - esac, - y stru3m); - -synmode m_xyzmode = struct (next ref m_xyzmode, - i long); - --- set mode locations -dcl s1l set1 := ccc; -dcl s2l nset1 := nb; - --- range mode locations -dcl rl1 r11 := 3; -dcl rl2 r11 := lower(r11); -dcl rl3 r11 := upper(r11); - -dcl rl5 r12 := 65530; -dcl rl6 r12 := lower(r12); -dcl rl7 r12 := upper(r12); - ---dcl rl9 r13 := 128; ---dcl rl10 r13 := lower(r13); ---dcl rl11 r13 := upper(r13); - -dcl rl13 r14 := -121; -dcl rl14 r14 := lower(r14); -dcl rl15 r14 := upper(r14); - -dcl rl17 r15 := -32720; -dcl rl18 r15 := lower(r15); -dcl rl19 r15 := upper(r15); - -dcl rl21 r16 := 2147483643; -dcl rl22 r16 := lower(r16); -dcl rl23 r16 := upper(r16); - --- powerset mode locations -dcl pl1 pm1 := [p1:p10]; -dcl pl2 pm1 := []; -dcl pl3 pm1 := [p1, p10]; -dcl pl4 pm1 := [p1:p2, p4:p6, p8:p10]; -dcl pl5 pm1 := [p1:p4, p6, p8:p10]; -dcl pl6 pm1 := [p1, p3:p8, p10]; - -dcl pl7 pm2 := [1:8]; -dcl pl8 pm3 := [-32768:32767]; ---dcl pl9 pm5 := [-2147483648:2147483647]; - --- reference mode locations -dcl ref3l ref3; -dcl ref4l ref4; -dcl ref5l, ref6l, ref7l, ref8l ptr; -dcl syn_intl1 syn_int := 42; -dcl intl1 int := -42; - --- synchronization mode locations -dcl ev1l ev1m; -dcl ev2l ev2m; -dcl bu1l bu1m; -dcl bu2l bu2m; - --- timing mode locations -dcl til1 time; - --- string mode locations -dcl strl1, strl2 strm2; -dcl bstrl1 bstr1 := B'10101010101010101010'; - --- array mode locations -dcl arrl1 arr1m; -dcl arrl2 arr5m := [1, -1, 32767, -32768, 0, 10, 11, 12, 13, 42]; -dcl arrl3 arr6m := [(1:5): [(1:3): [(1:2): -2147483648]]]; -dcl arrl4 arr6m := [(1:2): [(1:3): [(1:2): -2147483648]], - (3): [(1:3): [(1:2): 100]], - (4:5): [(1:3): [(1:2): -2147483648]]]; -dcl arrl5 array(1:10) nset1; - --- structure mode locations -dcl strul1 stru1m := [-2147483648, 42, "12345678900987654321"]; - -dummyfunc: proc(); -end dummyfunc; - -ref3l:=->pl1; -- newmode ref -ref4l:=->pl1; -- synmode ref -ref5l:=->pl1; -- ptr - -ref6l:=->syn_intl1; -- ref to synmode -ref7l:=->intl1; -- ref to predefined mode -ref8l:=->pl1; -- ref to newmode - -strl1 := "ha" // C'6e' // "s" // "i" // C'00'; -strl2 := C'00' // "ope"; - -__print_event(addr(ev1l), addr("ev1l")); -__print_event(addr(ev2l), addr("ev2l")); -__print_buffer(addr(bu1l), addr("bu1m")); -__print_buffer(addr(bu2l), addr("bu2m")); - -til1 := abstime(1970, 3, 12, 10, 43, 0); -writetext(stdout, "lower(pm3) = %C; upper(pm3) = %C%..%/", - lower(pm3), upper(pm3)); -writetext(stdout, "lower(pm5) = %C; upper(pm5) = %C%..%/", - lower(pm5), upper(pm5)); ---writetext(stdout, "lower(pl9) = %C; upper(pl9) = %C%..%/", --- lower(pl9), upper(pl9)); -writetext(stdout, "date = %C%..%/", til1); - -writetext(stdout, "slice1 = %C%..%/", strl1(3 : 5)); -writetext(stdout, "slice2 = %C%..%/", strl2(0 : 3)); ---writetext(stdout, "slice3 = %C%..%/", strl1(0 up 20)); -writetext(stdout, "slice4 = %C%..%/", bstrl1(0)); ---writetext(stdout, "slice5 = %C%..%/", arrl3(1:5)); - - -writetext(stdout, "done.%/"); - -dummyfunc(); - -end tests1; diff --git a/gdb/testsuite/gdb.chill/tests1.exp b/gdb/testsuite/gdb.chill/tests1.exp deleted file mode 100644 index 3ede1eb08bd..00000000000 --- a/gdb/testsuite/gdb.chill/tests1.exp +++ /dev/null @@ -1,822 +0,0 @@ -# Copyright (C) 1995, 1997 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - -# Please email any bugs, comments, and/or additions to this file to: -# bug-gdb@prep.ai.mit.edu - -# This file tests various Chill values, expressions, and types. - -if $tracelevel then { - strace $tracelevel -} - -if [skip_chill_tests] then { continue } - -set testfile "tests1" -set srcfile ${srcdir}/$subdir/${testfile}.ch -set binfile ${objdir}/${subdir}/${testfile}.exe -if { [compile "${srcfile} -g -w -o ${binfile} ${CHILL_RT0} ${CHILL_LIB}"] != "" } { - perror "Couldn't compile ${srcfile}" - return -1 -} - -# Set the current language to chill. This counts as a test. If it -# fails, then we skip the other tests. - -proc set_lang_chill {} { - global gdb_prompt - global binfile objdir subdir - - verbose "loading file '$binfile'" - gdb_load $binfile - send_gdb "set language chill\n" - gdb_expect { - -re ".*$gdb_prompt $" {} - timeout { fail "set language chill (timeout)" ; return 0 } - } - - send_gdb "show language\n" - gdb_expect { - -re ".* source language is \"chill\".*$gdb_prompt $" { - pass "set language to \"chill\"" - send_gdb "break dummyfunc\n" - gdb_expect { - -re ".*$gdb_prompt $" { - send_gdb "run\n" - gdb_expect -re ".*$gdb_prompt $" {} - return 1 - } - timeout { - fail "can't set breakpoint (timeout)" - return 0 - } - } - } - -re ".*$gdb_prompt $" { - fail "setting language to \"chill\"" - return 0 - } - timeout { - fail "can't show language (timeout)" - return 0 - } - } -} - -# Testing printing of a specific value. Increment passcount for -# success or issue fail message for failure. In both cases, return -# a 1 to indicate that more tests can proceed. However a timeout -# is a serious error, generates a special fail message, and causes -# a 0 to be returned to indicate that more tests are likely to fail -# as well. -# -# Args are: -# -# First one is string to send_gdb to gdb -# Second one is string to match gdb result to -# Third one is an optional message to be printed - -proc test_print_accept { args } { - global gdb_prompt - global passcount - global verbose - - if [llength $args]==3 then { - set message [lindex $args 2] - } else { - set message [lindex $args 0] - } - set sendthis [lindex $args 0] - set expectthis [lindex $args 1] - set result [gdb_test $sendthis ".* = ${expectthis}" $message] - if $result==0 {incr passcount} - return $result -} - -# Testing printing of a specific value. Increment passcount for -# success or issue fail message for failure. In both cases, return -# a 1 to indicate that more tests can proceed. However a timeout -# is a serious error, generates a special fail message, and causes -# a 0 to be returned to indicate that more tests are likely to fail -# as well. - -# various tests if modes are treated correctly -# using ptype -proc test_modes {} { - global passcount - - verbose "testing chill modes" - set passcount 0 - - # discrete modes - test_print_accept "ptype BYTE" "byte" - test_print_accept "ptype UBYTE" "ubyte" - test_print_accept "ptype INT" "int" - test_print_accept "ptype UINT" "uint" - test_print_accept "ptype LONG" "long" - test_print_accept "ptype ULONG" "ulong" - test_print_accept "ptype BOOL" "bool" - test_print_accept "ptype CHAR" "char" - - test_print_accept "ptype set1" "SET \[(\]aaa, bbb, ccc\[)\]" \ - "print unnumbered set mode" - test_print_accept "ptype nset1" "SET \[(\]na = 1, nb = 34, nc = 20\[)\]" \ - "print numbered set mode" - - # mp: - # display maybe in hex values ? - # - test_print_accept "ptype r11" "ubyte \\(0:255\\)" \ - "print ubyte range mode" - test_print_accept "ptype r12" "uint \\(0:65535\\)" \ - "print uint range mode" -# test_print_accept "ptype r13" "ulong \\(0:4294967295\\)" \ -# "print ulong range mode" - test_print_accept "ptype r14" "byte \\(-128:127\\)" \ - "print byte range mode" - test_print_accept "ptype r15" "int \\(-32768:32767\\)" \ - "print int range mode" - test_print_accept "ptype r16" "long \\(-2147483648:2147483647\\)" \ - "print long range mode" - - test_print_accept "ptype r2" "set1 \\(bbb:ccc\\)" \ - "print unnumbered set range mode" - test_print_accept "ptype r3" "nset1 \\(na:na\\)" \ - "print numbered set range mode" - # really this order ? - # I'm not sure what should happen for the next two tests. - setup_xfail "*-*-*" - test_print_accept "ptype r4" "nset1 \\(nb = 34:nc = 20\\)" \ - "print numbered set range mode" - setup_xfail "*-*-*" - test_print_accept "ptype r5" "nset1 \\(na = 1, nb = 34, nc = 20\\)" \ - "print numbered set range mode" - - # powerset modes - test_print_accept "ptype pm1" \ - "POWERSET SET \[(\]p1, p2, p3, p4, p5, p6, p7, p8, p9, p10\[)\]" \ - "print powerset mode 1" - test_print_accept "ptype pm2" "POWERSET byte \\(1:8\\)" \ - "print powerset mode 2" - test_print_accept "ptype pm3" "POWERSET int \\(-32768:32767\\)" \ - "print powerset mode 3" - test_print_accept "ptype pm4" "POWERSET long \\(-32768:32768\\)" \ - "print powerset mode 4" - test_print_accept "ptype pm5" \ - "POWERSET long \\(-2147483648:2147483647\\)" \ - "print powerset mode 5" - - # reference modes - test_print_accept "ptype ref1" "REF pm1" \ - "print reference to powerset mode" - test_print_accept "ptype ref2" "REF byte" \ - "print reference to byte" - test_print_accept "ptype ref3" "PTR" \ - "print free reference type" - - # procedure modes - # FIXME: we have to talk about this ... - test_print_accept "ptype prm1" \ - "REF PROC \[(\]\[)\]" \ - "print procedure mode 1" - setup_xfail "*-*-*" - test_print_accept "ptype prm2" \ - "REF PROC \[(\]bool in, int out long inout\[)\] RETURNS \[(\]char\[)\]" \ - "print procedure mode 2" - setup_xfail "*-*-*" - test_print_accept "ptype prm3" \ - "REF PROC \[(\]pm1, ref loc\[)\] RETURNS \[(\]ref3\[)\]" \ - "print procedure mode 3" - setup_xfail "*-*-*" - test_print_accept "ptype prm4" \ - "\[(\] \[)\] EXCEPTIONS \[(\]ex1, ex2, ex3\[)\]" \ - "print procedure mode 4" - setup_xfail "*-*-*" - test_print_accept "ptype prm5" \ - "REF PROC \[(\]r11, r16 inout, r5 out\[)\] RETURNS \[(\]r2\[)\] EXCEPTIONS \[(\]ex1\[)\]" \ - "print procedure mode 5" - - # synchronization modes - # FIXME: since gdb doesn't process events & buffers so far, this has be - # filled later... - xfail "synchronization mode handling" - - # timing modes - test_print_accept "ptype DURATION" "duration" - test_print_accept "ptype TIME" "time" - - # string modes - # some tests are done in chillvars.exp - test_print_accept "ptype strm1" "CHARS \\(5\\)" "print char string mode" - test_print_accept "ptype strm2" "CHARS \[(\]7\[)\] VARYING" \ - "print varying char string mode" - test_print_accept "ptype bstr1" "BOOLS \\(20\\)" "print bit string mode" - - test_print_accept "ptype B'000'" "BOOLS \\(3\\)" "bit string literal" - test_print_accept "ptype B'11110000'" "BOOLS \\(8\\)" "bit string literal" - # FIXME: adjust error message - gdb_test "ptype B'00110211'" {.*Too-large digit.*[.]} \ - "reject invalid bitstring" - - # array modes - # some tests are done in chillvars.exp - test_print_accept "ptype arr1m" "ARRAY \\(1:100\\) set1" \ - "print array mode 1" - test_print_accept "ptype arr2m" "ARRAY \\(1:100\\) ARRAY \\(1:100\\) set1"\ - "print array mode 2" - test_print_accept "ptype arr3m" "ARRAY \\(0:255\\) ARRAY \\(0:65535\\) ARRAY \\(-128:127\\) set1" \ - "print array mode 3" - setup_xfail "*-*-*" - test_print_accept "ptype arr4m" "ARRAY \\(b:c\\) ARRAY \\(na = 1:na = 1\\) ARRAY \\(nc:nb\\) ARRAY \\(na = 1:nc = 20\\) POWERSET SET \[(\]p1, p2, p3, p4, p5, p6, p7, p8, p9, p10\[)\]" \ - "print array mode 4" - - # structure modes - # some checks are in chillvars.exp - # setup_xfail "*-*-*" - test_print_accept "ptype stru1m" "STRUCT \\(.*a long,.*b long,.*CASE OF.*:.*ch1 CHARS \\(20\\).*:.*ch2 CHARS \\(10\\).*ELSE.*ch3 CHARS \\(1\\).*ESAC.*\\)" \ - "print structure mode 1" - #setup_xfail "*-*-*" - test_print_accept "ptype stru2m" "STRUCT \\(.*f set1,.*CASE OF.*:.*ch1 CHARS \\(20\\).*:.*ch2 CHARS \\(10\\) VARYING.*ELSE.*ch3 CHARS \\(0\\) VARYING.*ESAC.*\\)" \ - "print structure mode 2" - #setup_xfail "*-*-*" - test_print_accept "ptype stru3m" "STRUCT \\(.*f r3,.*CASE OF.*:.*ch1 CHARS \\(20\\).*ESAC.*\\)" \ - "print structure mode 3" - # setup_xfail "*-*-*" - test_print_accept "ptype stru4m" "STRUCT \\(.*i long,.*CASE OF.*:.*i1 int,.*i11 int,.*b1 bool,.*c1 char.*:.*i2 long,.*i22 long,.*bs2 BOOLS \\(10\\).*:.*s3 STRUCT \\(.*i3 int,.*CASE OF.*:.*foo long.*ELSE.*bar char.*ESAC.*\\).*ELSE.*x stru2m.*ESAC,.*y stru3m.*\\)" \ - "print structure mode 4" - - - if $passcount then { - pass "$passcount correct modes printed" - } -} - -# various tests if locations are treated correctly -# read access using ptype, print, whatis -proc test_locations {} { - global passcount - - set passcount 0 - verbose "testing read access to locations" - # various location tests can be found in chillvars.exp - - # set locations - test_print_accept "ptype s1l" "SET \\(aaa, bbb, ccc\\)" \ - "print mode of set location" - test_print_accept "whatis s1l" "set1" \ - "print modename of set location" - test_print_accept "print s1l" "ccc" "print set location" - test_print_accept "ptype s2l" "SET \\(na = 1, nb = 34, nc = 20\\)" \ - "print mode of numbered set location" - test_print_accept "whatis s2l" "nset1" \ - "print mode name of numbered set location" - test_print_accept "print s2l" "nb" "print numberes set location" - - # range modes - test_print_accept "ptype rl1" "ubyte \\(0:255\\)" \ - "print mode of range location" - test_print_accept "whatis rl1" "r11" \ - "print mode name of range location" - test_print_accept "print rl1" "3" \ - "print range location" - - test_print_accept "ptype rl2" "ubyte \\(0:255\\)" \ - "print mode of range location" - test_print_accept "whatis rl2" "r11" \ - "print mode name of range location" - test_print_accept "print rl2" "0" \ - "print range location" - - test_print_accept "ptype rl3" "ubyte \\(0:255\\)" \ - "print mode of range location" - test_print_accept "whatis rl3" "r11" \ - "print mode name of range location" - test_print_accept "print rl3" "255" \ - "print range location" - - test_print_accept "ptype rl5" "uint \\(0:65535\\)" \ - "print mode of range location" - test_print_accept "whatis rl5" "r12" \ - "print mode name of range location" - test_print_accept "print rl5" "65530" \ - "print range location" - - test_print_accept "ptype rl6" "uint \\(0:65535\\)" \ - "print mode of range location" - test_print_accept "whatis rl6" "r12" \ - "print mode name of range location" - test_print_accept "print rl6" "0" \ - "print range location" - - test_print_accept "ptype rl7" "uint \\(0:65535\\)" \ - "print mode of range location" - test_print_accept "whatis rl7" "r12" \ - "print mode name of range location" - test_print_accept "print rl7" "65535" \ - "print range location" - -# test_print_accept "ptype rl9" "ulong \\(0:4294967295\\)" \ -# "print mode of range location" -# test_print_accept "whatis rl9" "r13" \ -# "print mode name of range location" -# test_print_accept "print rl9" "128" \ -# "print range location" - -# test_print_accept "ptype rl10" "ulong \\(0:4294967295\\)" \ -# "print mode of range location" -# test_print_accept "whatis rl10" "r13" \ -# "print mode name of range location" -# test_print_accept "print rl10" "0" \ -# "print range location" - -# test_print_accept "ptype rl11" "ulong \\(0:4294967295\\)" \ -# "print mode of range location" -# test_print_accept "whatis rl11" "r13" \ -# "print mode name of range location" -# test_print_accept "print rl11" "4294967295" \ -# "print range location" - - test_print_accept "ptype rl13" "byte \\(-128:127\\)" \ - "print mode of range location" - test_print_accept "whatis rl13" "r14" \ - "print mode name of range location" - test_print_accept "print rl13" "-121" \ - "print range location" - - test_print_accept "ptype rl14" "byte \\(-128:127\\)" \ - "print mode of range location" - test_print_accept "whatis rl14" "r14" \ - "print mode name of range location" - test_print_accept "print rl14" "-128" \ - "print range location" - - test_print_accept "ptype rl15" "byte \\(-128:127\\)" \ - "print mode of range location" - test_print_accept "whatis rl15" "r14" \ - "print mode name of range location" - test_print_accept "print rl15" "127" \ - "print range location" - - test_print_accept "ptype rl17" "int \\(-32768:32767\\)" \ - "print mode of range location" - test_print_accept "whatis rl17" "r15" \ - "print mode name of range location" - test_print_accept "print rl17" "-32720" \ - "print range location" - - test_print_accept "ptype rl18" "int \\(-32768:32767\\)" \ - "print mode of range location" - test_print_accept "whatis rl18" "r15" \ - "print mode name of range location" - test_print_accept "print rl18" "-32768" \ - "print range location" - - test_print_accept "ptype rl19" "int \\(-32768:32767\\)" \ - "print mode of range location" - test_print_accept "whatis rl19" "r15" \ - "print mode name of range location" - test_print_accept "print rl19" "32767" \ - "print range location" - - test_print_accept "ptype rl21" "long \\(-2147483648:2147483647\\)" \ - "print mode of range location" - test_print_accept "whatis rl21" "r16" \ - "print mode name of range location" - test_print_accept "print rl21" "2147483643" \ - "print range location" - - test_print_accept "ptype rl22" "long \\(-2147483648:2147483647\\)" \ - "print mode of range location" - test_print_accept "whatis rl22" "r16" \ - "print mode name of range location" - test_print_accept "print rl22" "-2147483648" \ - "print range location" - - test_print_accept "ptype rl23" "long \\(-2147483648:2147483647\\)" \ - "print mode of range location" - test_print_accept "whatis rl23" "r16" \ - "print mode name of range location" - test_print_accept "print rl23" "2147483647" \ - "print range location" - - # powerset locations - test_print_accept "ptype pl1" \ - "POWERSET SET \\(p1, p2, p3, p4, p5, p6, p7, p8, p9, p10\\)" \ - "print mode of powerset location 1" - test_print_accept "whatis pl1" "pm1" \ - "print mode mode name of powerset location" - test_print_accept "print pl1" \ - "\[\[\]p1:p10\[\]\]" \ - "print powerset location 1" - test_print_accept "print pl2" {\[\]} \ - "print powerset location 2" - test_print_accept "print pl3" "\[\[\]p1, p10\[\]\]" \ - "print powerset location 3" - test_print_accept "print pl4" {\[p1:p2, p4:p6, p8:p10\]} \ - "print powerset location 4" - test_print_accept "print pl5" {\[p1:p4, p6, p8:p10\]} \ - "print powerset location 5" - test_print_accept "print pl6" {\[p1, p3:p8, p10\]} \ - "print powerset location 6" - - test_print_accept "ptype pl7" \ - "POWERSET byte \\(1:8\\)" \ - "print mode of byte powerset location" - test_print_accept "whatis pl7" "pm2" \ - "print modename of byte powerset location" - test_print_accept "print pl7" {\[1:8\]} \ - "print powerset location 7" - - test_print_accept "ptype pl8" \ - "POWERSET int \\(-32768:32767\\)" \ - "print mode of int powerset location" - test_print_accept "whatis pl8" "pm3" \ - "print modename of int powerset location" - test_print_accept "print pl8" {\[-32768:32767\]} \ - "print powerset location 8" - -# test_print_accept "ptype pl9" \ -# "POWERSET long \\(-2147483648:2147483647\\)" \ -# "print mode of long powerset location" -# test_print_accept "whatis pl9" "pm5" \ -# "print modename of long powerset location" -# test_print_accept "print pl9" {\[-2147483648:2147483647\]} \ -# "print powerset location 9" - - # reference modes - test_print_accept "ptype ref3l" "PTR" "print mode of reference location" - # setup_xfail "*-*-*" - test_print_accept "whatis ref3l" "ref3" \ - "print modename of reference location" - # setup_xfail "*-*-*" - test_print_accept "print ref3l" "ref3\\(H'.*\\)" \ - "print reference location" - test_print_accept "ptype ref4l" "PTR" "print mode of reference location" - # setup_xfail "*-*-*" - test_print_accept "whatis ref4l" "ref4" \ - "print modename of reference location" - # setup_xfail "*-*-*" - test_print_accept "print ref4l" "ref4\\(H'.*\\)" \ - "print reference location" - test_print_accept "ptype ref5l" "PTR" "print mode of reference location" - test_print_accept "whatis ref5l" "PTR" \ - "print modename of reference location" - test_print_accept "print ref5l" "PTR\\(H'.*\\)" \ - "print reference location" - - # dereference a little bit.. - test_print_accept "print ref6l->syn_int" "42" \ - "dereference reference to synmode location" - test_print_accept "print ref7l->int" "-42" \ - "dereference reference to predefined mode location" - test_print_accept "print ref8l->pm1" \ - "\[\[\]p1:p10\[\]\]" \ - "dereference reference to newmode location" - - # synchronization mode locations - # FIXME: synchronization modes are not supported so far... - xfail "no synchronization mode location support, not implemented yet" - - # timing mode locations - # FIXME: callbacks to abstime, inttime not implemented - xfail "timing modes not implemented properly yet" - - # char string locations - # some tests are don in chillvars.exp - test_print_accept "ptype strl1" \ - "CHARS \\(7\\) VARYING" \ - "print varying string location" - test_print_accept "whatis strl1" "strm2" \ - "print string locationa mode name" - test_print_accept "print strl1" \ - {\"hansi\^\(0\)\"} \ - "print string location" - # string elements - test_print_accept "print strl1(0)" "\'h\'" \ - "print string element 1" - test_print_accept "print strl1(5)" {'\^[(]0[)]'} \ - "print string element 2" - test_print_accept "print strl1(3)" "\'s\'" \ - "print string element 3" - test_print_accept "ptype strl1(0)" "char" \ - "print mode of string element" - # slices - test_print_accept "print strl1(3:4)" "\"si\"" \ - "print string slice 1" - test_print_accept "print strl1(0:5)" \ - {\"hansi\^\(0\)\"} \ - "print string slice 2" - test_print_accept "print strl1(0:0)" "\"h\"" \ - "print string slice 3" - test_print_accept "print strl1(0 up 6)" \ - {\"hansi\^\(0\)\"} \ - "print string slice 4" - # FIXME: adjust error message, when implented - gdb_test "print strl1(6 up 1)" \ - ".*slice.*out of range.*" \ - "print invalid string slice length" - gdb_test "print strl1(-1 up 5)" \ - ".*slice.*out of range.*" \ - "print invalid string slice length" - gdb_test "print strl1(-1:5)" \ - ".*slice.*out of range.*" \ - "print invalid string slice" - gdb_test "print strl1(-1:7)" \ - ".*slice.*out of range.*" \ - "print invalid string slice" - gdb_test "print strl1(0 up -1)" \ - ".*slice.*out of range.*" \ - "print invalid string slice length" - gdb_test "print strl1(0 up 0)" {""} - - # bitstring locations - test_print_accept "ptype bstr1" \ - "BOOLS \\(20\\)" \ - "print mode of bitstring location" - test_print_accept "whatis bstrl1" "bstr1" \ - "print mode name of bitstring location" - test_print_accept "print bstrl1" \ - "B'10101010101010101010'" \ - "print bitstring location" - - test_print_accept "ptype bstrl1(0)" "bool|BOOL" \ - "print mode of bitstring element" - test_print_accept "print bstrl1(0)" "TRUE" \ - "print bitstring element 1" - test_print_accept "print bstrl1(19)" "FALSE" \ - "print bitstring element 2" - test_print_accept "print bstrl1(10)" "TRUE" \ - "print bitstring element 3" - - test_print_accept "print bstrl1(0:19)" \ - "B'10101010101010101010'" \ - "print bitstring location slice 1" - test_print_accept "print bstrl1(0:0)" \ - "B'1'" \ - "print bitstring location slice 2" - test_print_accept "print bstrl1(3:9)" \ - "B'0101010'" \ - "print bitstring location slice 3" - test_print_accept "print bstrl1(0 up 20)" \ - "B'10101010101010101010'" \ - "print bitstring location slice 4" - test_print_accept "print bstrl1(19 up 1)" \ - "B'0'" \ - "print bitstring location slice 5" - gdb_test "print bstrl1(20 up 1)" \ - ".*slice out of range.*" \ - "print invalid bitstring slice (20 up 1)" - gdb_test "print bstrl1(-4:5)" \ - ".*slice out of range.*" \ - "print invalid bitstring slice (-4:5)" - gdb_test "print bstrl1(-1:up 1)" \ - ".*invalid expression syntax.*" \ - "print invalid bitstring slice (-1:ip 1)" - gdb_test "print bstrl1(-1:20)" \ - ".*slice out of range.*" \ - "print invalid bitstring slice (-1:20)" - gdb_test "print bstrl1(0 up -1)" \ - ".*slice out of range.*" \ - "print invalid bitstring slice (0 up -1)" - test_print_accept "print bstrl1(4 up 0)" "B''" - - # array mode locations - gdb_test_exact "ptype arrl1" \ - "ARRAY (1:100) set1" \ - "print mode of array location" - gdb_test "whatis arrl1" "arr1m" \ - "print mode name of array location" - gdb_test_exact "print arrl1" {[(1:100): aaa]} \ - "print array location" - test_print_accept "ptype arrl1(1)" \ - "SET \\(aaa, bbb, ccc\\)" \ - "print mode of array element" - gdb_test_exact "print arrl3" \ - {[(1:5): [(1:3): [(1:2): -2147483648]]]} \ - "print array location 2" - gdb_test_exact "print arrl3(1)" \ - {[(1:3): [(1:2): -2147483648]]} \ - "print array location 3" - gdb_test_exact "ptype arrl3(1)" \ - {ARRAY (1:3) ARRAY (1:2) long} \ - "print mode of array element" - test_print_accept "print arrl3(5)" \ - {\[\(1:3\): \[\(1:2\): -2147483648\]\]} \ - "print array location 4" - test_print_accept "print arrl3(1,1)" \ - {\[\(1:2\): -2147483648\]} \ - "print array location 5" - test_print_accept "ptype arrl3(1,1)" \ - {ARRAY \(1:2\) long} \ - "print mode of array element" - test_print_accept "print arrl3(5,3)" \ - {\[\(1:2\): -2147483648\]} \ - "print array location 6" - test_print_accept "print arrl3(1,1,1)" \ - "-2147483648" \ - "print array location 7" - test_print_accept "print arrl3(5,3,2)" \ - "-2147483648" \ - "print array location 8" - test_print_accept "print arrl3(1)(3)(2)" \ - "-2147483648" \ - "print array location 9" - - # reject the following range fails - # FIXME: adjust error messages - gdb_test "print arrl3(-1)" \ - ".*out of range.*" \ - "check invalid array indices 1" - gdb_test "print arrl3(6)" \ - ".*out of range.*" \ - "check invalid array indices 2" - gdb_test "print arrl3(0,0)" \ - ".*out of range.*" \ - "check invalid array indices 3" - gdb_test "print arrl3(1,0)" \ - ".*out of range.*" \ - "check invalid array indices 4" - gdb_test "print arrl3(1,4)" \ - ".*out of range.*" \ - "check invalid array indices 5" - gdb_test "print arrl3(6,4)" \ - ".*out of range.*" \ - "check invalid array indices 6" - gdb_test "print arrl3(1,1,0)" \ - ".*out of range.*" \ - "check invalid array indices 7" - gdb_test "print arrl3(6,4,0)" \ - ".*out of range.*" \ - "check invalid array indices 8" - gdb_test "print arrl3(1,1,3)" \ - ".*out of range.*" \ - "check invalid array indices 9" - - gdb_test "print arrl3(0)(0)" \ - ".* array or string index out of range.*" \ - "check invalid array indices 10" - gdb_test "print arrl3(1)(0)" \ - ".* array or string index out of range.*" \ - "check invalid array indices 11" - gdb_test "print arrl3(1)(4)" \ - ".* array or string index out of range.*" \ - "check invalid array indices 12" - gdb_test "print arrl3(6)(4)" \ - ".* array or string index out of range.*" \ - "check invalid array indices 13" - gdb_test "print arrl3(1)(1)(0)" \ - ".* array or string index out of range.*" \ - "check invalid array indices 14" - gdb_test "print arrl3(6)(4)(0)" \ - ".* array or string index out of range.*" \ - "check invalid array indices 15" - gdb_test "print arrl3(1)(1)(3)" \ - ".* array or string index out of range.*" \ - "check invalid array indices 16" - - # slices - test_print_accept "print arrl4(1:3)" \ - {\[\(1:2\): \[\(1:3\): \[\(1:2\): -2147483648\]\], \(3\): \[\(1:3\): \[\(1:2\): 100\]\]\]} \ - "print array slice 1" - test_print_accept "ptype arrl4(1:3)" \ - {ARRAY \(1:3\) ARRAY \(1:3\) ARRAY \(1:2\) long} \ - "print mode of array slice" -# The next one is bogus: -# test_print_accept "print arrl4(5, 2:3, 1)" \ -# # FIXME: maybe the '(1): ' in the inner tupel should be omitted ? \ -# {\[(2): \[\(1\): 100\], \(3\):\[\(1\): 100\]\]} \ -# "print array slice 2" - test_print_accept "print arrl4(1 up 4)" \ - {\[\(1:2\): \[\(1:3\): \[\(1:2\): -2147483648\]\], \(3\): \[\(1:3\): \[\(1:2\): 100\]\], \(4\): \[\(1:3\): \[\(1:2\): -2147483648\]\]\]} \ - "print array slice 3" -# The next two are bogus: -# test_print_accept "print arrl4(3, 2 up 1)" \ -# {\[\(2:3\): \[\(1:2\): 100\]\]} \ -# "print array slice 4" -# test_print_accept "print arrl4(1:2, 1 up 1, 2)" \ -# {\[\(1\): \[\(1\): \[\(2\): -2147483648\], \(2\): \[\(2\): -2147483648\]\], \(2\): \[\(1\): \[\(2\): -2147483648\], \(2\): \[\(2\): -2147483648\]\]\]} \ -# "print array slice 4" - # reject invalid slices - # FIXME: adjust error messages - gdb_test "print arrl4(5:6)" \ - ".*slice out of range.*" \ - "check invalid range 1" - gdb_test "print arrl4(0:1)" \ - ".*slice out of range.*" \ - "check invalid range 2" - gdb_test "print arrl4(0:6)" \ - ".*slice out of range.*" \ - "check invalid range 3" - gdb_test "print arrl4(3:2)" \ - ".*slice out of range.*" \ - "check invalid range 4" - gdb_test "print arrl4(1,3:4)" \ - ".*syntax error.*" \ - "check invalid range 5" - gdb_test "print arrl4(1,0:1)" \ - ".*syntax error.*" \ - "check invalid range 6" - gdb_test "print arrl4(1,0:4)" \ - ".*syntax error.*" \ - "check invalid range 7" - gdb_test "print arrl4(1,3:2)" \ - ".*syntax error.*" \ - "check invalid range 8" - gdb_test "print arrl4(5 up 2)" \ - ".*slice out of range.*" \ - "check invalid range 9" - gdb_test "print arrl4(-1 up 1)" \ - ".*slice out of range.*" \ - "check invalid range 10" - gdb_test "print arrl4(-1 up 7)" \ - ".*slice out of range.*" \ - "check invalid range 11" - gdb_test "print arrl4(1 up 0)" \ - ".*slice out of range.*" \ - "check invalid range 12" - gdb_test "print arrl4(1,3 up 1)" \ - ".*syntax error.*" \ - "check invalid range 13" - gdb_test "print arrl4(1,-1 up 1)" \ - ".*syntax error.*" \ - "check invalid range 14" - gdb_test "print arrl4(1,-1 up 5)" \ - ".*syntax error.*" \ - "check invalid range 15" - gdb_test "print arrl4(1,2 up 0)" \ - ".*syntax error.*" \ - "check invalid range 16" - - # structure modes - # some tests are in chillvars.exp - # FIXME: no tag processing implemented do maybe adjust these tests - setup_xfail "*-*-*" - test_print_accept "ptype stru1m" \ - "STRUCT \\(.*a long,.*b long,.*CASE b OF.*\\(42\\):.*ch1 CHARS\\(20\\),.*\\(52\\):.*ch2 CHARS\\(10\\).*ELSE.*ch3 CHARS\\(1\\).*ESAC.*\\)" \ - "print mode of structure location 1" - test_print_accept "whatis strul1" "stru1m" \ - "print mode name of structure location 1" - setup_xfail "*-*-*" - test_print_accept "print strul1" \ - {\[\.a: -2147483648, \.b: 42, \.\(b\): \{\(42\) = \[\.ch1: \"12345678900987654321\"\], \(52\) = \[\.ch2: \"1234567890\"\], (else) = \[\.ch3: \"1\"\]\}\]} \ - "print structure location 1" - test_print_accept "print strul1.a" \ - "-2147483648" \ - "print field of structure location 1" - test_print_accept "print strul1.b" "42" \ - "print field of structure location 1" - test_print_accept "print strul1.ch1" \ - "\"12345678900987654321\"" \ - "print field of structure location 1" - # setup_xfail "*-*-*" - test_print_accept "print strul1.ch2" \ - "\"1234567890\"" \ - "print field of structure location 1" - # setup_xfail "*-*-*" - test_print_accept "print strul1.ch3" \ - "\"1\"" \ - "print field of structure location 1" - - if $passcount then { - pass "$passcount correct locations printed" - } -} - -# This is chill/9434 - -proc test_9434 {} { - global passcount - - verbose "testing pr-9434" - - test_print_accept "ptype m_xyzmode" "STRUCT \\(.*next REF m_xyzmode,.*i long.*\\)" -} - -# Start with a fresh gdb. - -gdb_exit -gdb_start -gdb_reinitialize_dir $srcdir/$subdir - -gdb_test "set print sevenbit-strings" ".*" - -if [set_lang_chill] then { - test_modes - test_locations - test_9434 -} else { - warning "$test_name tests suppressed." -} diff --git a/gdb/testsuite/gdb.chill/tests2.ch b/gdb/testsuite/gdb.chill/tests2.ch deleted file mode 100644 index 1596f3b31e8..00000000000 --- a/gdb/testsuite/gdb.chill/tests2.ch +++ /dev/null @@ -1,193 +0,0 @@ --- Copyright (C) 1992 Free Software Foundation, Inc. - --- This program is free software; you can redistribute it and/or modify --- it under the terms of the GNU General Public License as published by --- the Free Software Foundation; either version 2 of the License, or --- (at your option) any later version. --- --- This program is distributed in the hope that it will be useful, --- but WITHOUT ANY WARRANTY; without even the implied warranty of --- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the --- GNU General Public License for more details. --- --- You should have received a copy of the GNU General Public License --- along with this program; if not, write to the Free Software --- Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ - --- Please email any bugs, comments, and/or additions to this file to: --- bug-gdb@prep.ai.mit.edu - --- --- test program 2 (refer to tests2.exp) --- - -tests2: module; - --- testpattern -syn pat1 ulong = H'aaaaaaaa; -syn pat2 ulong = H'55555555; - --- discrete modes -newmode bytem = struct ( - p1 ulong, - m byte, - p2 ulong); -newmode ubytem = struct ( - p1 ulong, - m ubyte, - p2 ulong); -newmode intm = struct ( - p1 ulong, - m int, - p2 ulong); -newmode uintm = struct ( - p1 ulong, - m uint, - p2 ulong); -newmode longm = struct ( - p1 ulong, - m long, - p2 ulong); -newmode ulongm = struct ( - p1 ulong, - m ulong, - p2 ulong); -newmode boolm = struct ( - p1 ulong, - m bool, - p2 ulong); -newmode charm1 = struct ( - p1 ulong, - m char(4), - p2 ulong); -newmode charm2 = struct ( - p1 ulong, - m char(7), - p2 ulong); -newmode charm3 = struct ( - p1 ulong, - m char(8) varying, - p2 ulong); -newmode charm4 = struct ( - p1 ulong, - m char, - p2 ulong); -newmode bitm1 = struct ( - p1 ulong, - m bit(8), - p2 ulong); -newmode bitm2 = struct ( - p1 ulong, - m bit(10), - p2 ulong); -newmode setm1 = struct ( - p1 ulong, - m set (a, b, c, d, e, f, g, h), - p2 ulong); -newmode nset1 = struct ( - p1 ulong, - m set (na = 2147483648, nb = 1024, nc = 4294967295), - p2 ulong); -newmode rm1 = struct ( - p1 ulong, - m range (lower(byte):upper(byte)), - p2 ulong); -newmode rm2 = struct ( - p1 ulong, - m range (lower(int):upper(int)), - p2 ulong); -newmode rm3 = struct ( - p1 ulong, - m range (lower(long):upper(long)), - p2 ulong); -newmode pm1 = struct ( - p1 ulong, - m powerset set (pa, pb, pc, pd, pe, pf, pg, ph), - p2 ulong); -newmode pm2 = struct ( - p1 ulong, - m powerset int (1:32), - p2 ulong); --- this should be rejected by the gnuchill compiler ! -newmode pm3 = struct ( - p1 ulong, --- m powerset long (lower(long): upper(long)), - p2 ulong); -newmode refm1 = struct ( - p1 ulong, - m ptr, - p2 ulong); -newmode refm2 = struct ( - p1 ulong, - m ref bytem, - p2 ulong); -newmode prm1 = struct ( - p1 ulong, - m proc (), - p2 ulong); -newmode tim1 = struct ( - p1 ulong, - m time, - p2 ulong); -newmode tim2 = struct ( - p1 ulong, - m duration, - p2 ulong); -newmode rem1 = struct ( - p1 ulong, - m real, - p2 ulong); -newmode rem2 = struct ( - p1 ulong, - m long_real, - p2 ulong); -newmode arrm1 = struct ( - p1 ulong, - m array(1:3, 1:2) int, - p2 ulong); -newmode strum1 = struct ( - p1 ulong, - m struct (a, b int, ch char(4)), - p2 ulong); - - --- dummyfunction for breakpoints -dummyfunc: proc(); -end dummyfunc; - - -dcl b1 bytem init := [pat1, -128, pat2]; -dcl ub1 ubytem init := [pat1, 0, pat2]; -dcl i1 intm init := [pat1, -32768, pat2]; -dcl ui1 uintm init := [pat1, 0, pat2]; -dcl l1 longm init := [pat1, -2147483648, pat2]; -dcl ul1 ulongm init := [pat1, 0, pat2]; -dcl bo1 boolm init := [pat1, true, pat2]; -dcl c1 charm1 init := [pat1, "1234", pat2]; -dcl c2 charm2 init := [pat1, "1234567", pat2]; -dcl c3 charm3 init := [pat1, "12345678", pat2]; -dcl c4 charm4 init := [pat1, C'00', pat2]; -dcl bi1 bitm1 init := [pat1, B'01011010', pat2]; -dcl bi2 bitm2 init := [pat1, B'1010110101', pat2]; -dcl se1 setm1 init := [pat1, a, pat2]; -dcl nse1 nset1 init := [pat1, na, pat2]; -dcl r1 rm1 init := [pat1, -128, pat2]; -dcl r2 rm2 init := [pat1, -32768, pat2]; -dcl r3 rm3 init := [pat1, -2147483648, pat2]; -dcl p1 pm1 init := [pat1, [pa], pat2]; -dcl p2 pm2 init := [pat1, [1], pat2]; --- dcl p3 pm3 init := [pat1, [-1], pat2]; -- FIXME: bug in gnuchill -dcl ref1 refm1 init := [pat1, null, pat2]; -dcl ref2 refm2 init := [pat1, null, pat2]; -dcl pr1 prm1; -dcl ti1 tim1 init := [pat1, 0, pat2]; -dcl ti2 tim2 init := [pat1, 0, pat2]; -dcl re1 rem1 init := [pat1, 0.0, pat2]; -dcl re2 rem2 init := [pat1, 0.0, pat2]; -dcl arrl1 arrm1 init:=[pat1, [(1:3): [0,0]], pat2]; -dcl strul1 strum1 init := [pat1, [.a: 0, .b: 0, .ch: "0000"], pat2]; - -pr1 := [pat1, dummyfunc, pat2]; -dummyfunc(); - -end tests2; diff --git a/gdb/testsuite/gdb.chill/tests2.exp b/gdb/testsuite/gdb.chill/tests2.exp deleted file mode 100644 index 46c4821005a..00000000000 --- a/gdb/testsuite/gdb.chill/tests2.exp +++ /dev/null @@ -1,271 +0,0 @@ -# Copyright (C) 1992, 1995, 1997 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - -# Please email any bugs, comments, and/or additions to this file to: -# bug-gdb@prep.ai.mit.edu - -if $tracelevel then { - strace $tracelevel -} - -if [skip_chill_tests] then { continue } - -set prms_id 0 -set bug_id 0 - -# Set the current language to chill. This counts as a test. If it -# fails, then we skip the other tests. - -set testfile "tests2" -set srcfile ${srcdir}/$subdir/${testfile}.ch -set binfile ${objdir}/${subdir}/${testfile}.exe -if { [compile "${srcfile} -g -w -o ${binfile} ${CHILL_RT0} ${CHILL_LIB}"] != "" } { - perror "Couldn't compile ${srcfile}" - return -1 -} - -global infinity -if [istarget "i*86-*-sysv4*"] then { - set infinity "inf" -} else { - set infinity "Infinity" -} - -proc set_lang_chill {} { - global gdb_prompt - global binfile objdir subdir - - if ![file exists $objdir/$subdir/$binfile] then { - return 0 - } - verbose "loading file '$objdir/$subdir/$binfile'" - gdb_load $objdir/$subdir/$binfile - - send_gdb "set language chill\n" - gdb_expect { - -re ".*$gdb_prompt $" {} - timeout { fail "set language chill (timeout)" ; return 0 } - } - - send_gdb "show language\n" - gdb_expect { - -re ".* source language is \"chill\".*$gdb_prompt $" { - pass "set language to \"chill\"" - send_gdb "break dummyfunc\n" - gdb_expect { - -re ".*$gdb_prompt $" { - send_gdb "run\n" - gdb_expect -re ".*$gdb_prompt $" {} - return 1 - } - timeout { - fail "can't set breakpoint (timeout)" - return 0 - } - } - } - -re ".*$gdb_prompt $" { - fail "setting language to \"chill\"" - return 0 - } - timeout { - fail "can't show language (timeout)" - return 0 - } - } -} - -# checks if structure was accessed correctly -proc test_write { args } { - global gdb_prompt - - if [llength $args]==5 then { - set message [lindex $args 4] - set extended [lindex $args 3] - set matchval [lindex $args 2] - } elseif [llength $args]==4 then { - set message [lindex $args 3] - set matchval [lindex $args 2] - set extended "" - } elseif [llength $args]==3 then { - set message [lindex $args 2] - set extended "" - } else { - warning "test ($args) write called with wrong number of arguments" - return - } - - set location [lindex $args 0] - set value [lindex $args 1] - if ![info exists matchval] then { - set matchval $value - } - verbose "loc: $location, val: $value, msg: $message, ext: $extended, match: $matchval" - - verbose "setting var $value..." - send_gdb "set var $location.m$extended := $value\n" - gdb_expect -re ".*$gdb_prompt $" {} - gdb_test "print $location" \ - ".*= \[\[\]\\.p1: 2863311530, \\.m: $matchval, \\.p2: 1431655765\[\]\]"\ - "$message" -} - -# test write access from gdb (setvar x:=y) from gdb -proc write_access { } { - global infinity - - verbose "testing write access to locations" - - # discrete modes - test_write b1 127 "byte write 1" - test_write b1 -128 "byte write 2" - test_write b1 0 "byte write 3" - test_write ub1 255 "ubyte write 1" - test_write ub1 0 "ubyte write 2" - test_write ub1 42 "ubyte write 3" - test_write i1 32767 "int write 1" - test_write i1 -32768 "int write 2" - test_write i1 0 "int write 3" - test_write ui1 65535 "uint write 1" - test_write ui1 0 "uint write 2" - test_write ui1 123 "uint write 3" - test_write l1 2147483647 "long write 1" - test_write l1 -2147483648 "long write 2" - test_write l1 0 "long write 3" - test_write ul1 4294967295 "ulong write 1" - test_write ul1 0 "ulong write 2" - test_write ul1 1000000 "ulong write 3" - test_write bo1 FALSE "bool write 1" - test_write bo1 TRUE "bool write 2" - test_write c1 \"1234\" "char write 1" - test_write c2 \"1234567\" "char write 2" - test_write c3 \"654321\" "char write 3" - test_write c4 C'65' 'e' "char write 4" - test_write bi1 B'10100101' "bitstring write 1" - test_write bi2 B'0101001010' "bitstring write 2" - test_write se1 a "set write 1" - test_write se1 h "set write 2" - # The following two use numbered sets with too-large values. - setup_xfail "*-*-*" - test_write nse1 nb "numbered set write 1" - setup_xfail "*-*-*" - test_write nse1 nc "numbered set write 2" - test_write r1 127 "range write 1" - test_write r2 32767 "range write 2" - test_write r3 2147483647 "range write 3" - - # powerset modes - test_write p1 {[pa:ph]} {\[pa:ph\]} "powerset write 1" - test_write p1 {[pa, pc:pf, ph]} {\[pa, pc:pf, ph\]} "powerset write 2" - test_write p1 {[pa, pc, pe, pg]} {\[pa, pc, pe, pg\]} "powerset write 3" - test_write p1 {[]} {\[\]} "powerset write 4" - test_write p2 {[1:32]} {\[1:32\]} "powerset write 5" - test_write p2 {[1, 3:30, 32]} {\[1, 3:30, 32\]} "powerset write 6" - test_write p2 {[1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29, 31]} {\[1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29, 31\]} \ - "powerset write 7" - test_write p2 {[]} {\[\]} "powerset write 8" - -# Fixme: this should be rejected by gnuchill -# test_write p3 {[-2147483648:2147483647]} {\[-2147483648:2147483647\]} \ -# "powerset write 9" -# test_write p3 {[-2147483648, -1000000:1000000, 2147483647]} \ -# {\[-2147483648, -1000000:1000000, 2147483647\]} \ -# "powerset write 10" -# test_write p3 {[-99, -97, -95, 1001, 1003, 1005]} \ -# {\[-99, -97, -95, 1001, 1003, 1005\]} "powerset write 11" -# test_write p3 {[]} {\[\]} "powerset write 12" - - # reference modes - test_write ref1 ->ref1 {H'[0-9a-fA-F]+} "reference write 1" - test_write ref2 ->b1 {H'[0-9a-fA-F]+} "reference write 2" - test_write ref1 NULL "reference write 3" - test_write ref2 NULL "reference write 4" - - # procedure modes - test_write pr1 NULL "procefure write 1" - # FIXME: remove when NULL is understood - test_write pr1 0 NULL "procefure write 2" - test_write pr1 dummyfunc {H'[0-9a-fA-F]+ <dummyfunc>} "procedure write 3" - - # timing modes, FIXME when callbacks to timefunctions are implemented - #test_write ti1 abstime(1970, 3, 12, 10, 43, 0) {} "time write 1" - #test_write ti2 <set somehow a duration> - xfail "timing modes not implemented yet" - - # real modes - # This ones - test_write re1 42.03 {42.0[0-9]*} "real write 1" - test_write re1 0 "real write 2" - test_write re1 "1e+38" {1e\+38|1\.0[0-9]*e\+38|9\.9[0-9]*e\+37} \ - "real write 3" - setup_xfail "i*86-pc-linux-gnu" "m68*-*-hpux*" - test_write re1 "1e+39" $infinity "real write 4" - test_write re2 42.03 {42.0[0-9]*} "real write 5" - test_write re2 0 "real write 6" - test_write re2 "1e+308" {1e\+308} "real write 7" - setup_xfail "i*86-pc-linux-gnu" "m68*-*-hpux*" - test_write re2 "1e+309" $infinity "real write 8" - # array modes - test_write arrl1 {[(1:3): [(1:2): -128]]} {\[\(1:3\): \[\(1:2\): -128\]\]}\ - "array write 1" - test_write arrl1 {[(1:3): [(1:2): 0]]} {\[\(1:3\): \[\(1:2\): 0\]\]}\ - "array write 2" - test_write arrl1 {[(1): [(1:2): 127], (2): [(1:2): -128], (3): [(1:2): 127]]} {\[\(1\): \[\(1:2\): 127\], \(2\): \[\(1:2\): -128\], \(3\): \[\(1:2\): 127\]\]}\ - "array write 3" - test_write arrl1 {[(1:3): [(1:2): 0]]} {\[\(1:3\): \[\(1:2\): 0\]\]}\ - "array write 4" - setup_xfail "*-*-*" - # Bogus test case - type mismatch? - test_write arrl1 {[(1): 127, (2): -128]} "array write 5" - test_write arrl1 {[(1:3): [(1:2): 0]]} {\[\(1:3\): \[\(1:2\): 0\]\]}\ - "array write 6" - - # structure modes - test_write strul1 {[.a: -32768, .b: 32767, .ch: "ZZZZ"]} \ - {\[\.a: -32768, \.b: 32767, \.ch: \"ZZZZ\"\]} \ - "structure write 1" - test_write strul1 {[.a: 0, .b: 0, .ch: "0000"]} \ - {\[\.a: 0, \.b: 0, \.ch: \"0000\"\]} \ - "structure write 2" - test_write strul1 -32768 {\[\.a: -32768, \.b: 0, \.ch: \"0000\"\]} \ - {.a} "structure write 3" - test_write strul1 {[.a: 0, .b: 0, .ch: "0000"]} \ - {\[\.a: 0, \.b: 0, \.ch: \"0000\"\]} \ - "structure write 4" - test_write strul1 -32768 {\[\.a: 0, \.b: -32768, \.ch: \"0000\"\]} \ - {.b} "structure write 5" - test_write strul1 {[.a: 0, .b: 0, .ch: "0000"]} \ - {\[\.a: 0, \.b: 0, \.ch: \"0000\"\]} \ - "structure write 6" - test_write strul1 \"HUGO\" {\[\.a: 0, \.b: 0, \.ch: \"HUGO\"\]} \ - {.ch} "structure write 7" -} - -# Start with a fresh gdb. - -set binfile "tests2.exe" - -gdb_exit -gdb_start -gdb_reinitialize_dir $srcdir/$subdir - -gdb_test "set print sevenbit-strings" ".*" - -if [set_lang_chill] then { - write_access -} else { - warning "$test_name tests suppressed." -} diff --git a/gdb/testsuite/gdb.chill/tuples.ch b/gdb/testsuite/gdb.chill/tuples.ch deleted file mode 100644 index 24709f8fe05..00000000000 --- a/gdb/testsuite/gdb.chill/tuples.ch +++ /dev/null @@ -1,86 +0,0 @@ -x: MODULE - -SYNMODE m_arri = ARRAY(1:5) INT; -DCL v_arri m_arri := [ -1, -2, -3, -4, -5 ]; - -SYNMODE m_arrui = ARRAY(1:5) UINT; -DCL v_arrui m_arrui := [ 1, 2, 3, 4, 5 ]; - -SYNMODE r1 = RANGE (1:5); -SYNMODE m_arrb = ARRAY(r1) BYTE; -DCL v_arrb m_arrb := [ -3, -4, -5, -6, -7 ]; - -SYNMODE m_arrub = ARRAY(r1) UBYTE; -DCL v_arrub m_arrub := [ 3, 4, 5, 6, 7 ]; - -SYNMODE m_arrc = ARRAY (1:5) CHAR; -DCL v_arrc m_arrc := [ '1', '2', '3', '4', '5' ]; - -SYNMODE m_ps = POWERSET r1; -DCL v_ps m_ps := [ 1, 3, 5 ]; - -DCL v_cv CHARS(20) VARYING := "foo"; - -SYNMODE m_arrbool = ARRAY(r1) BOOL; -DCL v_arrbool m_arrbool := [ true, false, true, false, true ]; - -DCL j r1 := 4; - -DCL i INT; - -newmode vstruct = struct (a, b long, - case b of - (42): ch8 chars(20), - (52): i long - else ch1 char - esac); - -DCL vstr vstruct := [ .a: 10, .b: 52, .i: 100 ]; - -i := 0; - -END x; - -setmode: MODULE /* This is from Cygnus PR chill/5024. */ - -NEWMODE day = SET( monday, tuesday, wednesday, thursday, friday, saturday, sunday ); -NEWMODE dow = POWERSET day; - -DCL d day; -DCL w dow; - -printdow: PROC( w dow ); - DCL d day; - DO FOR d in w; - WRITETEXT( stdout, "%C ", d ); - OD; -END; - -d := monday; -w := dow[monday : friday]; -printdow( w ); - -printdow( dow[LOWER(dow) : UPPER(dow)] ); - -END setmode; - -PR8643: MODULE - -SYNMODE m_set = SET (a, b, c, d); -SYNMODE m_ps = POWERSET m_set; - -SYNMODE m_s1 = STRUCT (str CHARS(40) VARYING, i INT, ps m_ps); -DCL vs1 m_s1; - -SYNMODE m_s2 = STRUCT (i LONG, s m_s1); -DCL vs2 m_s2; - -SYNMODE m_arr = ARRAY (1:3) BYTE; -SYNMODE m_s3 = STRUCT (i LONG, a m_arr); -DCL vs3 m_s3; - -DCL i LONG; - -i := 24; - -END PR8643; diff --git a/gdb/testsuite/gdb.chill/tuples.exp b/gdb/testsuite/gdb.chill/tuples.exp deleted file mode 100644 index fbfa9ed0003..00000000000 --- a/gdb/testsuite/gdb.chill/tuples.exp +++ /dev/null @@ -1,161 +0,0 @@ -# Copyright (C) 1995, 1997 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - -# Please email any bugs, comments, and/or additions to this file to: -# bug-gdb@prep.ai.mit.edu - -# This file was written by Per Bothner. (bothner@cygnus.com) - -if $tracelevel then { - strace $tracelevel -} - -if [skip_chill_tests] then { continue } - -set testfile "tuples" -set srcfile ${srcdir}/$subdir/${testfile}.ch -set binfile ${objdir}/${subdir}/${testfile}.exe -if { [compile "${srcfile} -g -o ${binfile} ${CHILL_RT0} ${CHILL_LIB}"] != "" } { - perror "Couldn't compile ${srcfile}" - return -1 -} - -proc do_tests {} { - global prms_id bug_id subdir objdir srcdir binfile gdb_prompt - - set prms_id 0 - set bug_id 0 - - # Start with a fresh gdb. - - gdb_exit - gdb_start - gdb_reinitialize_dir $srcdir/$subdir - gdb_load $binfile - - gdb_test "set language chill" "" - - runto tuples.ch:40 - - gdb_test_exact "print v_arri" {= [(1): -1, (2): -2, (3): -3, (4): -4, (5): -5]} - gdb_test_exact "set v_arri := \[ 33, 44, 55, 66, 77 \]" {} - gdb_test_exact "print v_arri" {= [(1): 33, (2): 44, (3): 55, (4): 66, (5): 77]} "after assignment 1 to v_arri" - gdb_test_exact "set v_arri := \[-33, -44, -55, -66, -77\]" {} - gdb_test_exact "print v_arri" {= [(1): -33, (2): -44, (3): -55, (4): -66, (5): -77]} {after assignment 2 to v_arri} - - gdb_test_exact "print v_arrui" {= [(1): 1, (2): 2, (3): 3, (4): 4, (5): 5]} - gdb_test_exact "set v_arrui := \[ 11, 11, 11, 11, 11 \]" {} - gdb_test_exact "print v_arrui" {= [(1:5): 11]} "after assignment to v_arrui" - - gdb_test_exact "print v_arrb" {= [(1): -3, (2): -4, (3): -5, (4): -6, (5): -7]} - - gdb_test_exact "set v_arrb := \[ -9, -8, -7, -6, -5 \]" {} - gdb_test_exact "print v_arrb" {= [(1): -9, (2): -8, (3): -7, (4): -6, (5): -5]} "after assignment to v_arrb" - - gdb_test_exact "print v_arrub" {= [(1): 3, (2): 4, (3): 5, (4): 6, (5): 7]} - gdb_test_exact "set v_arrub := \[ 77, 77, 77, 77, 77 \]" {} - gdb_test_exact "print v_arrub" {= [(1:5): 77]} "v_arrub after assignment" - - gdb_test_exact "print j" {= 4} - gdb_test_exact "print j := 3+4" {= 7} - gdb_test_exact "print j := r1(3)" {= 3} - - gdb_test_exact "print v_arrc" {= [(1): '1', (2): '2', (3): '3', (4): '4', (5): '5']} - gdb_test_exact "set v_arrc := \[ 'a', 'b', 'c', 'd', 'e' \]" {} - gdb_test_exact "print v_arrc" {= [(1): 'a', (2): 'b', (3): 'c', (4): 'd', (5): 'e']} "v_arrc after assignment" - - gdb_test_exact "print v_ps" {= [1, 3, 5]} - gdb_test_exact "set v_ps := \[ 2, 4 \]" {} - gdb_test_exact "print v_ps" {= [2, 4]} {v_ps after assignment} - gdb_test_exact "print v_ps := \[\]" {= []} {assign [] to v_ps} - - gdb_test_exact "print m_arri\[1, 2, 3, 4, 5\]" {= [(1): 1, (2): 2, (3): 3, (4): 4, (5): 5]} - gdb_test_exact "print m_arrub\[45, 46, 47, 48, 49\]" {= [(1): 45, (2): 46, (3): 47, (4): 48, (5): 49]} - - gdb_test_exact "print v_cv" {= "foo"} - gdb_test_exact "set v_cv := \"foo-bar\"" {} - gdb_test_exact "print v_cv" {= "foo-bar"} "v_cv after assignment" - gdb_test_exact "set v_cv(3) := ' '" {} - gdb_test_exact "print v_cv" {= "foo bar"} "v_cv after element assignment" - - gdb_test_exact "print v_arrbool" {= [(1): TRUE, (2): FALSE, (3): TRUE, (4): FALSE, (5): TRUE]} - gdb_test_exact "set v_arrbool := \[ false, false, false, false, false \]" {} - gdb_test_exact "print v_arrbool" {= [(1:5): FALSE]} "v_arrbool after assignment 1" - gdb_test_exact "set v_arrbool := \[true, true, true, true, true\]" {} - gdb_test_exact "print v_arrbool" {= [(1:5): TRUE]} "v_arrbool after assignment 2" - gdb_test_exact "set v_arrbool(3) := false" {} - gdb_test_exact "print v_arrbool" {= [(1:2): TRUE, (3): FALSE, (4:5): TRUE]} "v_arrbool after element assignment" - - gdb_test_exact "set v_arrbool(1 up 2) := \[ false, true \]" {} - gdb_test_exact "print v_arrbool" {= [(1): FALSE, (2): TRUE, (3): FALSE, (4:5): TRUE]} "v_arrbool after slice assignment 1" - gdb_test_exact "set v_arrbool(3 : 5) := \[ true, true, false \]" {} - gdb_test_exact "print v_arrbool" {= [(1): FALSE, (2:4): TRUE, (5): FALSE]} "v_arrbool after slice assignment 2" - - gdb_test_exact "set vstr := \[ .a: 2+3, .b: 12, .ch1: 'x' \]" {} - gdb_test_exact "print vstr.a" {= 5} "vstr.a after assignment" - gdb_test_exact "print vstr.ch1" {= 'x'} "vstr.ch1 after assignment" - -# These tests are from Cygnus PR chill/5024: - gdb_test "break printdow" "" - gdb_test "continue" "" - gdb_test_exact "set var w:= dow\[monday\]" {} - gdb_test "print w" " = \\\[monday\\\]" \ - "print bitstring after assignment" - gdb_test_exact "set var w:=\[\]" {} - gdb_test "print w" " = \\\[\\\]" \ - "print bitstring after assignment of \[\]" - -# These tests are from Cygnus PR chill/8643: - runto tuples.ch:40 - gdb_test_exact "set var vs1 := \[ \"foo\", 41, \[ b \] \]" {} - gdb_test_exact "print vs1" { = [.str: "foo", .i: 41, .ps: [b]]} \ - "print vs1 after tuple assign 1" - setup_xfail "i*86-pc-linux*-gnu" "sparc-*-solaris*" "sparc-*-sunos*" - gdb_test_exact "set var vs1 := \[ \"bar\", 42, m_ps\[ a \] \]" {} - setup_xfail "i*86-pc-linux*-gnu" "sparc-*-solaris*" "sparc-*-sunos*" - gdb_test_exact "print vs1" { = [.str: "bar", .i: 42, .ps: [a]]} \ - "print vs1 after tuple assign 2" - - gdb_test_exact "set var \$i := m_s1\[\"foo\", 42, \[a \]\]" {} - gdb_test_exact {print $i} { = [.str: "foo", .i: 42, .ps: [a]]} \ - "print \$i after tuple assign 1" - setup_xfail "i*86-pc-linux*-gnu" "sparc-*-solaris*" "sparc-*-sunos*" - gdb_test_exact "set var \$i := m_s1\[\"foo\", 44, m_ps\[a \]\]" {} - setup_xfail "i*86-pc-linux*-gnu" "sparc-*-solaris*" "sparc-*-sunos*" - gdb_test_exact {print $i} { = [.str: "foo", .i: 44, .ps: [a]]} \ - "print \$i after tuple assign 2" - - gdb_test_exact "set var vs2 := \[ 10, \[ \"foo\" , 42, \[ b \] \] \]" {} - gdb_test_exact "print vs2" \ - { = [.i: 10, .s: [.str: "foo", .i: 42, .ps: [b]]]} \ - "print vs2 after tuple assign 1" - setup_xfail "i*86-pc-linux*-gnu" "sparc-*-solaris*" "sparc-*-sunos*" - gdb_test_exact "set var vs2 := \[ 10+3, m_s1\[ \"foo\" , 42, m_ps\[ b \] \] \]" {} - setup_xfail "i*86-pc-linux*-gnu" "sparc-*-solaris*" "sparc-*-sunos*" - gdb_test_exact "print vs2" \ - { = [.i: 13, .s: [.str: "foo", .i: 42, .ps: [b]]]} \ - "print vs2 after tuple assign 2" - - gdb_test_exact "set var vs3 := \[ 33, \[ -1, -2, -3 \] \]" {} - gdb_test_exact "print vs3" {[.i: 33, .a: [(1): -1, (2): -2, (3): -3]]} \ - "print vs3 after tuple assign" - gdb_test_exact "set var \$k := m_s3\[ 33, m_arr\[ 4, 3, 2 \] \]" {} - gdb_test_exact {print $k} { = [.i: 33, .a: [(1): 4, (2): 3, (3): 2]]} \ - "print \$k after tuple assign" - -} - -do_tests diff --git a/gdb/testsuite/gdb.disasm/.Sanitize b/gdb/testsuite/gdb.disasm/.Sanitize deleted file mode 100644 index e4619a23676..00000000000 --- a/gdb/testsuite/gdb.disasm/.Sanitize +++ /dev/null @@ -1,54 +0,0 @@ -# .Sanitize for devo/gdb/testsuite/gdb.disasm. - -# Each directory to survive its way into a release will need a file -# like this one called "./.Sanitize". All keyword lines must exist, -# and must exist in the order specified by this file. Each directory -# in the tree will be processed, top down, in the following order. - -# Hash started lines like this one are comments and will be deleted -# before anything else is done. Blank lines will also be squashed -# out. - -# The lines between the "Do-first:" line and the "Things-to-keep:" -# line are executed as a /bin/sh shell script before anything else is -# done in this directory. - -Do-first: - -cygnus_files="am33.s am33.exp" - -if ( echo $* | grep keep\-cygnus > /dev/null ) ; then - keep_these_too="${cygnus_files} ${keep_these_too}" -else - lose_these_too="${cygnus_files} ${lose_these_too}" -fi - -# All files listed between the "Things-to-keep:" line and the -# "Do-last:" line will be kept. All other files will be removed. -# Directories listed in this section will have their own Sanitize -# called. Directories not listed will be removed in their entirety -# with rm -rf. - -Things-to-keep: - -Makefile.in -configure -configure.in -hppa.exp -hppa.s -mn10200.exp -mn10200.s -mn10300.exp -mn10300.s -sh3.exp -sh3.s - -Things-to-lose: - -# The lines between the "Do-last:" line and the end of the file -# are executed as a /bin/sh shell script after everything else is -# done. - -Do-last: - -# eof diff --git a/gdb/testsuite/gdb.disasm/Makefile.in b/gdb/testsuite/gdb.disasm/Makefile.in deleted file mode 100644 index 6fa8bef3040..00000000000 --- a/gdb/testsuite/gdb.disasm/Makefile.in +++ /dev/null @@ -1,17 +0,0 @@ -#### host, target, and site specific Makefile frags come in here. - -srcdir = . -CFLAGS = -g - -.PHONY: all clean mostlyclean distclean realclean - -all: $(EXECUTABLES) - -clean mostlyclean: - -rm -f *.o $(EXECUTABLES) *.diff *~ *.bad core foo twice-tmp.c - -distclean realclean: clean - -rm -f Makefile config.status - -Makefile: $(srcdir)/Makefile.in $(host_makefile_frag) $(target_makefile_frag) - $(SHELL) ./config.status diff --git a/gdb/testsuite/gdb.disasm/am33.exp b/gdb/testsuite/gdb.disasm/am33.exp deleted file mode 100644 index 51954777694..00000000000 --- a/gdb/testsuite/gdb.disasm/am33.exp +++ /dev/null @@ -1,780 +0,0 @@ - -# Copyright (C) 1997 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - -# Please email any bugs, comments, and/or additions to this file to: -# bug-gdb@prep.ai.mit.edu - -# This file was written by Jeff Law. (law@cygnus.com) - -if $tracelevel then { - strace $tracelevel -} - -if ![istarget "mn10300*-*-*"] { - verbose "Tests ignored for all but mn10300 based targets." - return -} - -global exec_output -set prms_id 0 -set bug_id 0 - -set testfile "am33" -set srcfile ${srcdir}/${subdir}/${testfile}.s -set binfile ${objdir}/${subdir}/${testfile} -if { [gdb_compile "${srcfile}" "${binfile}" executable ""] != "" } { - gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail." -} - -proc call_tests { } { - global gdb_prompt - global hex - global decimal - - send_gdb "x/8i call_tests\n" - gdb_expect { - -re " -.*call .*,.a2,a3,exreg0.,9.* -.*call .*,.a2,a3,exreg1.,9.* -.*call .*,.a2,a3,exother.,9.* -.*call .*,.d2,d3,a2,a3,other,exreg0,exreg1,exother.,9.* -.*call .*,.a2,a3,exreg0.,9.* -.*call .*,.a2,a3,exreg1.,9.* -.*call .*,.a2,a3,exother.,9.* -.*call .*,.d2,d3,a2,a3,other,exreg0,exreg1,exother.,9.* -.*$gdb_prompt $" { pass "call tests" } - -re "$gdb_prompt $" { fail "call tests" } - timeout { fail "(timeout) call tests" } - } -} - -proc movm_tests { } { - global gdb_prompt - global hex - global decimal - - send_gdb "x/16i movm_tests\n" - gdb_expect { - -re " -.*movm \\(sp\\),.a2,a3,exreg0.* -.*movm \\(sp\\),.a2,a3,exreg1.* -.*movm \\(sp\\),.a2,a3,exother.* -.*movm \\(sp\\),.d2,d3,a2,a3,other,exreg0,exreg1,exother.* -.*movm .a2,a3,exreg0.,\\(sp\\).* -.*movm .a2,a3,exreg1.,\\(sp\\).* -.*movm .a2,a3,exother.,\\(sp\\).* -.*movm .d2,d3,a2,a3,other,exreg0,exreg1,exother.,\\(sp\\).* -.*movm \\(usp\\),.a2,a3,exreg0.* -.*movm \\(usp\\),.a2,a3,exreg1.* -.*movm \\(usp\\),.a2,a3,exother.* -.*movm \\(usp\\),.d2,d3,a2,a3,other,exreg0,exreg1,exother.* -.*movm .a2,a3,exreg0.,\\(usp\\).* -.*movm .a2,a3,exreg1.,\\(usp\\).* -.*movm .a2,a3,exother.,\\(usp\\).* -.*movm .d2,d3,a2,a3,other,exreg0,exreg1,exother.,\\(usp\\).* -.*$gdb_prompt $" { pass "movm tests" } - -re "$gdb_prompt $" { fail "movm tests" } - timeout { fail "(timeout) movm tests" } - } -} - -proc misc_tests { } { - global gdb_prompt - global hex - global decimal - - send_gdb "x/11i misc_tests\n" - gdb_expect { - -re " -.*syscall 4.* -.*mcst9 d0.* -.*mcst48 d1.* -.*getchx d0.* -.*getclx d1.* -.*clr r9.* -.*sat16 r9,r8.* -.*mcste r7,r6.* -.*swap r5,r4.* -.*swaph r3,r2.* -.*swhw r1,r0.* -.*$gdb_prompt $" { pass "misc tests" } - -re "$gdb_prompt $" { fail "misc tests" } - timeout { fail "(timeout) misc tests" } - } -} - -proc mov_tests { } { - global gdb_prompt - global hex - global decimal - - send_gdb "x/45i mov_tests\n" - gdb_expect { - -re " -.*mov r0,r1.* -.*mov xr0,r1.* -.*mov r1,xr2.* -.*mov \\(r1\\),r2.* -.*mov r3,\\(r4\\).* -.*mov \\(sp\\),r5.* -.*mov r6,\\(sp\\).* -.*mov 16,r1.* -.*mov 16,xr1.* -.*mov \\(16,r1\\),r2.* -.*mov r2,\\(16,r1\\).* -.*mov \\(16,sp\\),r2.* -.*mov r2,\\(16,sp\\).* -.*mov 2096895,r2.* -.*mov 2096895,xr2.* -.*mov \\(2096895,r1\\),r2.* -.*mov r2,\\(2096895,r1\\).* -.*mov \\(2096895,sp\\),r2.* -.*mov r2,\\(2096895,sp\\).* -.*mov \\(0x1ffeff\\),r2.* -.*mov r2,\\(0x1ffeff\\).* -.*mov 2147417596,r2.* -.*mov 2147417596,xr2.* -.*mov \\(2147417596,r1\\),r2.* -.*mov r2,\\(2147417596,r1\\).* -.*mov \\(2147417596,sp\\),r2.* -.*mov r2,\\(2147417596,sp\\).* -.*mov \\(0x7ffefdfc\\),r2.* -.*mov r2,\\(0x7ffefdfc\\).* -.*movu 16,r1.* -.*movu 2096895,r2.* -.*movu 2147417596,r2.* -.*mov usp,a0.* -.*mov ssp,a1.* -.*mov msp,a2.* -.*mov pc,a3.* -.*mov a0,usp.* -.*mov a1,ssp.* -.*mov a2,msp.* -.*mov epsw,d0.* -.*mov d1,epsw.* -.*mov a0,r1.* -.*mov d2,r3.* -.*mov r5,a1.* -.*mov r7,d3.* -.*$gdb_prompt $" { pass "mov tests" } - -re "$gdb_prompt $" { fail "mov tests" } - timeout { fail "(timeout) mov tests" } - } -} - -proc ext_tests { } { - global gdb_prompt - global hex - global decimal - - send_gdb "x/5i ext_tests\n" - gdb_expect { - -re " -.*ext r2.* -.*extb r3,r4.* -.*extbu r4,r5.* -.*exth r6,r7.* -.*exthu r7,r8.* -.*$gdb_prompt $" { pass "ext tests" } - -re "$gdb_prompt $" { fail "ext tests" } - timeout { fail "(timeout) ext tests" } - } -} - -proc add_tests { } { - global gdb_prompt - global hex - global decimal - - send_gdb "x/11i add_tests\n" - gdb_expect { - -re " -.*add r10,r11.* -.*add 16,r1.* -.*add 2096895,r2.* -.*add 2147417596,r2.* -.*add r1,r2,r3.* -.*addc r12,r13.* -.*addc 16,r1.* -.*addc 2096895,r2.* -.*addc 2147417596,r2.* -.*inc r13.* -.*inc4 r12.* -.*$gdb_prompt $" { pass "add tests" } - -re "$gdb_prompt $" { fail "add tests" } - timeout { fail "(timeout) add tests" } - } -} - -proc sub_tests { } { - global gdb_prompt - global hex - global decimal - - send_gdb "x/8i sub_tests\n" - gdb_expect { - -re " -.*sub r14,r15.* -.*sub 16,r1.* -.*sub 2096895,r2.* -.*sub 2147417596,r2.* -.*subc r15,r14.* -.*subc 16,r1.* -.*subc 2096895,r2.* -.*subc 2147417596,r2.* -.*$gdb_prompt $" { pass "sub tests" } - -re "$gdb_prompt $" { fail "sub tests" } - timeout { fail "(timeout) sub tests" } - } -} - -proc cmp_tests { } { - global gdb_prompt - global hex - global decimal - - send_gdb "x/4i cmp_tests\n" - gdb_expect { - -re " -.*cmp r11,r10.* -.*cmp 16,r1.* -.*cmp 2096895,r2.* -.*cmp 2147417596,r2.* -.*$gdb_prompt $" { pass "cmp tests" } - -re "$gdb_prompt $" { fail "cmp tests" } - timeout { fail "(timeout) cmp tests" } - } -} - -proc logical_tests { } { - global gdb_prompt - global hex - global decimal - - send_gdb "x/15i logical_tests\n" - gdb_expect { - -re " -.*and r0,r1.* -.*or r2,r3.* -.*xor r4,r5.* -.*not r6.* -.*and 16,r1.* -.*or 16,r1.* -.*xor 16,r1.* -.*and 2096895,r2.* -.*or 2096895,r2.* -.*xor 2096895,r2.* -.*and 2147417596,r2.* -.*or 2147417596,r2.* -.*xor 2147417596,r2.* -.*and 131072,epsw.* -.*or 65535,epsw.* -.*$gdb_prompt $" { pass "logical tests" } - -re "$gdb_prompt $" { fail "logical tests" } - timeout { fail "(timeout) logical tests" } - } -} - -proc shift_tests { } { - global gdb_prompt - global hex - global decimal - - send_gdb "x/15i shift_tests\n" - gdb_expect { - -re " -.*asr r7,r8.* -.*lsr r9,r10.* -.*asl r11,r12.* -.*asl2 r13.* -.*ror r14.* -.*rol r15.* -.*asr 16,r1.* -.*lsr 16,r1.* -.*asl 16,r1.* -.*asr 2096895,r2.* -.*lsr 2096895,r2.* -.*asl 2096895,r2.* -.*asr 2147417596,r2.* -.*lsr 2147417596,r2.* -.*asl 2147417596,r2.* -.*$gdb_prompt $" { pass "shift tests" } - -re "$gdb_prompt $" { fail "shift tests" } - timeout { fail "(timeout) shift tests" } - } -} - -proc muldiv_tests { } { - global gdb_prompt - global hex - global decimal - - send_gdb "x/14i muldiv_tests\n" - gdb_expect { - -re " -.*mul r1,r2.* -.*mulu r3,r4.* -.*mul 16,r1.* -.*mulu 16,r1.* -.*mul 2096895,r2.* -.*mulu 2096895,r2.* -.*mul 2147417596,r2.* -.*mulu 2147417596,r2.* -.*div r5,r6.* -.*divu r7,r8.* -.*dmulh r13,r12.* -.*dmulhu r11,r10.* -.*dmulh 2147417596,r2.* -.*dmulhu 2147417596,r2.* -.*$gdb_prompt $" { pass "muldiv tests" } - -re "$gdb_prompt $" { fail "muldiv tests" } - timeout { fail "(timeout) muldiv tests" } - } -} - -proc movbu_tests { } { - global gdb_prompt - global hex - global decimal - - send_gdb "x/20i movbu_tests\n" - gdb_expect { - -re " -.*movbu \\(r5\\),r6.* -.*movbu r7,\\(r8\\).* -.*movbu \\(sp\\),r7.* -.*movbu r8,\\(sp\\).* -.*movbu \\(16,r1\\),r2.* -.*movbu r2,\\(16,r1\\).* -.*movbu \\(16,sp\\),r2.* -.*movbu r2,\\(16,sp\\).* -.*movbu \\(2096895,r1\\),r2.* -.*movbu r2,\\(2096895,r1\\).* -.*movbu \\(2096895,sp\\),r2.* -.*movbu r2,\\(2096895,sp\\).* -.*movbu \\(0x1ffeff\\),r2.* -.*movbu r2,\\(0x1ffeff\\).* -.*movbu \\(2147417596,r1\\),r2.* -.*movbu r2,\\(2147417596,r1\\).* -.*movbu \\(2147417596,sp\\),r2.* -.*movbu r2,\\(2147417596,sp\\).* -.*movbu \\(0x7ffefdfc\\),r2.* -.*movbu r2,\\(0x7ffefdfc\\).* -.*$gdb_prompt $" { pass "movbu tests" } - -re "$gdb_prompt $" { fail "movbu tests" } - timeout { fail "(timeout) movbu tests" } - } -} - -proc movhu_tests { } { - global gdb_prompt - global hex - global decimal - - send_gdb "x/20i movhu_tests\n" - gdb_expect { - -re " -.*movhu \\(r9\\),r10.* -.*movhu r11,\\(r12\\).* -.*movhu \\(sp\\),r9.* -.*movhu r10,\\(sp\\).* -.*movhu \\(16,r1\\),r2.* -.*movhu r2,\\(16,r1\\).* -.*movhu \\(16,sp\\),r2.* -.*movhu r2,\\(16,sp\\).* -.*movhu \\(2096895,r1\\),r2.* -.*movhu r2,\\(2096895,r1\\).* -.*movhu \\(2096895,sp\\),r2.* -.*movhu r2,\\(2096895,sp\\).* -.*movhu \\(0x1ffeff\\),r2.* -.*movhu r2,\\(0x1ffeff\\).* -.*movhu \\(2147417596,r1\\),r2.* -.*movhu r2,\\(2147417596,r1\\).* -.*movhu \\(2147417596,sp\\),r2.* -.*movhu r2,\\(2147417596,sp\\).* -.*movhu \\(0x7ffefdfc\\),r2.* -.*movhu r2,\\(0x7ffefdfc\\).* -.*$gdb_prompt $" { pass "movhu tests" } - -re "$gdb_prompt $" { fail "movhu tests" } - timeout { fail "(timeout) movhu tests" } - } -} - -proc mac_tests { } { - global gdb_prompt - global hex - global decimal - - send_gdb "x/28i mac_tests\n" - gdb_expect { - -re " -.*mac r1,r2.* -.*macu r3,r4.* -.*macb r5,r6.* -.*macbu r7,r8.* -.*mach r9,r10.* -.*machu r11,r12.* -.*dmach r13,r14.* -.*dmachu r15,r14.* -.*mac 16,r1.* -.*macu 16,r1.* -.*macb 16,r1.* -.*macbu 16,r1.* -.*mach 16,r1.* -.*machu 16,r1.* -.*mac 2096895,r2.* -.*macu 2096895,r2.* -.*macb 2096895,r2.* -.*macbu 2096895,r2.* -.*mach 2096895,r2.* -.*machu 2096895,r2.* -.*mac 2147417596,r2.* -.*macu 2147417596,r2.* -.*macb 2147417596,r2.* -.*macbu 2147417596,r2.* -.*mach 2147417596,r2.* -.*machu 2147417596,r2.* -.*dmach 2147417596,r2.* -.*dmachu 2147417596,r2.* -.*$gdb_prompt $" { pass "mac tests" } - -re "$gdb_prompt $" { fail "mac tests" } - timeout { fail "(timeout) mac tests" } - } -} - -proc bit_tests { } { - global gdb_prompt - global hex - global decimal - - send_gdb "x/4i bit_tests\n" - gdb_expect { - -re " -.*bsch r1,r2.* -.*btst 16,r1.* -.*btst 2096895,r2.* -.*btst 2147417596,r2.* -.*$gdb_prompt $" { pass "bit tests" } - -re "$gdb_prompt $" { fail "bit tests" } - timeout { fail "(timeout) bit tests" } - } -} - -proc dsp_add_tests { } { - global gdb_prompt - global hex - global decimal - - send_gdb "x/28i dsp_add_tests\n" - gdb_expect { - -re " -.*add_add r4,r1,r2,r3.* -.*add_add r4,r1,2,r3.* -.*add_sub r4,r1,r2,r3.* -.*add_sub r4,r1,2,r3.* -.*add_cmp r4,r1,r2,r3.* -.*add_cmp r4,r1,2,r3.* -.*add_mov r4,r1,r2,r3.* -.*add_mov r4,r1,2,r3.* -.*add_asr r4,r1,r2,r3.* -.*add_asr r4,r1,2,r3.* -.*add_lsr r4,r1,r2,r3.* -.*add_lsr r4,r1,2,r3.* -.*add_asl r4,r1,r2,r3.* -.*add_asl r4,r1,2,r3.* -.*add_add 4,r1,r2,r3.* -.*add_add 4,r1,2,r3.* -.*add_sub 4,r1,r2,r3.* -.*add_sub 4,r1,2,r3.* -.*add_cmp 4,r1,r2,r3.* -.*add_cmp 4,r1,2,r3.* -.*add_mov 4,r1,r2,r3.* -.*add_mov 4,r1,2,r3.* -.*add_asr 4,r1,r2,r3.* -.*add_asr 4,r1,2,r3.* -.*add_lsr 4,r1,r2,r3.* -.*add_lsr 4,r1,2,r3.* -.*add_asl 4,r1,r2,r3.* -.*add_asl 4,r1,2,r3.* -.*$gdb_prompt $" { pass "dsp_add tests" } - -re "$gdb_prompt $" { fail "dsp_add tests" } - timeout { fail "(timeout) dsp_add tests" } - } -} - -proc dsp_cmp_tests { } { - global gdb_prompt - global hex - global decimal - - send_gdb "x/24i dsp_cmp_tests\n" - gdb_expect { - -re " -.*cmp_add r4,r1,r2,r3.* -.*cmp_add r4,r1,2,r3.* -.*cmp_sub r4,r1,r2,r3.* -.*cmp_sub r4,r1,2,r3.* -.*cmp_mov r4,r1,r2,r3.* -.*cmp_mov r4,r1,2,r3.* -.*cmp_asr r4,r1,r2,r3.* -.*cmp_asr r4,r1,2,r3.* -.*cmp_lsr r4,r1,r2,r3.* -.*cmp_lsr r4,r1,2,r3.* -.*cmp_asl r4,r1,r2,r3.* -.*cmp_asl r4,r1,2,r3.* -.*cmp_add 4,r1,r2,r3.* -.*cmp_add 4,r1,2,r3.* -.*cmp_sub 4,r1,r2,r3.* -.*cmp_sub 4,r1,2,r3.* -.*cmp_mov 4,r1,r2,r3.* -.*cmp_mov 4,r1,2,r3.* -.*cmp_asr 4,r1,r2,r3.* -.*cmp_asr 4,r1,2,r3.* -.*cmp_lsr 4,r1,r2,r3.* -.*cmp_lsr 4,r1,2,r3.* -.*cmp_asl 4,r1,r2,r3.* -.*cmp_asl 4,r1,2,r3.* -.*$gdb_prompt $" { pass "dsp_cmp tests" } - -re "$gdb_prompt $" { fail "dsp_cmp tests" } - timeout { fail "(timeout) dsp_cmp tests" } - } -} - -proc dsp_sub_tests { } { - global gdb_prompt - global hex - global decimal - - send_gdb "x/28i dsp_sub_tests\n" - gdb_expect { - -re " -.*sub_add r4,r1,r2,r3.* -.*sub_add r4,r1,2,r3.* -.*sub_sub r4,r1,r2,r3.* -.*sub_sub r4,r1,2,r3.* -.*sub_cmp r4,r1,r2,r3.* -.*sub_cmp r4,r1,2,r3.* -.*sub_mov r4,r1,r2,r3.* -.*sub_mov r4,r1,2,r3.* -.*sub_asr r4,r1,r2,r3.* -.*sub_asr r4,r1,2,r3.* -.*sub_lsr r4,r1,r2,r3.* -.*sub_lsr r4,r1,2,r3.* -.*sub_asl r4,r1,r2,r3.* -.*sub_asl r4,r1,2,r3.* -.*sub_add 4,r1,r2,r3.* -.*sub_add 4,r1,2,r3.* -.*sub_sub 4,r1,r2,r3.* -.*sub_sub 4,r1,2,r3.* -.*sub_cmp 4,r1,r2,r3.* -.*sub_cmp 4,r1,2,r3.* -.*sub_mov 4,r1,r2,r3.* -.*sub_mov 4,r1,2,r3.* -.*sub_asr 4,r1,r2,r3.* -.*sub_asr 4,r1,2,r3.* -.*sub_lsr 4,r1,r2,r3.* -.*sub_lsr 4,r1,2,r3.* -.*sub_asl 4,r1,r2,r3.* -.*sub_asl 4,r1,2,r3.* -.*$gdb_prompt $" { pass "dsp_sub tests" } - -re "$gdb_prompt $" { fail "dsp_sub tests" } - timeout { fail "(timeout) dsp_sub tests" } - } -} - -proc dsp_mov_tests { } { - global gdb_prompt - global hex - global decimal - - send_gdb "x/28i dsp_mov_tests\n" - gdb_expect { - -re " -.*mov_add r4,r1,r2,r3.* -.*mov_add r4,r1,2,r3.* -.*mov_sub r4,r1,r2,r3.* -.*mov_sub r4,r1,2,r3.* -.*mov_cmp r4,r1,r2,r3.* -.*mov_cmp r4,r1,2,r3.* -.*mov_mov r4,r1,r2,r3.* -.*mov_mov r4,r1,2,r3.* -.*mov_asr r4,r1,r2,r3.* -.*mov_asr r4,r1,2,r3.* -.*mov_lsr r4,r1,r2,r3.* -.*mov_lsr r4,r1,2,r3.* -.*mov_asl r4,r1,r2,r3.* -.*mov_asl r4,r1,2,r3.* -.*mov_add 4,r1,r2,r3.* -.*mov_add 4,r1,2,r3.* -.*mov_sub 4,r1,r2,r3.* -.*mov_sub 4,r1,2,r3.* -.*mov_cmp 4,r1,r2,r3.* -.*mov_cmp 4,r1,2,r3.* -.*mov_mov 4,r1,r2,r3.* -.*mov_mov 4,r1,2,r3.* -.*mov_asr 4,r1,r2,r3.* -.*mov_asr 4,r1,2,r3.* -.*mov_lsr 4,r1,r2,r3.* -.*mov_lsr 4,r1,2,r3.* -.*mov_asl 4,r1,r2,r3.* -.*mov_asl 4,r1,2,r3.* -.*$gdb_prompt $" { pass "dsp_mov tests" } - -re "$gdb_prompt $" { fail "dsp_mov tests" } - timeout { fail "(timeout) dsp_mov tests" } - } -} - -proc dsp_logical_tests { } { - global gdb_prompt - global hex - global decimal - - send_gdb "x/42i dsp_logical_tests\n" - gdb_expect { - -re " -.*and_add r4,r1,r2,r3.* -.*and_add r4,r1,2,r3.* -.*and_sub r4,r1,r2,r3.* -.*and_sub r4,r1,2,r3.* -.*and_cmp r4,r1,r2,r3.* -.*and_cmp r4,r1,2,r3.* -.*and_mov r4,r1,r2,r3.* -.*and_mov r4,r1,2,r3.* -.*and_asr r4,r1,r2,r3.* -.*and_asr r4,r1,2,r3.* -.*and_lsr r4,r1,r2,r3.* -.*and_lsr r4,r1,2,r3.* -.*and_asl r4,r1,r2,r3.* -.*and_asl r4,r1,2,r3.* -.*xor_add r4,r1,r2,r3.* -.*xor_add r4,r1,2,r3.* -.*xor_sub r4,r1,r2,r3.* -.*xor_sub r4,r1,2,r3.* -.*xor_cmp r4,r1,r2,r3.* -.*xor_cmp r4,r1,2,r3.* -.*xor_mov r4,r1,r2,r3.* -.*xor_mov r4,r1,2,r3.* -.*xor_asr r4,r1,r2,r3.* -.*xor_asr r4,r1,2,r3.* -.*xor_lsr r4,r1,r2,r3.* -.*xor_lsr r4,r1,2,r3.* -.*xor_asl r4,r1,r2,r3.* -.*xor_asl r4,r1,2,r3.* -.*or_add r4,r1,r2,r3.* -.*or_add r4,r1,2,r3.* -.*or_sub r4,r1,r2,r3.* -.*or_sub r4,r1,2,r3.* -.*or_cmp r4,r1,r2,r3.* -.*or_cmp r4,r1,2,r3.* -.*or_mov r4,r1,r2,r3.* -.*or_mov r4,r1,2,r3.* -.*or_asr r4,r1,r2,r3.* -.*or_asr r4,r1,2,r3.* -.*or_lsr r4,r1,r2,r3.* -.*or_lsr r4,r1,2,r3.* -.*or_asl r4,r1,r2,r3.* -.*or_asl r4,r1,2,r3.* -.*$gdb_prompt $" { pass "dsp_logical tests" } - -re "$gdb_prompt $" { fail "dsp_logical tests" } - timeout { fail "(timeout) dsp_logical tests" } - } -} - -proc dsp_misc_tests { } { - global gdb_prompt - global hex - global decimal - - send_gdb "x/42i dsp_misc_tests\n" - gdb_expect { - -re " -.*dmach_add r4,r1,r2,r3.* -.*dmach_add r4,r1,2,r3.* -.*dmach_sub r4,r1,r2,r3.* -.*dmach_sub r4,r1,2,r3.* -.*dmach_cmp r4,r1,r2,r3.* -.*dmach_cmp r4,r1,2,r3.* -.*dmach_mov r4,r1,r2,r3.* -.*dmach_mov r4,r1,2,r3.* -.*dmach_asr r4,r1,r2,r3.* -.*dmach_asr r4,r1,2,r3.* -.*dmach_lsr r4,r1,r2,r3.* -.*dmach_lsr r4,r1,2,r3.* -.*dmach_asl r4,r1,r2,r3.* -.*dmach_asl r4,r1,2,r3.* -.*swhw_add r4,r1,r2,r3.* -.*swhw_add r4,r1,2,r3.* -.*swhw_sub r4,r1,r2,r3.* -.*swhw_sub r4,r1,2,r3.* -.*swhw_cmp r4,r1,r2,r3.* -.*swhw_cmp r4,r1,2,r3.* -.*swhw_mov r4,r1,r2,r3.* -.*swhw_mov r4,r1,2,r3.* -.*swhw_asr r4,r1,r2,r3.* -.*swhw_asr r4,r1,2,r3.* -.*swhw_lsr r4,r1,r2,r3.* -.*swhw_lsr r4,r1,2,r3.* -.*swhw_asl r4,r1,r2,r3.* -.*swhw_asl r4,r1,2,r3.* -.*sat16_add r4,r1,r2,r3.* -.*sat16_add r4,r1,2,r3.* -.*sat16_sub r4,r1,r2,r3.* -.*sat16_sub r4,r1,2,r3.* -.*sat16_cmp r4,r1,r2,r3.* -.*sat16_cmp r4,r1,2,r3.* -.*sat16_mov r4,r1,r2,r3.* -.*sat16_mov r4,r1,2,r3.* -.*sat16_asr r4,r1,r2,r3.* -.*sat16_asr r4,r1,2,r3.* -.*sat16_lsr r4,r1,r2,r3.* -.*sat16_lsr r4,r1,2,r3.* -.*sat16_asl r4,r1,r2,r3.* -.*sat16_asl r4,r1,2,r3.* -.*$gdb_prompt $" { pass "dsp_misc tests" } - -re "$gdb_prompt $" { fail "dsp_misc tests" } - timeout { fail "(timeout) dsp_misc tests" } - } -} - - -# Start with a fresh gdb. - -gdb_exit -gdb_start -gdb_reinitialize_dir $srcdir/$subdir -gdb_load $binfile - -call_tests -movm_tests -misc_tests -mov_tests -ext_tests -add_tests -sub_tests -cmp_tests -logical_tests -shift_tests -muldiv_tests -movbu_tests -movhu_tests -mac_tests -bit_tests -dsp_add_tests -dsp_cmp_tests -dsp_sub_tests -dsp_mov_tests -dsp_logical_tests diff --git a/gdb/testsuite/gdb.disasm/am33.s b/gdb/testsuite/gdb.disasm/am33.s deleted file mode 100644 index 36bce2fd1c9..00000000000 --- a/gdb/testsuite/gdb.disasm/am33.s +++ /dev/null @@ -1,505 +0,0 @@ - - .globl _main - .globl call_tests - .globl movm_tests - .globl misc_tests - .globl mov_tests - .globl ext_tests - .globl add_tests - .globl sub_tests - .globl cmp_tests - .globl logical_tests - .globl shift_tests - .globl muldiv_tests - .globl movbu_tests - .globl movhu_tests - .globl mac_tests - .globl bit_tests - .globl dsp_add_tests - .globl dsp_cmp_tests - .globl dsp_sub_tests - .globl dsp_mov_tests - .globl dsp_logical_tests - .globl dsp_misc_tests - - .text -_main: -call_tests: - call 256,[a2,a3,exreg0],9 - call 256,[a2,a3,exreg1],9 - call 256,[a2,a3,exother],9 - call 256,[a2,a3,all],9 - call 131071,[a2,a3,exreg0],9 - call 131071,[a2,a3,exreg1],9 - call 131071,[a2,a3,exother],9 - call 131071,[a2,a3,all],9 - -movm_tests: - movm (sp),[a2,a3,exreg0] - movm (sp),[a2,a3,exreg1] - movm (sp),[a2,a3,exother] - movm (sp),[a2,a3,all] - movm [a2,a3,exreg0],(sp) - movm [a2,a3,exreg1],(sp) - movm [a2,a3,exother],(sp) - movm [a2,a3,all],(sp) - movm (usp),[a2,a3,exreg0] - movm (usp),[a2,a3,exreg1] - movm (usp),[a2,a3,exother] - movm (usp),[a2,a3,all] - movm [a2,a3,exreg0],(usp) - movm [a2,a3,exreg1],(usp) - movm [a2,a3,exother],(usp) - movm [a2,a3,all],(usp) - -misc_tests: - syscall 0x4 - mcst9 d0 - mcst48 d1 - getchx d0 - getclx d1 - clr r9 - sat16 r9,r8 - mcste r7,r6 - swap r5,r4 - swaph r3,r2 - swhw r1,r0 - - -mov_tests: - mov r0,r1 - mov xr0, r1 - mov r1, xr2 - mov (r1),r2 - mov r3,(r4) - mov (sp),r5 - mov r6,(sp) - mov 16,r1 - mov 16,xr1 - mov (16,r1),r2 - mov r2,(16,r1) - mov (16,sp),r2 - mov r2,(16,sp) - mov 0x1ffeff,r2 - mov 0x1ffeff,xr2 - mov (0x1ffeff,r1),r2 - mov r2,(0x1ffeff,r1) - mov (0x1ffeff,sp),r2 - mov r2,(0x1ffeff,sp) - mov (0x1ffeff),r2 - mov r2,(0x1ffeff) - mov 0x7ffefdfc,r2 - mov 0x7ffefdfc,xr2 - mov (0x7ffefdfc,r1),r2 - mov r2,(0x7ffefdfc,r1) - mov (0x7ffefdfc,sp),r2 - mov r2,(0x7ffefdfc,sp) - mov (0x7ffefdfc),r2 - mov r2,(0x7ffefdfc) - movu 16,r1 - movu 0x1ffeff,r2 - movu 0x7ffefdfc,r2 - mov usp,a0 - mov ssp,a1 - mov msp,a2 - mov pc,a3 - mov a0,usp - mov a1,ssp - mov a2,msp - mov epsw,d0 - mov d1,epsw - mov a0,r1 - mov d2,r3 - mov r5,a1 - mov r7,d3 - -ext_tests: - ext r2 - extb r3,r4 - extbu r4,r5 - exth r6,r7 - exthu r7,r8 - -add_tests: - add r10,r11 - add 16,r1 - add 0x1ffeff,r2 - add 0x7ffefdfc,r2 - add r1,r2,r3 - addc r12,r13 - addc 16,r1 - addc 0x1ffeff,r2 - addc 0x7ffefdfc,r2 - inc r13 - inc4 r12 - - -sub_tests: - sub r14,r15 - sub 16,r1 - sub 0x1ffeff,r2 - sub 0x7ffefdfc,r2 - subc r15,r14 - subc 16,r1 - subc 0x1ffeff,r2 - subc 0x7ffefdfc,r2 - -cmp_tests: - cmp r11,r10 - cmp 16,r1 - cmp 0x1ffeff,r2 - cmp 0x7ffefdfc,r2 - -logical_tests: - and r0,r1 - or r2,r3 - xor r4,r5 - not r6 - and 16,r1 - or 16,r1 - xor 16,r1 - and 0x1ffeff,r2 - or 0x1ffeff,r2 - xor 0x1ffeff,r2 - and 0x7ffefdfc,r2 - or 0x7ffefdfc,r2 - xor 0x7ffefdfc,r2 - and 131072,epsw - or 65535,epsw - -shift_tests: - asr r7,r8 - lsr r9,r10 - asl r11,r12 - asl2 r13 - ror r14 - rol r15 - asr 16,r1 - lsr 16,r1 - asl 16,r1 - asr 0x1ffeff,r2 - lsr 0x1ffeff,r2 - asl 0x1ffeff,r2 - asr 0x7ffefdfc,r2 - lsr 0x7ffefdfc,r2 - asl 0x7ffefdfc,r2 - -muldiv_tests: - mul r1,r2 - mulu r3,r4 - mul 16,r1 - mulu 16,r1 - mul 0x1ffeff,r2 - mulu 0x1ffeff,r2 - mul 0x7ffefdfc,r2 - mulu 0x7ffefdfc,r2 - div r5,r6 - divu r7,r8 - dmulh r13,r12 - dmulhu r11,r10 - dmulh 0x7ffefdfc,r2 - dmulhu 0x7ffefdfc,r2 - -movbu_tests: - movbu (r5),r6 - movbu r7,(r8) - movbu (sp),r7 - movbu r8,(sp) - movbu (16,r1),r2 - movbu r2,(16,r1) - movbu (16,sp),r2 - movbu r2,(16,sp) - movbu (0x1ffeff,r1),r2 - movbu r2,(0x1ffeff,r1) - movbu (0x1ffeff,sp),r2 - movbu r2,(0x1ffeff,sp) - movbu (0x1ffeff),r2 - movbu r2,(0x1ffeff) - movbu (0x7ffefdfc,r1),r2 - movbu r2,(0x7ffefdfc,r1) - movbu (0x7ffefdfc,sp),r2 - movbu r2,(0x7ffefdfc,sp) - movbu (0x7ffefdfc),r2 - movbu r2,(0x7ffefdfc) - -movhu_tests: - movhu (r9),r10 - movhu r11,(r12) - movhu (sp),r9 - movhu r10,(sp) - movhu (16,r1),r2 - movhu r2,(16,r1) - movhu (16,sp),r2 - movhu r2,(16,sp) - movhu (0x1ffeff,r1),r2 - movhu r2,(0x1ffeff,r1) - movhu (0x1ffeff,sp),r2 - movhu r2,(0x1ffeff,sp) - movhu (0x1ffeff),r2 - movhu r2,(0x1ffeff) - movhu (0x7ffefdfc,r1),r2 - movhu r2,(0x7ffefdfc,r1) - movhu (0x7ffefdfc,sp),r2 - movhu r2,(0x7ffefdfc,sp) - movhu (0x7ffefdfc),r2 - movhu r2,(0x7ffefdfc) - - -mac_tests: - mac r1,r2 - macu r3,r4 - macb r5,r6 - macbu r7,r8 - mach r9,r10 - machu r11,r12 - dmach r13,r14 - dmachu r15,r14 - mac 16,r1 - macu 16,r1 - macb 16,r1 - macbu 16,r1 - mach 16,r1 - machu 16,r1 - mac 0x1ffeff,r2 - macu 0x1ffeff,r2 - macb 0x1ffeff,r2 - macbu 0x1ffeff,r2 - mach 0x1ffeff,r2 - machu 0x1ffeff,r2 - mac 0x7ffefdfc,r2 - macu 0x7ffefdfc,r2 - macb 0x7ffefdfc,r2 - macbu 0x7ffefdfc,r2 - mach 0x7ffefdfc,r2 - machu 0x7ffefdfc,r2 - dmach 0x7ffefdfc,r2 - dmachu 0x7ffefdfc,r2 - -bit_tests: - bsch r1,r2 - btst 16,r1 - btst 0x1ffeff,r2 - btst 0x7ffefdfc,r2 - - - -dsp_add_tests: - add_add r4,r1,r2,r3 - add_add r4,r1,2,r3 - add_sub r4,r1,r2,r3 - add_sub r4,r1,2,r3 - add_cmp r4,r1,r2,r3 - add_cmp r4,r1,2,r3 - add_mov r4,r1,r2,r3 - add_mov r4,r1,2,r3 - add_asr r4,r1,r2,r3 - add_asr r4,r1,2,r3 - add_lsr r4,r1,r2,r3 - add_lsr r4,r1,2,r3 - add_asl r4,r1,r2,r3 - add_asl r4,r1,2,r3 - add_add 4,r1,r2,r3 - add_add 4,r1,2,r3 - add_sub 4,r1,r2,r3 - add_sub 4,r1,2,r3 - add_cmp 4,r1,r2,r3 - add_cmp 4,r1,2,r3 - add_mov 4,r1,r2,r3 - add_mov 4,r1,2,r3 - add_asr 4,r1,r2,r3 - add_asr 4,r1,2,r3 - add_lsr 4,r1,r2,r3 - add_lsr 4,r1,2,r3 - add_asl 4,r1,r2,r3 - add_asl 4,r1,2,r3 - -dsp_cmp_tests: - cmp_add r4,r1,r2,r3 - cmp_add r4,r1,2,r3 - cmp_sub r4,r1,r2,r3 - cmp_sub r4,r1,2,r3 - cmp_mov r4,r1,r2,r3 - cmp_mov r4,r1,2,r3 - cmp_asr r4,r1,r2,r3 - cmp_asr r4,r1,2,r3 - cmp_lsr r4,r1,r2,r3 - cmp_lsr r4,r1,2,r3 - cmp_asl r4,r1,r2,r3 - cmp_asl r4,r1,2,r3 - cmp_add 4,r1,r2,r3 - cmp_add 4,r1,2,r3 - cmp_sub 4,r1,r2,r3 - cmp_sub 4,r1,2,r3 - cmp_mov 4,r1,r2,r3 - cmp_mov 4,r1,2,r3 - cmp_asr 4,r1,r2,r3 - cmp_asr 4,r1,2,r3 - cmp_lsr 4,r1,r2,r3 - cmp_lsr 4,r1,2,r3 - cmp_asl 4,r1,r2,r3 - cmp_asl 4,r1,2,r3 - -dsp_sub_tests: - sub_add r4,r1,r2,r3 - sub_add r4,r1,2,r3 - sub_sub r4,r1,r2,r3 - sub_sub r4,r1,2,r3 - sub_cmp r4,r1,r2,r3 - sub_cmp r4,r1,2,r3 - sub_mov r4,r1,r2,r3 - sub_mov r4,r1,2,r3 - sub_asr r4,r1,r2,r3 - sub_asr r4,r1,2,r3 - sub_lsr r4,r1,r2,r3 - sub_lsr r4,r1,2,r3 - sub_asl r4,r1,r2,r3 - sub_asl r4,r1,2,r3 - sub_add 4,r1,r2,r3 - sub_add 4,r1,2,r3 - sub_sub 4,r1,r2,r3 - sub_sub 4,r1,2,r3 - sub_cmp 4,r1,r2,r3 - sub_cmp 4,r1,2,r3 - sub_mov 4,r1,r2,r3 - sub_mov 4,r1,2,r3 - sub_asr 4,r1,r2,r3 - sub_asr 4,r1,2,r3 - sub_lsr 4,r1,r2,r3 - sub_lsr 4,r1,2,r3 - sub_asl 4,r1,r2,r3 - sub_asl 4,r1,2,r3 - -dsp_mov_tests: - mov_add r4,r1,r2,r3 - mov_add r4,r1,2,r3 - mov_sub r4,r1,r2,r3 - mov_sub r4,r1,2,r3 - mov_cmp r4,r1,r2,r3 - mov_cmp r4,r1,2,r3 - mov_mov r4,r1,r2,r3 - mov_mov r4,r1,2,r3 - mov_asr r4,r1,r2,r3 - mov_asr r4,r1,2,r3 - mov_lsr r4,r1,r2,r3 - mov_lsr r4,r1,2,r3 - mov_asl r4,r1,r2,r3 - mov_asl r4,r1,2,r3 - mov_add 4,r1,r2,r3 - mov_add 4,r1,2,r3 - mov_sub 4,r1,r2,r3 - mov_sub 4,r1,2,r3 - mov_cmp 4,r1,r2,r3 - mov_cmp 4,r1,2,r3 - mov_mov 4,r1,r2,r3 - mov_mov 4,r1,2,r3 - mov_asr 4,r1,r2,r3 - mov_asr 4,r1,2,r3 - mov_lsr 4,r1,r2,r3 - mov_lsr 4,r1,2,r3 - mov_asl 4,r1,r2,r3 - mov_asl 4,r1,2,r3 - -dsp_logical_tests: - and_add r4,r1,r2,r3 - and_add r4,r1,2,r3 - and_sub r4,r1,r2,r3 - and_sub r4,r1,2,r3 - and_cmp r4,r1,r2,r3 - and_cmp r4,r1,2,r3 - and_mov r4,r1,r2,r3 - and_mov r4,r1,2,r3 - and_asr r4,r1,r2,r3 - and_asr r4,r1,2,r3 - and_lsr r4,r1,r2,r3 - and_lsr r4,r1,2,r3 - and_asl r4,r1,r2,r3 - and_asl r4,r1,2,r3 - xor_add r4,r1,r2,r3 - xor_add r4,r1,2,r3 - xor_sub r4,r1,r2,r3 - xor_sub r4,r1,2,r3 - xor_cmp r4,r1,r2,r3 - xor_cmp r4,r1,2,r3 - xor_mov r4,r1,r2,r3 - xor_mov r4,r1,2,r3 - xor_asr r4,r1,r2,r3 - xor_asr r4,r1,2,r3 - xor_lsr r4,r1,r2,r3 - xor_lsr r4,r1,2,r3 - xor_asl r4,r1,r2,r3 - xor_asl r4,r1,2,r3 - or_add r4,r1,r2,r3 - or_add r4,r1,2,r3 - or_sub r4,r1,r2,r3 - or_sub r4,r1,2,r3 - or_cmp r4,r1,r2,r3 - or_cmp r4,r1,2,r3 - or_mov r4,r1,r2,r3 - or_mov r4,r1,2,r3 - or_asr r4,r1,r2,r3 - or_asr r4,r1,2,r3 - or_lsr r4,r1,r2,r3 - or_lsr r4,r1,2,r3 - or_asl r4,r1,r2,r3 - or_asl r4,r1,2,r3 - -dsp_misc_tests: - dmach_add r4,r1,r2,r3 - dmach_add r4,r1,2,r3 - dmach_sub r4,r1,r2,r3 - dmach_sub r4,r1,2,r3 - dmach_cmp r4,r1,r2,r3 - dmach_cmp r4,r1,2,r3 - dmach_mov r4,r1,r2,r3 - dmach_mov r4,r1,2,r3 - dmach_asr r4,r1,r2,r3 - dmach_asr r4,r1,2,r3 - dmach_lsr r4,r1,r2,r3 - dmach_lsr r4,r1,2,r3 - dmach_asl r4,r1,r2,r3 - dmach_asl r4,r1,2,r3 - swhw_add r4,r1,r2,r3 - swhw_add r4,r1,2,r3 - swhw_sub r4,r1,r2,r3 - swhw_sub r4,r1,2,r3 - swhw_cmp r4,r1,r2,r3 - swhw_cmp r4,r1,2,r3 - swhw_mov r4,r1,r2,r3 - swhw_mov r4,r1,2,r3 - swhw_asr r4,r1,r2,r3 - swhw_asr r4,r1,2,r3 - swhw_lsr r4,r1,r2,r3 - swhw_lsr r4,r1,2,r3 - swhw_asl r4,r1,r2,r3 - swhw_asl r4,r1,2,r3 - sat16_add r4,r1,r2,r3 - sat16_add r4,r1,2,r3 - sat16_sub r4,r1,r2,r3 - sat16_sub r4,r1,2,r3 - sat16_cmp r4,r1,r2,r3 - sat16_cmp r4,r1,2,r3 - sat16_mov r4,r1,r2,r3 - sat16_mov r4,r1,2,r3 - sat16_asr r4,r1,r2,r3 - sat16_asr r4,r1,2,r3 - sat16_lsr r4,r1,r2,r3 - sat16_lsr r4,r1,2,r3 - sat16_asl r4,r1,r2,r3 - sat16_asl r4,r1,2,r3 -# mov (r1+),r2 -# mov r3,(r4+) -# movhu (r6+),r7 -# movhu r8,(r9+) -# mov (rm+,imm8),rn -# mov rn,(rm+,imm8) -# movhu (rm+,imm8),rn -# movhu rn,(rm+,imm8) -# mov (rm+,imm24),rn -# mov rn,(rm+,imm24) -# movhu (rm+,imm24),rn -# movhu rn,(rm+,imm24) -# mov (rm+,imm32),rn -# mov rn,(rm+,imm32) -# movhu (rm+,imm32),rn -# movhu rn,(rm+,imm32) - diff --git a/gdb/testsuite/gdb.disasm/configure b/gdb/testsuite/gdb.disasm/configure deleted file mode 100644 index 0e6cbf20749..00000000000 --- a/gdb/testsuite/gdb.disasm/configure +++ /dev/null @@ -1,899 +0,0 @@ -#! /bin/sh - -# Guess values for system-dependent variables and create Makefiles. -# Generated automatically using autoconf version 2.12.1 -# Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc. -# -# This configure script is free software; the Free Software Foundation -# gives unlimited permission to copy, distribute and modify it. - -# Defaults: -ac_help= -ac_default_prefix=/usr/local -# Any additions from configure.in: - -# Initialize some variables set by options. -# The variables have the same names as the options, with -# dashes changed to underlines. -build=NONE -cache_file=./config.cache -exec_prefix=NONE -host=NONE -no_create= -nonopt=NONE -no_recursion= -prefix=NONE -program_prefix=NONE -program_suffix=NONE -program_transform_name=s,x,x, -silent= -site= -srcdir= -target=NONE -verbose= -x_includes=NONE -x_libraries=NONE -bindir='${exec_prefix}/bin' -sbindir='${exec_prefix}/sbin' -libexecdir='${exec_prefix}/libexec' -datadir='${prefix}/share' -sysconfdir='${prefix}/etc' -sharedstatedir='${prefix}/com' -localstatedir='${prefix}/var' -libdir='${exec_prefix}/lib' -includedir='${prefix}/include' -oldincludedir='/usr/include' -infodir='${prefix}/info' -mandir='${prefix}/man' - -# Initialize some other variables. -subdirs= -MFLAGS= MAKEFLAGS= -SHELL=${CONFIG_SHELL-/bin/sh} -# Maximum number of lines to put in a shell here document. -ac_max_here_lines=12 - -ac_prev= -for ac_option -do - - # If the previous option needs an argument, assign it. - if test -n "$ac_prev"; then - eval "$ac_prev=\$ac_option" - ac_prev= - continue - fi - - case "$ac_option" in - -*=*) ac_optarg=`echo "$ac_option" | sed 's/[-_a-zA-Z0-9]*=//'` ;; - *) ac_optarg= ;; - esac - - # Accept the important Cygnus configure options, so we can diagnose typos. - - case "$ac_option" in - - -bindir | --bindir | --bindi | --bind | --bin | --bi) - ac_prev=bindir ;; - -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) - bindir="$ac_optarg" ;; - - -build | --build | --buil | --bui | --bu) - ac_prev=build ;; - -build=* | --build=* | --buil=* | --bui=* | --bu=*) - build="$ac_optarg" ;; - - -cache-file | --cache-file | --cache-fil | --cache-fi \ - | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) - ac_prev=cache_file ;; - -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ - | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) - cache_file="$ac_optarg" ;; - - -datadir | --datadir | --datadi | --datad | --data | --dat | --da) - ac_prev=datadir ;; - -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \ - | --da=*) - datadir="$ac_optarg" ;; - - -disable-* | --disable-*) - ac_feature=`echo $ac_option|sed -e 's/-*disable-//'` - # Reject names that are not valid shell variable names. - if test -n "`echo $ac_feature| sed 's/[-a-zA-Z0-9_]//g'`"; then - { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; } - fi - ac_feature=`echo $ac_feature| sed 's/-/_/g'` - eval "enable_${ac_feature}=no" ;; - - -enable-* | --enable-*) - ac_feature=`echo $ac_option|sed -e 's/-*enable-//' -e 's/=.*//'` - # Reject names that are not valid shell variable names. - if test -n "`echo $ac_feature| sed 's/[-_a-zA-Z0-9]//g'`"; then - { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; } - fi - ac_feature=`echo $ac_feature| sed 's/-/_/g'` - case "$ac_option" in - *=*) ;; - *) ac_optarg=yes ;; - esac - eval "enable_${ac_feature}='$ac_optarg'" ;; - - -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ - | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ - | --exec | --exe | --ex) - ac_prev=exec_prefix ;; - -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ - | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ - | --exec=* | --exe=* | --ex=*) - exec_prefix="$ac_optarg" ;; - - -gas | --gas | --ga | --g) - # Obsolete; use --with-gas. - with_gas=yes ;; - - -help | --help | --hel | --he) - # Omit some internal or obsolete options to make the list less imposing. - # This message is too long to be a string in the A/UX 3.1 sh. - cat << EOF -Usage: configure [options] [host] -Options: [defaults in brackets after descriptions] -Configuration: - --cache-file=FILE cache test results in FILE - --help print this message - --no-create do not create output files - --quiet, --silent do not print \`checking...' messages - --version print the version of autoconf that created configure -Directory and file names: - --prefix=PREFIX install architecture-independent files in PREFIX - [$ac_default_prefix] - --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX - [same as prefix] - --bindir=DIR user executables in DIR [EPREFIX/bin] - --sbindir=DIR system admin executables in DIR [EPREFIX/sbin] - --libexecdir=DIR program executables in DIR [EPREFIX/libexec] - --datadir=DIR read-only architecture-independent data in DIR - [PREFIX/share] - --sysconfdir=DIR read-only single-machine data in DIR [PREFIX/etc] - --sharedstatedir=DIR modifiable architecture-independent data in DIR - [PREFIX/com] - --localstatedir=DIR modifiable single-machine data in DIR [PREFIX/var] - --libdir=DIR object code libraries in DIR [EPREFIX/lib] - --includedir=DIR C header files in DIR [PREFIX/include] - --oldincludedir=DIR C header files for non-gcc in DIR [/usr/include] - --infodir=DIR info documentation in DIR [PREFIX/info] - --mandir=DIR man documentation in DIR [PREFIX/man] - --srcdir=DIR find the sources in DIR [configure dir or ..] - --program-prefix=PREFIX prepend PREFIX to installed program names - --program-suffix=SUFFIX append SUFFIX to installed program names - --program-transform-name=PROGRAM - run sed PROGRAM on installed program names -EOF - cat << EOF -Host type: - --build=BUILD configure for building on BUILD [BUILD=HOST] - --host=HOST configure for HOST [guessed] - --target=TARGET configure for TARGET [TARGET=HOST] -Features and packages: - --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) - --enable-FEATURE[=ARG] include FEATURE [ARG=yes] - --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] - --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) - --x-includes=DIR X include files are in DIR - --x-libraries=DIR X library files are in DIR -EOF - if test -n "$ac_help"; then - echo "--enable and --with options recognized:$ac_help" - fi - exit 0 ;; - - -host | --host | --hos | --ho) - ac_prev=host ;; - -host=* | --host=* | --hos=* | --ho=*) - host="$ac_optarg" ;; - - -includedir | --includedir | --includedi | --included | --include \ - | --includ | --inclu | --incl | --inc) - ac_prev=includedir ;; - -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ - | --includ=* | --inclu=* | --incl=* | --inc=*) - includedir="$ac_optarg" ;; - - -infodir | --infodir | --infodi | --infod | --info | --inf) - ac_prev=infodir ;; - -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) - infodir="$ac_optarg" ;; - - -libdir | --libdir | --libdi | --libd) - ac_prev=libdir ;; - -libdir=* | --libdir=* | --libdi=* | --libd=*) - libdir="$ac_optarg" ;; - - -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ - | --libexe | --libex | --libe) - ac_prev=libexecdir ;; - -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ - | --libexe=* | --libex=* | --libe=*) - libexecdir="$ac_optarg" ;; - - -localstatedir | --localstatedir | --localstatedi | --localstated \ - | --localstate | --localstat | --localsta | --localst \ - | --locals | --local | --loca | --loc | --lo) - ac_prev=localstatedir ;; - -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ - | --localstate=* | --localstat=* | --localsta=* | --localst=* \ - | --locals=* | --local=* | --loca=* | --loc=* | --lo=*) - localstatedir="$ac_optarg" ;; - - -mandir | --mandir | --mandi | --mand | --man | --ma | --m) - ac_prev=mandir ;; - -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) - mandir="$ac_optarg" ;; - - -nfp | --nfp | --nf) - # Obsolete; use --without-fp. - with_fp=no ;; - - -no-create | --no-create | --no-creat | --no-crea | --no-cre \ - | --no-cr | --no-c) - no_create=yes ;; - - -no-recursion | --no-recursion | --no-recursio | --no-recursi \ - | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) - no_recursion=yes ;; - - -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ - | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ - | --oldin | --oldi | --old | --ol | --o) - ac_prev=oldincludedir ;; - -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ - | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ - | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) - oldincludedir="$ac_optarg" ;; - - -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) - ac_prev=prefix ;; - -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) - prefix="$ac_optarg" ;; - - -program-prefix | --program-prefix | --program-prefi | --program-pref \ - | --program-pre | --program-pr | --program-p) - ac_prev=program_prefix ;; - -program-prefix=* | --program-prefix=* | --program-prefi=* \ - | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) - program_prefix="$ac_optarg" ;; - - -program-suffix | --program-suffix | --program-suffi | --program-suff \ - | --program-suf | --program-su | --program-s) - ac_prev=program_suffix ;; - -program-suffix=* | --program-suffix=* | --program-suffi=* \ - | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) - program_suffix="$ac_optarg" ;; - - -program-transform-name | --program-transform-name \ - | --program-transform-nam | --program-transform-na \ - | --program-transform-n | --program-transform- \ - | --program-transform | --program-transfor \ - | --program-transfo | --program-transf \ - | --program-trans | --program-tran \ - | --progr-tra | --program-tr | --program-t) - ac_prev=program_transform_name ;; - -program-transform-name=* | --program-transform-name=* \ - | --program-transform-nam=* | --program-transform-na=* \ - | --program-transform-n=* | --program-transform-=* \ - | --program-transform=* | --program-transfor=* \ - | --program-transfo=* | --program-transf=* \ - | --program-trans=* | --program-tran=* \ - | --progr-tra=* | --program-tr=* | --program-t=*) - program_transform_name="$ac_optarg" ;; - - -q | -quiet | --quiet | --quie | --qui | --qu | --q \ - | -silent | --silent | --silen | --sile | --sil) - silent=yes ;; - - -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) - ac_prev=sbindir ;; - -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ - | --sbi=* | --sb=*) - sbindir="$ac_optarg" ;; - - -sharedstatedir | --sharedstatedir | --sharedstatedi \ - | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ - | --sharedst | --shareds | --shared | --share | --shar \ - | --sha | --sh) - ac_prev=sharedstatedir ;; - -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ - | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ - | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ - | --sha=* | --sh=*) - sharedstatedir="$ac_optarg" ;; - - -site | --site | --sit) - ac_prev=site ;; - -site=* | --site=* | --sit=*) - site="$ac_optarg" ;; - - -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) - ac_prev=srcdir ;; - -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) - srcdir="$ac_optarg" ;; - - -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ - | --syscon | --sysco | --sysc | --sys | --sy) - ac_prev=sysconfdir ;; - -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ - | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) - sysconfdir="$ac_optarg" ;; - - -target | --target | --targe | --targ | --tar | --ta | --t) - ac_prev=target ;; - -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) - target="$ac_optarg" ;; - - -v | -verbose | --verbose | --verbos | --verbo | --verb) - verbose=yes ;; - - -version | --version | --versio | --versi | --vers) - echo "configure generated by autoconf version 2.12.1" - exit 0 ;; - - -with-* | --with-*) - ac_package=`echo $ac_option|sed -e 's/-*with-//' -e 's/=.*//'` - # Reject names that are not valid shell variable names. - if test -n "`echo $ac_package| sed 's/[-_a-zA-Z0-9]//g'`"; then - { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; } - fi - ac_package=`echo $ac_package| sed 's/-/_/g'` - case "$ac_option" in - *=*) ;; - *) ac_optarg=yes ;; - esac - eval "with_${ac_package}='$ac_optarg'" ;; - - -without-* | --without-*) - ac_package=`echo $ac_option|sed -e 's/-*without-//'` - # Reject names that are not valid shell variable names. - if test -n "`echo $ac_package| sed 's/[-a-zA-Z0-9_]//g'`"; then - { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; } - fi - ac_package=`echo $ac_package| sed 's/-/_/g'` - eval "with_${ac_package}=no" ;; - - --x) - # Obsolete; use --with-x. - with_x=yes ;; - - -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ - | --x-incl | --x-inc | --x-in | --x-i) - ac_prev=x_includes ;; - -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ - | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) - x_includes="$ac_optarg" ;; - - -x-libraries | --x-libraries | --x-librarie | --x-librari \ - | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) - ac_prev=x_libraries ;; - -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ - | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) - x_libraries="$ac_optarg" ;; - - -*) { echo "configure: error: $ac_option: invalid option; use --help to show usage" 1>&2; exit 1; } - ;; - - *) - if test -n "`echo $ac_option| sed 's/[-a-z0-9.]//g'`"; then - echo "configure: warning: $ac_option: invalid host type" 1>&2 - fi - if test "x$nonopt" != xNONE; then - { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; } - fi - nonopt="$ac_option" - ;; - - esac -done - -if test -n "$ac_prev"; then - { echo "configure: error: missing argument to --`echo $ac_prev | sed 's/_/-/g'`" 1>&2; exit 1; } -fi - -trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15 - -# File descriptor usage: -# 0 standard input -# 1 file creation -# 2 errors and warnings -# 3 some systems may open it to /dev/tty -# 4 used on the Kubota Titan -# 6 checking for... messages and results -# 5 compiler messages saved in config.log -if test "$silent" = yes; then - exec 6>/dev/null -else - exec 6>&1 -fi -exec 5>./config.log - -echo "\ -This file contains any messages produced by compilers while -running configure, to aid debugging if configure makes a mistake. -" 1>&5 - -# Strip out --no-create and --no-recursion so they do not pile up. -# Also quote any args containing shell metacharacters. -ac_configure_args= -for ac_arg -do - case "$ac_arg" in - -no-create | --no-create | --no-creat | --no-crea | --no-cre \ - | --no-cr | --no-c) ;; - -no-recursion | --no-recursion | --no-recursio | --no-recursi \ - | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) ;; - *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?]*) - ac_configure_args="$ac_configure_args '$ac_arg'" ;; - *) ac_configure_args="$ac_configure_args $ac_arg" ;; - esac -done - -# NLS nuisances. -# Only set these to C if already set. These must not be set unconditionally -# because not all systems understand e.g. LANG=C (notably SCO). -# Fixing LC_MESSAGES prevents Solaris sh from translating var values in `set'! -# Non-C LC_CTYPE values break the ctype check. -if test "${LANG+set}" = set; then LANG=C; export LANG; fi -if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi -if test "${LC_MESSAGES+set}" = set; then LC_MESSAGES=C; export LC_MESSAGES; fi -if test "${LC_CTYPE+set}" = set; then LC_CTYPE=C; export LC_CTYPE; fi - -# confdefs.h avoids OS command line length limits that DEFS can exceed. -rm -rf conftest* confdefs.h -# AIX cpp loses on an empty file, so make sure it contains at least a newline. -echo > confdefs.h - -# A filename unique to this package, relative to the directory that -# configure is in, which we can look for to find out if srcdir is correct. -ac_unique_file=sh3.s - -# Find the source files, if location was not specified. -if test -z "$srcdir"; then - ac_srcdir_defaulted=yes - # Try the directory containing this script, then its parent. - ac_prog=$0 - ac_confdir=`echo $ac_prog|sed 's%/[^/][^/]*$%%'` - test "x$ac_confdir" = "x$ac_prog" && ac_confdir=. - srcdir=$ac_confdir - if test ! -r $srcdir/$ac_unique_file; then - srcdir=.. - fi -else - ac_srcdir_defaulted=no -fi -if test ! -r $srcdir/$ac_unique_file; then - if test "$ac_srcdir_defaulted" = yes; then - { echo "configure: error: can not find sources in $ac_confdir or .." 1>&2; exit 1; } - else - { echo "configure: error: can not find sources in $srcdir" 1>&2; exit 1; } - fi -fi -srcdir=`echo "${srcdir}" | sed 's%\([^/]\)/*$%\1%'` - -# Prefer explicitly selected file to automatically selected ones. -if test -z "$CONFIG_SITE"; then - if test "x$prefix" != xNONE; then - CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site" - else - CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site" - fi -fi -for ac_site_file in $CONFIG_SITE; do - if test -r "$ac_site_file"; then - echo "loading site script $ac_site_file" - . "$ac_site_file" - fi -done - -if test -r "$cache_file"; then - echo "loading cache $cache_file" - . $cache_file -else - echo "creating cache $cache_file" - > $cache_file -fi - -ac_ext=c -# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. -ac_cpp='$CPP $CPPFLAGS' -ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5' -ac_link='${CC-cc} -o conftest $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5' -cross_compiling=$ac_cv_prog_cc_cross - -if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then - # Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu. - if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then - ac_n= ac_c=' -' ac_t=' ' - else - ac_n=-n ac_c= ac_t= - fi -else - ac_n= ac_c='\c' ac_t= -fi - - - -CC=${CC-cc} - -ac_aux_dir= -for ac_dir in `cd $srcdir;pwd`/../../.. $srcdir/`cd $srcdir;pwd`/../../..; do - if test -f $ac_dir/install-sh; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/install-sh -c" - break - elif test -f $ac_dir/install.sh; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/install.sh -c" - break - fi -done -if test -z "$ac_aux_dir"; then - { echo "configure: error: can not find install-sh or install.sh in `cd $srcdir;pwd`/../../.. $srcdir/`cd $srcdir;pwd`/../../.." 1>&2; exit 1; } -fi -ac_config_guess=$ac_aux_dir/config.guess -ac_config_sub=$ac_aux_dir/config.sub -ac_configure=$ac_aux_dir/configure # This should be Cygnus configure. - - -# Do some error checking and defaulting for the host and target type. -# The inputs are: -# configure --host=HOST --target=TARGET --build=BUILD NONOPT -# -# The rules are: -# 1. You are not allowed to specify --host, --target, and nonopt at the -# same time. -# 2. Host defaults to nonopt. -# 3. If nonopt is not specified, then host defaults to the current host, -# as determined by config.guess. -# 4. Target and build default to nonopt. -# 5. If nonopt is not specified, then target and build default to host. - -# The aliases save the names the user supplied, while $host etc. -# will get canonicalized. -case $host---$target---$nonopt in -NONE---*---* | *---NONE---* | *---*---NONE) ;; -*) { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; } ;; -esac - - -# Make sure we can run config.sub. -if ${CONFIG_SHELL-/bin/sh} $ac_config_sub sun4 >/dev/null 2>&1; then : -else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; } -fi - -echo $ac_n "checking host system type""... $ac_c" 1>&6 -echo "configure:573: checking host system type" >&5 - -host_alias=$host -case "$host_alias" in -NONE) - case $nonopt in - NONE) - if host_alias=`${CONFIG_SHELL-/bin/sh} $ac_config_guess`; then : - else { echo "configure: error: can not guess host type; you must specify one" 1>&2; exit 1; } - fi ;; - *) host_alias=$nonopt ;; - esac ;; -esac - -host=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $host_alias` -host_cpu=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` -host_vendor=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` -host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` -echo "$ac_t""$host" 1>&6 - -echo $ac_n "checking target system type""... $ac_c" 1>&6 -echo "configure:594: checking target system type" >&5 - -target_alias=$target -case "$target_alias" in -NONE) - case $nonopt in - NONE) target_alias=$host_alias ;; - *) target_alias=$nonopt ;; - esac ;; -esac - -target=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $target_alias` -target_cpu=`echo $target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` -target_vendor=`echo $target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` -target_os=`echo $target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` -echo "$ac_t""$target" 1>&6 - -echo $ac_n "checking build system type""... $ac_c" 1>&6 -echo "configure:612: checking build system type" >&5 - -build_alias=$build -case "$build_alias" in -NONE) - case $nonopt in - NONE) build_alias=$host_alias ;; - *) build_alias=$nonopt ;; - esac ;; -esac - -build=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $build_alias` -build_cpu=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` -build_vendor=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` -build_os=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` -echo "$ac_t""$build" 1>&6 - -test "$host_alias" != "$target_alias" && - test "$program_prefix$program_suffix$program_transform_name" = \ - NONENONEs,x,x, && - program_prefix=${target_alias}- - - -trap '' 1 2 15 -cat > confcache <<\EOF -# This file is a shell script that caches the results of configure -# tests run on this system so they can be shared between configure -# scripts and configure runs. It is not useful on other systems. -# If it contains results you don't want to keep, you may remove or edit it. -# -# By default, configure uses ./config.cache as the cache file, -# creating it if it does not exist already. You can give configure -# the --cache-file=FILE option to use a different cache file; that is -# what configure does when it calls configure scripts in -# subdirectories, so they share the cache. -# Giving --cache-file=/dev/null disables caching, for debugging configure. -# config.status only pays attention to the cache file if you give it the -# --recheck option to rerun configure. -# -EOF -# The following way of writing the cache mishandles newlines in values, -# but we know of no workaround that is simple, portable, and efficient. -# So, don't put newlines in cache variables' values. -# Ultrix sh set writes to stderr and can't be redirected directly, -# and sets the high bit in the cache file unless we assign to the vars. -(set) 2>&1 | - case `(ac_space=' '; set) 2>&1 | grep ac_space` in - *ac_space=\ *) - # `set' does not quote correctly, so add quotes (double-quote substitution - # turns \\\\ into \\, and sed turns \\ into \). - sed -n \ - -e "s/'/'\\\\''/g" \ - -e "s/^\\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\\)=\\(.*\\)/\\1=\${\\1='\\2'}/p" - ;; - *) - # `set' quotes correctly as required by POSIX, so do not add quotes. - sed -n -e 's/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=${\1=\2}/p' - ;; - esac >> confcache -if cmp -s $cache_file confcache; then - : -else - if test -w $cache_file; then - echo "updating cache $cache_file" - cat confcache > $cache_file - else - echo "not updating unwritable cache $cache_file" - fi -fi -rm -f confcache - -trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15 - -test "x$prefix" = xNONE && prefix=$ac_default_prefix -# Let make expand exec_prefix. -test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' - -# Any assignment to VPATH causes Sun make to only execute -# the first set of double-colon rules, so remove it if not needed. -# If there is a colon in the path, we need to keep it. -if test "x$srcdir" = x.; then - ac_vpsub='/^[ ]*VPATH[ ]*=[^:]*$/d' -fi - -trap 'rm -f $CONFIG_STATUS conftest*; exit 1' 1 2 15 - -# Transform confdefs.h into DEFS. -# Protect against shell expansion while executing Makefile rules. -# Protect against Makefile macro expansion. -cat > conftest.defs <<\EOF -s%#define \([A-Za-z_][A-Za-z0-9_]*\) *\(.*\)%-D\1=\2%g -s%[ `~#$^&*(){}\\|;'"<>?]%\\&%g -s%\[%\\&%g -s%\]%\\&%g -s%\$%$$%g -EOF -DEFS=`sed -f conftest.defs confdefs.h | tr '\012' ' '` -rm -f conftest.defs - - -# Without the "./", some shells look in PATH for config.status. -: ${CONFIG_STATUS=./config.status} - -echo creating $CONFIG_STATUS -rm -f $CONFIG_STATUS -cat > $CONFIG_STATUS <<EOF -#! /bin/sh -# Generated automatically by configure. -# Run this file to recreate the current configuration. -# This directory was configured as follows, -# on host `(hostname || uname -n) 2>/dev/null | sed 1q`: -# -# $0 $ac_configure_args -# -# Compiler output produced by configure, useful for debugging -# configure, is in ./config.log if it exists. - -ac_cs_usage="Usage: $CONFIG_STATUS [--recheck] [--version] [--help]" -for ac_option -do - case "\$ac_option" in - -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) - echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion" - exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;; - -version | --version | --versio | --versi | --vers | --ver | --ve | --v) - echo "$CONFIG_STATUS generated by autoconf version 2.12.1" - exit 0 ;; - -help | --help | --hel | --he | --h) - echo "\$ac_cs_usage"; exit 0 ;; - *) echo "\$ac_cs_usage"; exit 1 ;; - esac -done - -ac_given_srcdir=$srcdir - -trap 'rm -fr `echo "Makefile" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15 -EOF -cat >> $CONFIG_STATUS <<EOF - -# Protect against being on the right side of a sed subst in config.status. -sed 's/%@/@@/; s/@%/@@/; s/%g\$/@g/; /@g\$/s/[\\\\&%]/\\\\&/g; - s/@@/%@/; s/@@/@%/; s/@g\$/%g/' > conftest.subs <<\\CEOF -$ac_vpsub -$extrasub -s%@SHELL@%$SHELL%g -s%@CFLAGS@%$CFLAGS%g -s%@CPPFLAGS@%$CPPFLAGS%g -s%@CXXFLAGS@%$CXXFLAGS%g -s%@DEFS@%$DEFS%g -s%@LDFLAGS@%$LDFLAGS%g -s%@LIBS@%$LIBS%g -s%@exec_prefix@%$exec_prefix%g -s%@prefix@%$prefix%g -s%@program_transform_name@%$program_transform_name%g -s%@bindir@%$bindir%g -s%@sbindir@%$sbindir%g -s%@libexecdir@%$libexecdir%g -s%@datadir@%$datadir%g -s%@sysconfdir@%$sysconfdir%g -s%@sharedstatedir@%$sharedstatedir%g -s%@localstatedir@%$localstatedir%g -s%@libdir@%$libdir%g -s%@includedir@%$includedir%g -s%@oldincludedir@%$oldincludedir%g -s%@infodir@%$infodir%g -s%@mandir@%$mandir%g -s%@CC@%$CC%g -s%@host@%$host%g -s%@host_alias@%$host_alias%g -s%@host_cpu@%$host_cpu%g -s%@host_vendor@%$host_vendor%g -s%@host_os@%$host_os%g -s%@target@%$target%g -s%@target_alias@%$target_alias%g -s%@target_cpu@%$target_cpu%g -s%@target_vendor@%$target_vendor%g -s%@target_os@%$target_os%g -s%@build@%$build%g -s%@build_alias@%$build_alias%g -s%@build_cpu@%$build_cpu%g -s%@build_vendor@%$build_vendor%g -s%@build_os@%$build_os%g - -CEOF -EOF - -cat >> $CONFIG_STATUS <<\EOF - -# Split the substitutions into bite-sized pieces for seds with -# small command number limits, like on Digital OSF/1 and HP-UX. -ac_max_sed_cmds=90 # Maximum number of lines to put in a sed script. -ac_file=1 # Number of current file. -ac_beg=1 # First line for current file. -ac_end=$ac_max_sed_cmds # Line after last line for current file. -ac_more_lines=: -ac_sed_cmds="" -while $ac_more_lines; do - if test $ac_beg -gt 1; then - sed "1,${ac_beg}d; ${ac_end}q" conftest.subs > conftest.s$ac_file - else - sed "${ac_end}q" conftest.subs > conftest.s$ac_file - fi - if test ! -s conftest.s$ac_file; then - ac_more_lines=false - rm -f conftest.s$ac_file - else - if test -z "$ac_sed_cmds"; then - ac_sed_cmds="sed -f conftest.s$ac_file" - else - ac_sed_cmds="$ac_sed_cmds | sed -f conftest.s$ac_file" - fi - ac_file=`expr $ac_file + 1` - ac_beg=$ac_end - ac_end=`expr $ac_end + $ac_max_sed_cmds` - fi -done -if test -z "$ac_sed_cmds"; then - ac_sed_cmds=cat -fi -EOF - -cat >> $CONFIG_STATUS <<EOF - -CONFIG_FILES=\${CONFIG_FILES-"Makefile"} -EOF -cat >> $CONFIG_STATUS <<\EOF -for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then - # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in". - case "$ac_file" in - *:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'` - ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;; - *) ac_file_in="${ac_file}.in" ;; - esac - - # Adjust a relative srcdir, top_srcdir, and INSTALL for subdirectories. - - # Remove last slash and all that follows it. Not all systems have dirname. - ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'` - if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then - # The file is in a subdirectory. - test ! -d "$ac_dir" && mkdir "$ac_dir" - ac_dir_suffix="/`echo $ac_dir|sed 's%^\./%%'`" - # A "../" for each directory in $ac_dir_suffix. - ac_dots=`echo $ac_dir_suffix|sed 's%/[^/]*%../%g'` - else - ac_dir_suffix= ac_dots= - fi - - case "$ac_given_srcdir" in - .) srcdir=. - if test -z "$ac_dots"; then top_srcdir=. - else top_srcdir=`echo $ac_dots|sed 's%/$%%'`; fi ;; - /*) srcdir="$ac_given_srcdir$ac_dir_suffix"; top_srcdir="$ac_given_srcdir" ;; - *) # Relative path. - srcdir="$ac_dots$ac_given_srcdir$ac_dir_suffix" - top_srcdir="$ac_dots$ac_given_srcdir" ;; - esac - - - echo creating "$ac_file" - rm -f "$ac_file" - configure_input="Generated automatically from `echo $ac_file_in|sed 's%.*/%%'` by configure." - case "$ac_file" in - *Makefile*) ac_comsub="1i\\ -# $configure_input" ;; - *) ac_comsub= ;; - esac - - ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"` - sed -e "$ac_comsub -s%@configure_input@%$configure_input%g -s%@srcdir@%$srcdir%g -s%@top_srcdir@%$top_srcdir%g -" $ac_file_inputs | (eval "$ac_sed_cmds") > $ac_file -fi; done -rm -f conftest.s* - -EOF -cat >> $CONFIG_STATUS <<EOF - -EOF -cat >> $CONFIG_STATUS <<\EOF - -exit 0 -EOF -chmod +x $CONFIG_STATUS -rm -fr confdefs* $ac_clean_files -test "$no_create" = yes || ${CONFIG_SHELL-/bin/sh} $CONFIG_STATUS || exit 1 - diff --git a/gdb/testsuite/gdb.disasm/configure.in b/gdb/testsuite/gdb.disasm/configure.in deleted file mode 100644 index 508636ff2c6..00000000000 --- a/gdb/testsuite/gdb.disasm/configure.in +++ /dev/null @@ -1,15 +0,0 @@ -dnl Process this file file with autoconf to produce a configure script. -dnl This file is a shell script fragment that supplies the information -dnl necessary to tailor a template configure script into the configure -dnl script appropriate for this directory. For more information, check -dnl any existing configure script. - -AC_PREREQ(2.5) -AC_INIT(sh3.s) - -CC=${CC-cc} -AC_SUBST(CC) -AC_CONFIG_AUX_DIR(`cd $srcdir;pwd`/../../..) -AC_CANONICAL_SYSTEM - -AC_OUTPUT(Makefile) diff --git a/gdb/testsuite/gdb.disasm/hppa.exp b/gdb/testsuite/gdb.disasm/hppa.exp deleted file mode 100644 index 190bed4ebf7..00000000000 --- a/gdb/testsuite/gdb.disasm/hppa.exp +++ /dev/null @@ -1,1403 +0,0 @@ - -# Copyright (C) 1992 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ - -# Please email any bugs, comments, and/or additions to this file to: -# bug-gdb@prep.ai.mit.edu - -# This file was written by Jeff Law. (law@cs.utah.edu) - -if $tracelevel then { - strace $tracelevel -} - -if ![istarget "hppa*-*-*"] { - verbose "Tests ignored for all but hppa based targets." - return -} - -global exec_output -set prms_id 0 -set bug_id 0 - -set testfile "hppa" -set srcfile ${srcdir}/${subdir}/${testfile}.s -set binfile ${objdir}/${subdir}/${testfile} -if { [gdb_compile "${srcfile}" "${binfile}" executable ""] != "" } { - if [ regexp "Opcode not defined - DIAG" $exec_output] { - warning "HP assembler in use--skipping disasm tests" - return - } else { - perror "Couldn't compile ${srcfile}" - return -1 - } -} - -proc all_integer_memory_tests { } { - global prompt - global hex - global decimal - - send_gdb "x/8i integer_memory_tests\n" - expect { - -re " -.*ldw 0\\(sr0,r4\\),r26.* -.*ldh 0\\(sr0,r4\\),r26.* -.*ldb 0\\(sr0,r4\\),r26.* -.*stw r26,0\\(sr0,r4\\).* -.*sth r26,0\\(sr0,r4\\).* -.*stb r26,0\\(sr0,r4\\).* -.*ldwm 0\\(sr0,r4\\),r26.* -.*stwm r26,0\\(sr0,r4\\).* -.*$prompt $" { pass "integer_memory_tests" } - -re "$prompt $" { fail "integer_memory_tests" } - timeout { fail "(timeout) integer memory_tests" } - } - - send_gdb "x/20i integer_indexing_load\n" - expect { - -re " -.*ldwx r5\\(sr0,r4\\),r26.* -.*ldwx,s r5\\(sr0,r4\\),r26.* -.*ldwx,m r5\\(sr0,r4\\),r26.* -.*ldwx,sm r5\\(sr0,r4\\),r26.* -.*ldhx r5\\(sr0,r4\\),r26.* -.*ldhx,s r5\\(sr0,r4\\),r26.* -.*ldhx,m r5\\(sr0,r4\\),r26.* -.*ldhx,sm r5\\(sr0,r4\\),r26.* -.*ldbx r5\\(sr0,r4\\),r26.* -.*ldbx,s r5\\(sr0,r4\\),r26.* -.*ldbx,m r5\\(sr0,r4\\),r26.* -.*ldbx,sm r5\\(sr0,r4\\),r26.* -.*ldwax r5\\(r4\\),r26.* -.*ldwax,s r5\\(r4\\),r26.* -.*ldwax,m r5\\(r4\\),r26.* -.*ldwax,sm r5\\(r4\\),r26.* -.*ldcwx r5\\(sr0,r4\\),r26.* -.*ldcwx,s r5\\(sr0,r4\\),r26.* -.*ldcwx,m r5\\(sr0,r4\\),r26.* -.*ldcwx,sm r5\\(sr0,r4\\),r26.* -.*$prompt $" { pass "integer_indexing_load" } - -re "$prompt $" { fail "integer_indexing_load" } - timeout { fail "(timeout) integer_indexing" } - } - - send_gdb "x/15i integer_load_short_memory\n" - expect { - -re " -.*ldws 0\\(sr0,r4\\),r26.* -.*ldws,mb 0\\(sr0,r4\\),r26.* -.*ldws,ma 0\\(sr0,r4\\),r26.* -.*ldhs 0\\(sr0,r4\\),r26.* -.*ldhs,mb 0\\(sr0,r4\\),r26.* -.*ldhs,ma 0\\(sr0,r4\\),r26.* -.*ldbs 0\\(sr0,r4\\),r26.* -.*ldbs,mb 0\\(sr0,r4\\),r26.* -.*ldbs,ma 0\\(sr0,r4\\),r26.* -.*ldwas 0\\(r4\\),r26.* -.*ldwas,mb 0\\(r4\\),r26.* -.*ldwas,ma 0\\(r4\\),r26.* -.*ldcws 0\\(sr0,r4\\),r26.* -.*ldcws,mb 0\\(sr0,r4\\),r26.* -.*ldcws,ma 0\\(sr0,r4\\),r26.* -.*$prompt $" { pass "integer_load_short_memory" } - -re "$prompt $" { fail "integer_load_short_memory" } - timeout { fail "(timeout) integer_load_short_memory " } - } - - - send_gdb "x/17i integer_store_short_memory\n" - expect { - -re " -.*stws r26,0\\(sr0,r4\\).* -.*stws,mb r26,0\\(sr0,r4\\).* -.*stws,ma r26,0\\(sr0,r4\\).* -.*sths r26,0\\(sr0,r4\\).* -.*sths,mb r26,0\\(sr0,r4\\).* -.*sths,ma r26,0\\(sr0,r4\\).* -.*stbs r26,0\\(sr0,r4\\).* -.*stbs,mb r26,0\\(sr0,r4\\).* -.*stbs,ma r26,0\\(sr0,r4\\).* -.*stwas r26,0\\(r4\\).* -.*stwas,mb r26,0\\(r4\\).* -.*stwas,ma r26,0\\(r4\\).* -.*stbys r26,0\\(sr0,r4\\).* -.*stbys r26,0\\(sr0,r4\\).* -.*stbys,e r26,0\\(sr0,r4\\).* -.*stbys,b,m r26,0\\(sr0,r4\\).* -.*stbys,e,m r26,0\\(sr0,r4\\).* -.*$prompt $" { pass "integer_store_short_memory" } - -re "$prompt $" { fail "integer_store_short_memory" } - timeout { fail "(timeout) integer_short_memory " } - } -} - -proc all_immediate_tests { } { - global prompt - global hex - global decimal - - send_gdb "x/3i immediate_tests\n" - expect { - -re " -.*ldo 5\\(r26\\),r26.* -.*ldil -21524800,r26.* -.*addil -21524800,r5.* -.*$prompt $" { pass "immedate_tests" } - -re "$prompt $" { fail "immedate_tests" } - timeout { fail "(timeout) immedate_tests " } - } -} - -proc all_branch_tests { } { - global prompt - global hex - global decimal - - send_gdb "x/10i branch_tests_1\n" - expect { - -re " -.*bl.*,rp.* -.*bl,n.*,rp.* -.*b.* -.*b,n.* -.*gate.*,rp.* -.*gate,n.*,rp.* -.*blr r4,rp.* -.*blr,n r4,rp.* -.*blr r4,r0.* -.*blr,n r4,r0.* -.*$prompt $" { pass "branch_tests_1" } - -re "$prompt $" { fail "branch_tests_1" } - timeout { fail "(timeout) branch_tests_1" } - } - - send_gdb "x/6i branch_tests_2\n" - expect { - -re " -.*bv r0\\(rp\\).* -.*bv,n r0\\(rp\\).* -.*be 1234\\(sr1,rp\\).* -.*be,n 1234\\(sr1,rp\\).* -.*ble 1234\\(sr1,rp\\).* -.*ble,n 1234\\(sr1,rp\\).* -.*$prompt $" { pass "branch_tests_2" } - -re "$prompt $" { fail "branch_tests_2" } - timeout { fail "(timeout) branch_tests_2" } - } - - - send_gdb "x/8i movb_tests\n" - expect { - -re " -.*movb r4,r26,.* <movb_tests>.* -.*movb,= r4,r26,.* <movb_tests>.* -.*movb,< r4,r26,.* <movb_tests>.* -.*movb,od r4,r26,.* <movb_tests>.* -.*movb,tr r4,r26,.* <movb_tests>.* -.*movb,<> r4,r26,.* <movb_tests>.* -.*movb,>= r4,r26,.* <movb_tests>.* -.*movb,ev r4,r26,.* <movb_tests>.* -.*$prompt $" { pass "movb_tests" } - -re "$prompt $" { fail "movb_tests" } - timeout { fail "(timeout) movb_tests " } - } - - send_gdb "x/8i movb_nullified_tests\n" - expect { - -re " -.*movb,n.*r4,r26,.* <movb_tests>.* -.*movb,=,n.*r4,r26,.* <movb_tests>.* -.*movb,<,n.*r4,r26,.* <movb_tests>.* -.*movb,od,n.*r4,r26,.* <movb_tests>.* -.*movb,tr,n.*r4,r26,.* <movb_tests>.* -.*movb,<>,n.*r4,r26,.* <movb_tests>.* -.*movb,>=,n.*r4,r26,.* <movb_tests>.* -.*movb,ev,n.*r4,r26,.* <movb_tests>.* -.*$prompt $" { pass "movb_nullified_tests" } - -re "$prompt $" { fail "movb_nullified_tests" } - timeout { fail "(timeout) movb_nullified_tests " } - } - - send_gdb "x/8i movib_tests\n" - expect { - -re " -.*movib 5,r26,.* <movib_tests>.* -.*movib,= 5,r26,.* <movib_tests>.* -.*movib,< 5,r26,.* <movib_tests>.* -.*movib,od 5,r26,.* <movib_tests>.* -.*movib,tr 5,r26,.* <movib_tests>.* -.*movib,<> 5,r26,.* <movib_tests>.* -.*movib,>= 5,r26,.* <movib_tests>.* -.*movib,ev 5,r26,.* <movib_tests>.* -.*$prompt $" { pass "movib_tests" } - -re "$prompt $" { fail "movib_tests" } - timeout { fail "(timeout) movib_tests " } - } - - send_gdb "x/8i movib_nullified_tests\n" - expect { - -re " -.*movib,n.*5,r26,.* <movib_tests>.* -.*movib,=,n.*5,r26,.* <movib_tests>.* -.*movib,<,n.*5,r26,.* <movib_tests>.* -.*movib,od,n.*5,r26,.* <movib_tests>.* -.*movib,tr,n.*5,r26,.* <movib_tests>.* -.*movib,<>,n.*5,r26,.* <movib_tests>.* -.*movib,>=,n.*5,r26,.* <movib_tests>.* -.*movib,ev,n.*5,r26,.* <movib_tests>.* -.*$prompt $" { pass "movib_nullified_tests" } - -re "$prompt $" { fail "movib_nullified_tests" } - timeout { fail "(timeout) movib_nullified_tests " } - } - - send_gdb "x/8i comb_tests_1\n" - expect { - -re " -.*comb r0,r4,.* <comb_tests_1>.* -.*comb,= r0,r4,.* <comb_tests_1>.* -.*comb,< r0,r4,.* <comb_tests_1>.* -.*comb,<= r0,r4,.* <comb_tests_1>.* -.*comb,<< r0,r4,.* <comb_tests_1>.* -.*comb,<<= r0,r4,.* <comb_tests_1>.* -.*comb,sv r0,r4,.* <comb_tests_1>.* -.*comb,od r0,r4,.* <comb_tests_1>.* -.*$prompt $" { pass "comb_tests_1" } - -re "$prompt $" { fail "comb_tests_1" } - timeout { fail "(timeout) comb_tests_1" } - } - - send_gdb "x/8i comb_tests_2\n" - expect { - -re " -.*combf r0,r4,.* <comb_tests_2>.* -.*combf,= r0,r4,.* <comb_tests_2>.* -.*combf,< r0,r4,.* <comb_tests_2>.* -.*combf,<= r0,r4,.* <comb_tests_2>.* -.*combf,<< r0,r4,.* <comb_tests_2>.* -.*combf,<<= r0,r4,.* <comb_tests_2>.* -.*combf,sv r0,r4,.* <comb_tests_2>.* -.*combf,od r0,r4,.* <comb_tests_2>.* -.*$prompt $" { pass "comb_tests_2" } - -re "$prompt $" { fail "comb_tests_2" } - timeout { fail "(timeout) comb_tests_2" } - } - - send_gdb "x/8i comb_nullified_tests_1\n" - expect { - -re " -.*comb,n r0,r4,.* <comb_tests_1>.* -.*comb,=,n r0,r4,.* <comb_tests_1>.* -.*comb,<,n r0,r4,.* <comb_tests_1>.* -.*comb,<=,n r0,r4,.* <comb_tests_1>.* -.*comb,<<,n r0,r4,.* <comb_tests_1>.* -.*comb,<<=,n r0,r4,.* <comb_tests_1>.* -.*comb,sv,n r0,r4,.* <comb_tests_1>.* -.*comb,od,n r0,r4,.* <comb_tests_1>.* -.*$prompt $" { pass "comb_nullified_tests_1" } - -re "$prompt $" { fail "comb_nullified_tests_1" } - timeout { fail "(timeout) comb_nullified_tests_1" } - } - - send_gdb "x/8i comb_nullified_tests_2\n" - expect { - -re " -.*combf,n r0,r4,.* <comb_tests_2>.* -.*combf,=,n r0,r4,.* <comb_tests_2>.* -.*combf,<,n r0,r4,.* <comb_tests_2>.* -.*combf,<=,n r0,r4,.* <comb_tests_2>.* -.*combf,<<,n r0,r4,.* <comb_tests_2>.* -.*combf,<<=,n r0,r4,.* <comb_tests_2>.* -.*combf,sv,n r0,r4,.* <comb_tests_2>.* -.*combf,od,n r0,r4,.* <comb_tests_2>.* -.*$prompt $" { pass "comb_nullified_tests_2" } - -re "$prompt $" { fail "comb_nullified_tests_2" } - timeout { fail "(timeout) comb_nullified_tests_2" } - } - - send_gdb "x/8i comib_tests_1\n" - expect { - -re " -.*comib 0,r4,.* <comib_tests_1>.* -.*comib,= 0,r4,.* <comib_tests_1>.* -.*comib,< 0,r4,.* <comib_tests_1>.* -.*comib,<= 0,r4,.* <comib_tests_1>.* -.*comib,<< 0,r4,.* <comib_tests_1>.* -.*comib,<<= 0,r4,.* <comib_tests_1>.* -.*comib,sv 0,r4,.* <comib_tests_1>.* -.*comib,od 0,r4,.* <comib_tests_1>.* -.*$prompt $" { pass "comib_tests_1" } - -re "$prompt $" { fail "comib_tests_1" } - timeout { fail "(timeout) comib_tests_1" } - } - - send_gdb "x/8i comib_tests_2\n" - expect { - -re " -.*comibf 0,r4,.* <comib_tests_2>.* -.*comibf,= 0,r4,.* <comib_tests_2>.* -.*comibf,< 0,r4,.* <comib_tests_2>.* -.*comibf,<= 0,r4,.* <comib_tests_2>.* -.*comibf,<< 0,r4,.* <comib_tests_2>.* -.*comibf,<<= 0,r4,.* <comib_tests_2>.* -.*comibf,sv 0,r4,.* <comib_tests_2>.* -.*comibf,od 0,r4,.* <comib_tests_2>.* -.*$prompt $" { pass "comib_tests_2" } - -re "$prompt $" { fail "comib_tests_2" } - timeout { fail "(timeout) comib_tests_2" } - } - - send_gdb "x/8i comib_nullified_tests_1\n" - expect { - -re " -.*comib,n 0,r4,.* <comib_tests_1>.* -.*comib,=,n 0,r4,.* <comib_tests_1>.* -.*comib,<,n 0,r4,.* <comib_tests_1>.* -.*comib,<=,n 0,r4,.* <comib_tests_1>.* -.*comib,<<,n 0,r4,.* <comib_tests_1>.* -.*comib,<<=,n 0,r4,.* <comib_tests_1>.* -.*comib,sv,n 0,r4,.* <comib_tests_1>.* -.*comib,od,n 0,r4,.* <comib_tests_1>.* -.*$prompt $" { pass "comib_nullified_tests_1" } - -re "$prompt $" { fail "comib_nullified_tests_1" } - timeout { fail "(timeout) comib_nullified_tests_1" } - } - - send_gdb "x/8i comib_nullified_tests_2\n" - expect { - -re " -.*comibf,n 0,r4,.* <comib_tests_2>.* -.*comibf,=,n 0,r4,.* <comib_tests_2>.* -.*comibf,<,n 0,r4,.* <comib_tests_2>.* -.*comibf,<=,n 0,r4,.* <comib_tests_2>.* -.*comibf,<<,n 0,r4,.* <comib_tests_2>.* -.*comibf,<<=,n 0,r4,.* <comib_tests_2>.* -.*comibf,sv,n 0,r4,.* <comib_tests_2>.* -.*comibf,od,n 0,r4,.* <comib_tests_2>.* -.*$prompt $" { pass "comib_nullified_tests_2" } - -re "$prompt $" { fail "comib_nullified_tests_2" } - timeout { fail "(timeout) comib_nullified_tests_2" } - } - - send_gdb "x/8i addb_tests_1\n" - expect { - -re " -.*addb r1,r4,.* <addb_tests_1>.* -.*addb,= r1,r4,.* <addb_tests_1>.* -.*addb,< r1,r4,.* <addb_tests_1>.* -.*addb,<= r1,r4,.* <addb_tests_1>.* -.*addb,nuv r1,r4,.* <addb_tests_1>.* -.*addb,znv r1,r4,.* <addb_tests_1>.* -.*addb,sv r1,r4,.* <addb_tests_1>.* -.*addb,od r1,r4,.* <addb_tests_1>.* -.*$prompt $" { pass "addb_tests_1" } - -re "$prompt $" { fail "addb_tests_1" } - timeout { fail "(timeout) addb_tests_1" } - } - - send_gdb "x/8i addb_tests_2\n" - expect { - -re " -.*addbf r1,r4,.* <addb_tests_2>.* -.*addbf,= r1,r4,.* <addb_tests_2>.* -.*addbf,< r1,r4,.* <addb_tests_2>.* -.*addbf,<= r1,r4,.* <addb_tests_2>.* -.*addbf,nuv r1,r4,.* <addb_tests_2>.* -.*addbf,znv r1,r4,.* <addb_tests_2>.* -.*addbf,sv r1,r4,.* <addb_tests_2>.* -.*addbf,od r1,r4,.* <addb_tests_2>.* -.*$prompt $" { pass "addb_tests_2" } - -re "$prompt $" { fail "addb_tests_2" } - timeout { fail "(timeout) addb_tests_2" } - } - - send_gdb "x/8i addb_nullified_tests_1\n" - expect { - -re " -.*addb,n r1,r4,.* <addb_tests_1>.* -.*addb,=,n r1,r4,.* <addb_tests_1>.* -.*addb,<,n r1,r4,.* <addb_tests_1>.* -.*addb,<=,n r1,r4,.* <addb_tests_1>.* -.*addb,nuv,n r1,r4,.* <addb_tests_1>.* -.*addb,znv,n r1,r4,.* <addb_tests_1>.* -.*addb,sv,n r1,r4,.* <addb_tests_1>.* -.*addb,od,n r1,r4,.* <addb_tests_1>.* -.*$prompt $" { pass "addb_nullified_tests_1" } - -re "$prompt $" { fail "addb_nullified_tests_1" } - timeout { fail "(timeout) addb_nullified_tests_1" } - } - - send_gdb "x/8i addb_nullified_tests_2\n" - expect { - -re " -.*addbf,n r1,r4,.* <addb_tests_2>.* -.*addbf,=,n r1,r4,.* <addb_tests_2>.* -.*addbf,<,n r1,r4,.* <addb_tests_2>.* -.*addbf,<=,n r1,r4,.* <addb_tests_2>.* -.*addbf,nuv,n r1,r4,.* <addb_tests_2>.* -.*addbf,znv,n r1,r4,.* <addb_tests_2>.* -.*addbf,sv,n r1,r4,.* <addb_tests_2>.* -.*addbf,od,n r1,r4,.* <addb_tests_2>.* -.*$prompt $" { pass "addb_nullified_tests_2" } - -re "$prompt $" { fail "addb_nullified_tests_2" } - timeout { fail "(timeout) addb_nullified_tests_2" } - } - - send_gdb "x/8i addib_tests_1\n" - expect { - -re " -.*addib -1,r4,.* <addib_tests_1>.* -.*addib,= -1,r4,.* <addib_tests_1>.* -.*addib,< -1,r4,.* <addib_tests_1>.* -.*addib,<= -1,r4,.* <addib_tests_1>.* -.*addib,nuv -1,r4,.* <addib_tests_1>.* -.*addib,znv -1,r4,.* <addib_tests_1>.* -.*addib,sv -1,r4,.* <addib_tests_1>.* -.*addib,od -1,r4,.* <addib_tests_1>.* -.*$prompt $" { pass "addib_tests_1" } - -re "$prompt $" { fail "addib_tests_1" } - timeout { fail "(timeout) addib_tests_1" } - } - - send_gdb "x/8i addib_tests_2\n" - expect { - -re " -.*addibf -1,r4,.* <addib_tests_2>.* -.*addibf,= -1,r4,.* <addib_tests_2>.* -.*addibf,< -1,r4,.* <addib_tests_2>.* -.*addibf,<= -1,r4,.* <addib_tests_2>.* -.*addibf,nuv -1,r4,.* <addib_tests_2>.* -.*addibf,znv -1,r4,.* <addib_tests_2>.* -.*addibf,sv -1,r4,.* <addib_tests_2>.* -.*addibf,od -1,r4,.* <addib_tests_2>.* -.*$prompt $" { pass "addib_tests_2" } - -re "$prompt $" { fail "addib_tests_2" } - timeout { fail "(timeout) addib_tests_2" } - } - - send_gdb "x/8i addib_nullified_tests_1\n" - expect { - -re " -.*addib,n -1,r4,.* <addib_tests_1>.* -.*addib,=,n -1,r4,.* <addib_tests_1>.* -.*addib,<,n -1,r4,.* <addib_tests_1>.* -.*addib,<=,n -1,r4,.* <addib_tests_1>.* -.*addib,nuv,n -1,r4,.* <addib_tests_1>.* -.*addib,znv,n -1,r4,.* <addib_tests_1>.* -.*addib,sv,n -1,r4,.* <addib_tests_1>.* -.*addib,od,n -1,r4,.* <addib_tests_1>.* -.*$prompt $" { pass "addb_nullified_tests_1" } - -re "$prompt $" { fail "addb_nullified_tests_1" } - timeout { fail "(timeout) addb_nullified_tests_1" } - } - - send_gdb "x/8i addib_nullified_tests_2\n" - expect { - -re " -.*addibf,n -1,r4,.* <addib_tests_2>.* -.*addibf,=,n -1,r4,.* <addib_tests_2>.* -.*addibf,<,n -1,r4,.* <addib_tests_2>.* -.*addibf,<=,n -1,r4,.* <addib_tests_2>.* -.*addibf,nuv,n -1,r4,.* <addib_tests_2>.* -.*addibf,znv,n -1,r4,.* <addib_tests_2>.* -.*addibf,sv,n -1,r4,.* <addib_tests_2>.* -.*addibf,od,n -1,r4,.* <addib_tests_2>.* -.*$prompt $" { pass "addb_nullified_tests_2" } - -re "$prompt $" { fail "addb_nullified_tests_2" } - timeout { fail "(timeout) addb_nullified_tests_2" } - } - - send_gdb "x/8i bb_tests\n" - expect { - -re " -.*bvb,< r4,.* <bb_tests>.* -.*bvb,>= r4,.* <bb_tests>.* -.*bvb,<,n r4,.* <bb_tests>.* -.*bvb,>=,n r4,.* <bb_tests>.* -.*bb,< r4,5,.* <bb_tests>.* -.*bb,>= r4,5,.* <bb_tests>.* -.*bb,<,n r4,5,.* <bb_tests>.* -.*bb,>=,n r4,5,.* <bb_tests>.* -.*$prompt $" { pass "bb_tests" } - -re "$prompt $" { fail "bb_tests" } - timeout { fail "(timeout) bb_tests " } - } -} - -proc all_integer_computational_tests { } { - global prompt - global hex - global decimal - - set add_insns [list {add} {addl} {addo} {addc} {addco} \ - {sh1add} {sh1addl} {sh1addo} \ - {sh2add} {sh2addl} {sh2addo} \ - {sh3add} {sh3addl} {sh3addo} ] - - foreach i $add_insns { - send_gdb "x/16i $i"; send_gdb "_tests\n" - expect { - -re " -.*$i r4,r5,r6.* -.*$i,= r4,r5,r6.* -.*$i,< r4,r5,r6.* -.*$i,<= r4,r5,r6.* -.*$i,nuv r4,r5,r6.* -.*$i,znv r4,r5,r6.* -.*$i,sv r4,r5,r6.* -.*$i,od r4,r5,r6.* -.*$i,tr r4,r5,r6.* -.*$i,<> r4,r5,r6.* -.*$i,>= r4,r5,r6.* -.*$i,> r4,r5,r6.* -.*$i,uv r4,r5,r6.* -.*$i,vnz r4,r5,r6.* -.*$i,nsv r4,r5,r6.* -.*$i,ev r4,r5,r6.* -.*$prompt $" { pass "$i tests" } - -re "$prompt $" { fail "$i tests" } - timeout { fail "(timeout) $i tests" } - } - } - - set sub_insns [list {sub} {subo} {subb} {subbo} {subt} {subto} \ - {ds} {comclr} ] - - foreach i $sub_insns { - send_gdb "x/16i $i"; send_gdb "_tests\n" - expect { - -re " -.*$i r4,r5,r6.* -.*$i,= r4,r5,r6.* -.*$i,< r4,r5,r6.* -.*$i,<= r4,r5,r6.* -.*$i,<< r4,r5,r6.* -.*$i,<<= r4,r5,r6.* -.*$i,sv r4,r5,r6.* -.*$i,od r4,r5,r6.* -.*$i,tr r4,r5,r6.* -.*$i,<> r4,r5,r6.* -.*$i,>= r4,r5,r6.* -.*$i,> r4,r5,r6.* -.*$i,>>= r4,r5,r6.* -.*$i,>> r4,r5,r6.* -.*$i,nsv r4,r5,r6.* -.*$i,ev r4,r5,r6.* -.*$prompt $" { pass "$i tests" } - -re "$prompt $" { fail "$i tests" } - timeout { fail "(timeout) $i tests" } - } - } - - set logical_insns [list {or} {xor} {and} {andcm} ] - - foreach i $logical_insns { - send_gdb "x/10i $i"; send_gdb "_tests\n" - expect { - -re " -.*$i r4,r5,r6.* -.*$i,= r4,r5,r6.* -.*$i,< r4,r5,r6.* -.*$i,<= r4,r5,r6.* -.*$i,od r4,r5,r6.* -.*$i,tr r4,r5,r6.* -.*$i,<> r4,r5,r6.* -.*$i,>= r4,r5,r6.* -.*$i,> r4,r5,r6.* -.*$i,ev r4,r5,r6.* -.*$prompt $" { pass "$i tests" } - -re "$prompt $" { fail "$i tests" } - timeout { fail "(timeout) $i tests" } - } - } - - set unit_insns1 [list {uxor} {uaddcm} {uaddcmt} ] - - foreach i $unit_insns1 { - send_gdb "x/12i $i"; send_gdb "_tests\n" - expect { - -re " -.*$i r4,r5,r6.* -.*$i,sbz r4,r5,r6.* -.*$i,shz r4,r5,r6.* -.*$i,sdc r4,r5,r6.* -.*$i,sbc r4,r5,r6.* -.*$i,shc r4,r5,r6.* -.*$i,tr r4,r5,r6.* -.*$i,nbz r4,r5,r6.* -.*$i,nhz r4,r5,r6.* -.*$i,ndc r4,r5,r6.* -.*$i,nbc r4,r5,r6.* -.*$i,nhc r4,r5,r6.* -.*$prompt $" { pass "$i tests" } - -re "$prompt $" { fail "$i tests" } - timeout { fail "(timeout) $i tests" } - } - } - - set unit_insns2 [list {dcor} {idcor} ] - - foreach i $unit_insns2 { - send_gdb "x/12i $i"; send_gdb "_tests\n" - expect { - -re " -.*$i r4,r5.* -.*$i,sbz r4,r5.* -.*$i,shz r4,r5.* -.*$i,sdc r4,r5.* -.*$i,sbc r4,r5.* -.*$i,shc r4,r5.* -.*$i,tr r4,r5.* -.*$i,nbz r4,r5.* -.*$i,nhz r4,r5.* -.*$i,ndc r4,r5.* -.*$i,nbc r4,r5.* -.*$i,nhc r4,r5.* -.*$prompt $" { pass "$i tests" } - -re "$prompt $" { fail "$i tests" } - timeout { fail "(timeout) $i tests" } - } - } - - set addi_insns [list {addi} {addio} {addit} {addito} ] - - foreach i $addi_insns { - send_gdb "x/16i $i"; send_gdb "_tests\n" - expect { - -re " -.*$i 7b,r5,r6.* -.*$i,= 7b,r5,r6.* -.*$i,< 7b,r5,r6.* -.*$i,<= 7b,r5,r6.* -.*$i,nuv 7b,r5,r6.* -.*$i,znv 7b,r5,r6.* -.*$i,sv 7b,r5,r6.* -.*$i,od 7b,r5,r6.* -.*$i,tr 7b,r5,r6.* -.*$i,<> 7b,r5,r6.* -.*$i,>= 7b,r5,r6.* -.*$i,> 7b,r5,r6.* -.*$i,uv 7b,r5,r6.* -.*$i,vnz 7b,r5,r6.* -.*$i,nsv 7b,r5,r6.* -.*$i,ev 7b,r5,r6.* -.*$prompt $" { pass "$i tests" } - -re "$prompt $" { fail "$i tests" } - timeout { fail "(timeout) $i tests" } - } - } - - set subi_insns [list {subi} {subio} {comiclr} ] - - foreach i $subi_insns { - send_gdb "x/16i $i"; send_gdb "_tests\n" - expect { - -re " -.*$i 7b,r5,r6.* -.*$i,= 7b,r5,r6.* -.*$i,< 7b,r5,r6.* -.*$i,<= 7b,r5,r6.* -.*$i,<< 7b,r5,r6.* -.*$i,<<= 7b,r5,r6.* -.*$i,sv 7b,r5,r6.* -.*$i,od 7b,r5,r6.* -.*$i,tr 7b,r5,r6.* -.*$i,<> 7b,r5,r6.* -.*$i,>= 7b,r5,r6.* -.*$i,> 7b,r5,r6.* -.*$i,>>= 7b,r5,r6.* -.*$i,>> 7b,r5,r6.* -.*$i,nsv 7b,r5,r6.* -.*$i,ev 7b,r5,r6.* -.*$prompt $" { pass "$i tests" } - -re "$prompt $" { fail "$i tests" } - timeout { fail "(timeout) $i tests" } - } - } - - send_gdb "x/8i vshd_tests\n" - expect { - -re " -.*vshd r4,r5,r6.* -.*vshd,= r4,r5,r6.* -.*vshd,< r4,r5,r6.* -.*vshd,od r4,r5,r6.* -.*vshd,tr r4,r5,r6.* -.*vshd,<> r4,r5,r6.* -.*vshd,>= r4,r5,r6.* -.*vshd,ev r4,r5,r6.* -.*$prompt $" { pass "vshd tests" } - -re "$prompt $" { fail "vshd tests" } - timeout { fail "(timeout) "vshd tests" } - } - - send_gdb "x/8i shd_tests\n" - expect { - -re " -.*shd r4,r5,5,r6.* -.*shd,= r4,r5,5,r6.* -.*shd,< r4,r5,5,r6.* -.*shd,od r4,r5,5,r6.* -.*shd,tr r4,r5,5,r6.* -.*shd,<> r4,r5,5,r6.* -.*shd,>= r4,r5,5,r6.* -.*shd,ev r4,r5,5,r6.* -.*$prompt $" { pass "shd tests" } - -re "$prompt $" { fail "shd tests" } - timeout { fail "(timeout) "shd tests" } - } - - set extract_insns1 [list {extru} {extrs} {zdep} {dep} ] - - foreach i $extract_insns1 { - send_gdb "x/8i $i"; send_gdb "_tests\n" - expect { - -re " -.*$i r4,5,10,r6.* -.*$i,= r4,5,10,r6.* -.*$i,< r4,5,10,r6.* -.*$i,od r4,5,10,r6.* -.*$i,tr r4,5,10,r6.* -.*$i,<> r4,5,10,r6.* -.*$i,>= r4,5,10,r6.* -.*$i,ev r4,5,10,r6.* -.*$prompt $" { pass "$i tests" } - -re "$prompt $" { fail "$i tests" } - timeout { fail "(timeout) $i tests" } - } - } - - set extract_insns2 [list {vextru} {vextrs} {zvdep} {vdep} ] - - foreach i $extract_insns2 { - send_gdb "x/8i $i"; send_gdb "_tests\n" - expect { - -re " -.*$i r4,5,r6.* -.*$i,= r4,5,r6.* -.*$i,< r4,5,r6.* -.*$i,od r4,5,r6.* -.*$i,tr r4,5,r6.* -.*$i,<> r4,5,r6.* -.*$i,>= r4,5,r6.* -.*$i,ev r4,5,r6.* -.*$prompt $" { pass "$i tests" } - -re "$prompt $" { fail "$i tests" } - timeout { fail "(timeout) $i tests" } - } - } - - set extract_insns3 [list {vdepi} {zvdepi} ] - - foreach i $extract_insns3 { - send_gdb "x/8i $i"; send_gdb "_tests\n" - expect { - -re " -.*$i -1,5,r6.* -.*$i,= -1,5,r6.* -.*$i,< -1,5,r6.* -.*$i,od -1,5,r6.* -.*$i,tr -1,5,r6.* -.*$i,<> -1,5,r6.* -.*$i,>= -1,5,r6.* -.*$i,ev -1,5,r6.* -.*$prompt $" { pass "$i tests" } - -re "$prompt $" { fail "$i tests" } - timeout { fail "(timeout) $i tests" } - } - } - - set extract_insns4 [list {depi} {zdepi} ] - - foreach i $extract_insns4 { - send_gdb "x/8i $i"; send_gdb "_tests\n" - expect { - -re " -.*$i -1,4,10,r6.* -.*$i,= -1,4,10,r6.* -.*$i,< -1,4,10,r6.* -.*$i,od -1,4,10,r6.* -.*$i,tr -1,4,10,r6.* -.*$i,<> -1,4,10,r6.* -.*$i,>= -1,4,10,r6.* -.*$i,ev -1,4,10,r6.* -.*$prompt $" { pass "$i tests" } - -re "$prompt $" { fail "$i tests" } - timeout { fail "(timeout) $i tests" } - } - } -} - -proc all_system_control_tests { } { - global prompt - global hex - global decimal - - send_gdb "x/14i system_control_tests\n" - expect { - -re " -.*break 5,c.* -.*rfi.* -.*rfir.* -.*ssm 5,r4.* -.*rsm 5,r4.* -.*mtsm r4.* -.*ldsid \\(sr0,r5\\),r4.* -.*mtsp r4,sr0.* -.*mtctl r4,ccr.* -.*mfsp sr0,r4.* -.*mfctl ccr,r4.* -.*sync.* -.*syncdma.* -.*diag 4d2.* -.*$prompt $" { pass "system_constrol_tests" } - -re "$prompt $" { fail "system_control_tests" } - timeout { file "(timeout) system_control_tests" } - } - - send_gdb "x/4i probe_tests\n" - expect { - -re " -.*prober \\(sr0,r5\\),r6,r7.* -.*proberi \\(sr0,r5\\),1,r7.* -.*probew \\(sr0,r5\\),r6,r7.* -.*probewi \\(sr0,r5\\),1,r7.* -.*$prompt $" { pass "probe_tests" } - -re "$prompt $" { fail "probe_tests" } - timeout { file "(timeout) probe_tests" } - } - - # lci uses the same bit pattern as lha, so accept lha. - send_gdb "x/5i lpa_tests\n" - expect { - -re " -.*lpa r4\\(sr0,r5\\),r6.* -.*lpa,m r4\\(sr0,r5\\),r6.* -.*lha r4\\(sr0,r5\\),r6.* -.*lha,m r4\\(sr0,r5\\),r6.* -.*lha r4\\(sr0,r5\\),r6.* -.*$prompt $" { pass "lpa_tests" } - -re "$prompt $" { fail "lpa_tests" } - timeout { file "(timeout) lpa_tests" } - } - - send_gdb "x/18i purge_tests\n" - expect { - -re " -.*pdtlb r4\\(sr0,r5\\).* -.*pdtlb,m r4\\(sr0,r5\\).* -.*pitlb r4\\(sr0,r5\\).* -.*pitlb,m r4\\(sr0,r5\\).* -.*pdtlbe r4\\(sr0,r5\\).* -.*pdtlbe,m r4\\(sr0,r5\\).* -.*pitlbe r4\\(sr0,r5\\).* -.*pitlbe,m r4\\(sr0,r5\\).* -.*pdc r4\\(sr0,r5\\).* -.*pdc,m r4\\(sr0,r5\\).* -.*fdc r4\\(sr0,r5\\).* -.*fdc,m r4\\(sr0,r5\\).* -.*fic r4\\(sr0,r5\\).* -.*fic,m r4\\(sr0,r5\\).* -.*fdce r4\\(sr0,r5\\).* -.*fdce,m r4\\(sr0,r5\\).* -.*fice r4\\(sr0,r5\\).* -.*fice,m r4\\(sr0,r5\\).* -.*$prompt $" { pass "purge_tests" } - -re "$prompt $" { fail "purge_tests" } - timeout { file "(timeout) purge_tests" } - } - - send_gdb "x/4i insert_tests\n" - expect { - -re " -.*idtlba r4,\\(sr0,r5\\).* -.*iitlba r4,\\(sr0,r5\\).* -.*idtlbp r4,\\(sr0,r5\\).* -.*iitlbp r4,\\(sr0,r5\\).* -.*$prompt $" { pass "insert_tests" } - -re "$prompt $" { fail "insert_tests" } - timeout { file "(timeout) insert_tests" } - } - -} - -proc all_fpu_memory_tests { } { - global prompt - global hex - global decimal - - send_gdb "x/20i fpu_memory_indexing_tests\n" - expect { - -re " -.*fldwx r4\\(sr0,r5\\),fr6.* -.*fldwx,s r4\\(sr0,r5\\),fr6.* -.*fldwx,m r4\\(sr0,r5\\),fr6.* -.*fldwx,sm r4\\(sr0,r5\\),fr6.* -.*flddx r4\\(sr0,r5\\),fr6.* -.*flddx,s r4\\(sr0,r5\\),fr6.* -.*flddx,m r4\\(sr0,r5\\),fr6.* -.*flddx,sm r4\\(sr0,r5\\),fr6.* -.*fstwx fr6,r4\\(sr0,r5\\).* -.*fstwx,s fr6,r4\\(sr0,r5\\).* -.*fstwx,m fr6,r4\\(sr0,r5\\).* -.*fstwx,sm fr6,r4\\(sr0,r5\\).* -.*fstdx fr6,r4\\(sr0,r5\\).* -.*fstdx,s fr6,r4\\(sr0,r5\\).* -.*fstdx,m fr6,r4\\(sr0,r5\\).* -.*fstdx,sm fr6,r4\\(sr0,r5\\).* -.*fstqx fr6,r4\\(sr0,r5\\).* -.*fstqx,s fr6,r4\\(sr0,r5\\).* -.*fstqx,m fr6,r4\\(sr0,r5\\).* -.*fstqx,sm fr6,r4\\(sr0,r5\\).* -.*$prompt $" { pass "fpu_memory_indexing_tests" } - -re "$prompt $" { fail "fpu_memory_indexing_tests" } - timeout { file "(timeout) fpu_memory_indexing_tests" } - } - - send_gdb "x/15i fpu_short_memory_tests\n" - expect { - -re " -.*fldws 0\\(sr0,r5\\),fr6.* -.*fldws,mb 0\\(sr0,r5\\),fr6.* -.*fldws,ma 0\\(sr0,r5\\),fr6.* -.*fldds 0\\(sr0,r5\\),fr6.* -.*fldds,mb 0\\(sr0,r5\\),fr6.* -.*fldds,ma 0\\(sr0,r5\\),fr6.* -.*fstws fr6,0\\(sr0,r5\\).* -.*fstws,mb fr6,0\\(sr0,r5\\).* -.*fstws,ma fr6,0\\(sr0,r5\\).* -.*fstds fr6,0\\(sr0,r5\\).* -.*fstds,mb fr6,0\\(sr0,r5\\).* -.*fstds,ma fr6,0\\(sr0,r5\\).* -.*fstqs fr6,0\\(sr0,r5\\).* -.*fstqs,mb fr6,0\\(sr0,r5\\).* -.*fstqs,ma fr6,0\\(sr0,r5\\).* -.*$prompt $" { pass "fpu_short_memory_tests" } - -re "$prompt $" { fail "fpu_short_memory_tests" } - timeout { file "(timeout) fpu_short_memory_tests" } - } - -} - -proc all_fpu_computational_tests { } { - global prompt - global hex - global decimal - - send_gdb "x/1i fpu_misc_tests\n" - expect { - -re " -.*ftest.* -.*$prompt $" { pass "fpu_misc_tests" } - -re "$prompt $" { fail "fpu_misc_tests" } - timeout { file "(timeout) fpu_misc_tests" } - } - - set fpu_two_op_insns [list {fcpy} {fabs} {fsqrt} {frnd} ] - - foreach i $fpu_two_op_insns { - send_gdb "x/5i $i"; send_gdb "_tests\n" - expect { - -re " -.*$i,sgl fr5,fr10.* -.*$i,dbl fr5,fr10.* -.*$i,quad fr5,fr10.* -.*$i,sgl fr20,fr24.* -.*$i,dbl fr20,fr24.* -.*$prompt $" { pass "$i tests" } - -re "$prompt $" { fail "$i tests" } - timeout { fail "(timeout) $i tests" } - } - } - - set fpu_conversions [list {fcnvff} {fcnvxf} {fcnvfx} {fcnvfxt} ] - - foreach i $fpu_conversions { - send_gdb "x/18i $i"; send_gdb "_tests\n" - expect { - -re " -.*$i,sgl,sgl fr5,fr10.* -.*$i,sgl,dbl fr5,fr10.* -.*$i,sgl,quad fr5,fr10.* -.*$i,dbl,sgl fr5,fr10.* -.*$i,dbl,dbl fr5,fr10.* -.*$i,dbl,quad fr5,fr10.* -.*$i,quad,sgl fr5,fr10.* -.*$i,quad,dbl fr5,fr10.* -.*$i,quad,quad fr5,fr10.* -.*$i,sgl,sgl fr20,fr24.* -.*$i,sgl,dbl fr20,fr24.* -.*$i,sgl,quad fr20,fr24.* -.*$i,dbl,sgl fr20,fr24.* -.*$i,dbl,dbl fr20,fr24.* -.*$i,dbl,quad fr20,fr24.* -.*$i,quad,sgl fr20,fr24.* -.*$i,quad,dbl fr20,fr24.* -.*$i,quad,quad fr20,fr24.* -.*$prompt $" { pass "$i tests" } - -re "$prompt $" { fail "$i tests" } - timeout { fail "(timeout) $i tests" } - } - } - - set fpu_three_op_insns [list {fadd} {fsub} {fmpy} {fdiv} {frem} ] - - foreach i $fpu_three_op_insns { - send_gdb "x/6i $i"; send_gdb "_tests\n" - expect { - -re " -.*$i,sgl fr4,fr8,fr12.* -.*$i,dbl fr4,fr8,fr12.* -.*$i,quad fr4,fr8,fr12.* -.*$i,sgl fr20,fr24,fr28.* -.*$i,dbl fr20,fr24,fr28.* -.*$i,quad fr20,fr24,fr28.* -.*$prompt $" { pass "$i tests" } - -re "$prompt $" { fail "$i tests" } - timeout { fail "(timeout) $i tests" } - } - } - - send_gdb "x/4i fmpy_addsub_tests\n" - expect { - -re " -.*fmpyadd,sgl fr16,fr17,fr18,fr19,fr20.* -.*fmpyadd,dbl fr16,fr17,fr18,fr19,fr20.* -.*fmpysub,sgl fr16,fr17,fr18,fr19,fr20.* -.*fmpysub,dbl fr16,fr17,fr18,fr19,fr20.* -.*$prompt $" { pass "fmpy_addsub_tests" } - -re "$prompt $" { fail "fmpy_addsub_tests" } - timeout { fail "(timeout) fmpy_addsub_tests" } - } - - send_gdb "x/i xmpyu_tests\n" - expect { - -re " -.*xmpyu fr4,fr5,fr6.* -.*$prompt $" {pass "xmpyu_tests" } - -re "$prompt $" {fail "xmpyu_tests" } - timeout { fail "(timeout) xmpyu_tests" } - } - -} - -proc all_fpu_comparison_tests { } { - global prompt - global hex - global decimal - - set fpu_comparison_formats [list {sgl} {dbl} {quad} ] - - foreach i $fpu_comparison_formats { - send_gdb "x/8i fcmp_$i"; send_gdb "_tests_1\n" - expect { - -re " -.*fcmp,$i,false\\? fr4,fr5.* -.*fcmp,$i,false fr4,fr5.* -.*fcmp,$i,\\? fr4,fr5.* -.*fcmp,$i,!<=> fr4,fr5.* -.*fcmp,$i,= fr4,fr5.* -.*fcmp,$i,=t fr4,fr5.* -.*fcmp,$i,\\?= fr4,fr5.* -.*fcmp,$i,!<> fr4,fr5.* -.*$prompt $" { pass "$i tests (part1) " } - -re "$prompt $" { fail "fcmp_$i tests (part1) " } - timeout { fail "(timeout) fcmp_$i tests (part1) " } - } - - send_gdb "x/8i fcmp_$i"; send_gdb "_tests_2\n" - expect { - -re " -.*fcmp,$i,!\\?>= fr4,fr5.* -.*fcmp,$i,< fr4,fr5.* -.*fcmp,$i,\\?< fr4,fr5.* -.*fcmp,$i,!>= fr4,fr5.* -.*fcmp,$i,!\\?> fr4,fr5.* -.*fcmp,$i,<= fr4,fr5.* -.*fcmp,$i,\\?<= fr4,fr5.* -.*fcmp,$i,!> fr4,fr5.* -.*$prompt $" { pass "$i tests (part2) " } - -re "$prompt $" { fail "fcmp_$i tests (part2) " } - timeout { fail "(timeout) fcmp_$i tests (part2) " } - } - - send_gdb "x/8i fcmp_$i"; send_gdb "_tests_3\n" - expect { - -re " -.*fcmp,$i,!\\?<= fr4,fr5.* -.*fcmp,$i,> fr4,fr5.* -.*fcmp,$i,\\?> fr4,fr5.* -.*fcmp,$i,!<= fr4,fr5.* -.*fcmp,$i,!\\?< fr4,fr5.* -.*fcmp,$i,>= fr4,fr5.* -.*fcmp,$i,\\?>= fr4,fr5.* -.*fcmp,$i,!< fr4,fr5.* -.*$prompt $" { pass "$i tests (part3) " } - -re "$prompt $" { fail "fcmp_$i tests (part3) " } - timeout { fail "(timeout) fcmp_$i tests (part3) " } - } - - send_gdb "x/8i fcmp_$i"; send_gdb "_tests_4\n" - expect { - -re " -.*fcmp,$i,!\\?= fr4,fr5.* -.*fcmp,$i,<> fr4,fr5.* -.*fcmp,$i,!= fr4,fr5.* -.*fcmp,$i,!=t fr4,fr5.* -.*fcmp,$i,!\\? fr4,fr5.* -.*fcmp,$i,<=> fr4,fr5.* -.*fcmp,$i,true\\? fr4,fr5.* -.*fcmp,$i,true fr4,fr5.* -.*$prompt $" { pass "$i tests (part4) " } - -re "$prompt $" { fail "fcmp_$i tests (part4) " } - timeout { fail "(timeout) fcmp_$i tests (part4) " } - } - } -} - -proc all_special_tests { } { - global prompt - global hex - global decimal - - send_gdb "x/4i special_tests\n" - expect { - -re " -.*gfw r4\\(sr0,r5\\).* -.*gfw,m r4\\(sr0,r5\\).* -.*gfr r4\\(sr0,r5\\).* -.*gfr,m r4\\(sr0,r5\\).* -.*$prompt $" { pass "special tests" } - -re "$prompt $" { fail "special tests" } - timeout { fail "(timeout) special tests " } - } - -} - -proc all_sfu_tests { } { - global prompt - global hex - global decimal - - send_gdb "x/16i sfu_tests\n" - expect { - -re " -.*spop0,4,5.* -.*spop0,4,73.* -.*spop0,4,5,n.* -.*spop0,4,73,n.* -.*spop1,4,5 r5.* -.*spop1,4,73 r5.* -.*spop1,4,5,n r5.* -.*spop1,4,73,n r5.* -.*spop2,4,5 r5.* -.*spop2,4,73 r5.* -.*spop2,4,5,n r5.* -.*spop2,4,73,n r5.* -.*spop3,4,5 r5,r6.* -.*spop3,4,73 r5,r6.* -.*spop3,4,5,n r5,r6.* -.*spop3,4,73,n r5,r6.* -.*$prompt $" { pass "sfu tests" } - -re "$prompt $" { fail "sfu tests" } - timeout { fail "(timeout) sfu tests " } - } -} - -proc all_copr_tests { } { - global prompt - global hex - global decimal - - send_gdb "x/4i copr_tests\n" - expect { - -re " -.*copr,4,5.* -.*copr,4,73.* -.*copr,4,5,n.* -.*copr,4,73,n.* -.*$prompt $" { pass "copr tests" } - -re "$prompt $" { fail "copr tests" } - timeout { fail "(timeout) copr tests " } - } -} - -proc all_copr_mem_tests { } { - global prompt - global hex - global decimal - - send_gdb "x/8i copr_indexing_load\n" - expect { - -re " -.*cldwx,4 r5\\(sr0,r4\\),r26.* -.*cldwx,4,s r5\\(sr0,r4\\),r26.* -.*cldwx,4,m r5\\(sr0,r4\\),r26.* -.*cldwx,4,sm r5\\(sr0,r4\\),r26.* -.*clddx,4 r5\\(sr0,r4\\),r26.* -.*clddx,4,s r5\\(sr0,r4\\),r26.* -.*clddx,4,m r5\\(sr0,r4\\),r26.* -.*clddx,4,sm r5\\(sr0,r4\\),r26.* -.*$prompt $" { pass "copr indexed load tests" } - -re "$prompt $" { fail "copr indexed load tests" } - timeout { fail "(timeout) copr indexed load tests " } - } - - send_gdb "x/8i copr_indexing_store\n" - expect { - -re " -.*cstwx,4 r26,r5\\(sr0,r4\\).* -.*cstwx,4,s r26,r5\\(sr0,r4\\).* -.*cstwx,4,m r26,r5\\(sr0,r4\\).* -.*cstwx,4,sm r26,r5\\(sr0,r4\\).* -.*cstdx,4 r26,r5\\(sr0,r4\\).* -.*cstdx,4,s r26,r5\\(sr0,r4\\).* -.*cstdx,4,m r26,r5\\(sr0,r4\\).* -.*cstdx,4,sm r26,r5\\(sr0,r4\\).* -.*$prompt $" { pass "copr indexed store tests" } - -re "$prompt $" { fail "copr indexed store tests" } - timeout { fail "(timeout) copr indexed load tests " } - } - - send_gdb "x/12i copr_short_memory\n" - expect { - -re " -.*cldws,4 0\\(sr0,r4\\),r26.* -.*cldws,4,mb 0\\(sr0,r4\\),r26.* -.*cldws,4,ma 0\\(sr0,r4\\),r26.* -.*cldds,4 0\\(sr0,r4\\),r26.* -.*cldds,4,mb 0\\(sr0,r4\\),r26.* -.*cldds,4,ma 0\\(sr0,r4\\),r26.* -.*cstws,4 r26,0\\(sr0,r4\\).* -.*cstws,4,mb r26,0\\(sr0,r4\\).* -.*cstws,4,ma r26,0\\(sr0,r4\\).* -.*cstds,4 r26,0\\(sr0,r4\\).* -.*cstds,4,mb r26,0\\(sr0,r4\\).* -.*cstds,4,ma r26,0\\(sr0,r4\\).* -.*$prompt $" { pass "copr short memory tests" } - -re "$prompt $" { fail "copr short memory tests" } - timeout { fail "(timeout) copr short memory tests " } - } -} - -proc fmemLRbug_tests { } { - global prompt - global hex - global decimal - - send_gdb "x/12i fmemLRbug_tests_1\n" - expect { - -re " -.*fstws fr6R,0\\(sr0,r26\\).* -.*fstws fr6,4\\(sr0,r26\\).* -.*fstws fr6,8\\(sr0,r26\\).* -.*fstds fr6,0\\(sr0,r26\\).* -.*fstds fr6,4\\(sr0,r26\\).* -.*fstds fr6,8\\(sr0,r26\\).* -.*fldws 0\\(sr0,r26\\),fr6R.* -.*fldws 4\\(sr0,r26\\),fr6.* -.*fldws 8\\(sr0,r26\\),fr6.* -.*fldds 0\\(sr0,r26\\),fr6.* -.*fldds 4\\(sr0,r26\\),fr6.* -.*fldds 8\\(sr0,r26\\),fr6.* -.*$prompt $" { pass "fmem LR register selector tests (part1)" } - -re "$prompt $" { fail "fmem LR register selector tests (part1)" } - timeout { fail "(timeout) fmem LR register selector tests (part1)" } - } - - send_gdb "x/12i fmemLRbug_tests_2\n" - expect { - -re " -.*fstws fr6R,0\\(sr0,r26\\).* -.*fstws fr6,4\\(sr0,r26\\).* -.*fstws fr6,8\\(sr0,r26\\).* -.*fstds fr6,0\\(sr0,r26\\).* -.*fstds fr6,4\\(sr0,r26\\).* -.*fstds fr6,8\\(sr0,r26\\).* -.*fldws 0\\(sr0,r26\\),fr6R.* -.*fldws 4\\(sr0,r26\\),fr6.* -.*fldws 8\\(sr0,r26\\),fr6.* -.*fldds 0\\(sr0,r26\\),fr6.* -.*fldds 4\\(sr0,r26\\),fr6.* -.*fldds 8\\(sr0,r26\\),fr6.* -.*$prompt $" { pass "fmem LR register selector tests (part2)" } - -re "$prompt $" { fail "fmem LR register selector tests (part2)" } - timeout { fail "(timeout) fmem LR register selector tests (part2)" } - } - - send_gdb "x/12i fmemLRbug_tests_3\n" - expect { - -re " -.*fstwx fr6R,r25\\(sr0,r26\\).* -.*fstwx fr6,r25\\(sr0,r26\\).* -.*fstwx fr6,r25\\(sr0,r26\\).* -.*fstdx fr6,r25\\(sr0,r26\\).* -.*fstdx fr6,r25\\(sr0,r26\\).* -.*fstdx fr6,r25\\(sr0,r26\\).* -.*fldwx r25\\(sr0,r26\\),fr6R.* -.*fldwx r25\\(sr0,r26\\),fr6.* -.*fldwx r25\\(sr0,r26\\),fr6.* -.*flddx r25\\(sr0,r26\\),fr6.* -.*flddx r25\\(sr0,r26\\),fr6.* -.*flddx r25\\(sr0,r26\\),fr6.* -.*$prompt $" { pass "fmem LR register selector tests (part3)" } - -re "$prompt $" { fail "fmem LR register selector tests (part3)" } - timeout { fail "(timeout) fmem LR register selector tests (part3)" } - } - - send_gdb "x/12i fmemLRbug_tests_4\n" - expect { - -re " -.*fstwx fr6R,r25\\(sr0,r26\\).* -.*fstwx fr6,r25\\(sr0,r26\\).* -.*fstwx fr6,r25\\(sr0,r26\\).* -.*fstdx fr6,r25\\(sr0,r26\\).* -.*fstdx fr6,r25\\(sr0,r26\\).* -.*fstdx fr6,r25\\(sr0,r26\\).* -.*fldwx r25\\(sr0,r26\\),fr6R.* -.*fldwx r25\\(sr0,r26\\),fr6.* -.*fldwx r25\\(sr0,r26\\),fr6.* -.*flddx r25\\(sr0,r26\\),fr6.* -.*flddx r25\\(sr0,r26\\),fr6.* -.*flddx r25\\(sr0,r26\\),fr6.* -.*$prompt $" { pass "fmem LR register selector tests (part4)" } - -re "$prompt $" { fail "fmem LR register selector tests (part4)" } - timeout { fail "(timeout) fmem LR register selector tests (part4)" } - } -} - -# Start with a fresh gdb. - -gdb_exit -gdb_start -gdb_reinitialize_dir $srcdir/$subdir -gdb_load $binfile - -all_integer_memory_tests -all_immediate_tests -all_branch_tests -all_integer_computational_tests -all_system_control_tests -all_fpu_memory_tests -all_fpu_computational_tests -all_fpu_comparison_tests -all_special_tests -all_sfu_tests -all_copr_tests -all_copr_mem_tests - -# Regression test for a bug Tege found. -fmemLRbug_tests diff --git a/gdb/testsuite/gdb.disasm/hppa.s b/gdb/testsuite/gdb.disasm/hppa.s deleted file mode 100644 index 37e7887a2f2..00000000000 --- a/gdb/testsuite/gdb.disasm/hppa.s +++ /dev/null @@ -1,1631 +0,0 @@ - .SPACE $PRIVATE$ - .SUBSPA $DATA$,QUAD=1,ALIGN=8,ACCESS=31 - .SUBSPA $BSS$,QUAD=1,ALIGN=8,ACCESS=31,ZERO,SORT=82 - .SPACE $TEXT$ - .SUBSPA $LIT$,QUAD=0,ALIGN=8,ACCESS=44 - .SUBSPA $CODE$,QUAD=0,ALIGN=8,ACCESS=44,CODE_ONLY - .IMPORT $global$,DATA - .IMPORT $$dyncall,MILLICODE -; gcc_compiled.: - .SPACE $TEXT$ - .SUBSPA $CODE$ - - .align 4 - .EXPORT integer_memory_tests,CODE - .EXPORT integer_indexing_load,CODE - .EXPORT integer_load_short_memory,CODE - .EXPORT integer_store_short_memory,CODE - .EXPORT immediate_tests,CODE - .EXPORT branch_tests,CODE - .EXPORT movb_tests,CODE - .EXPORT movb_nullified_tests,CODE - .EXPORT movib_tests,CODE - .EXPORT movib_nullified_tests,CODE - .EXPORT comb_tests,CODE - .EXPORT comb_nullified_tests,CODE - .EXPORT comib_tests,CODE - .EXPORT comib_nullified_tests,CODE - .EXPORT addb_tests,CODE - .EXPORT addb_nullified_tests,CODE - .EXPORT addib_tests,CODE - .EXPORT addib_nullified_tests,CODE - .EXPORT bb_tests,CODE - .EXPORT add_tests,CODE - .EXPORT addl_tests,CODE - .EXPORT addo_tests,CODE - .EXPORT addc_tests,CODE - .EXPORT addco_tests,CODE - .EXPORT sh1add_tests,CODE - .EXPORT sh1addl_tests,CODE - .EXPORT sh1addo_tests,CODE - .EXPORT sh2add_tests,CODE - .EXPORT sh2addl_tests,CODE - .EXPORT sh2addo_tests,CODE - .EXPORT sh3add_tests,CODE - .EXPORT sh3addl_tests,CODE - .EXPORT sh3addo_tests,CODE - .EXPORT sub_tests,CODE - .EXPORT subo_tests,CODE - .EXPORT subb_tests,CODE - .EXPORT subbo_tests,CODE - .EXPORT subt_tests,CODE - .EXPORT subto_tests,CODE - .EXPORT ds_tests,CODE - .EXPORT comclr_tests,CODE - .EXPORT or_tests,CODE - .EXPORT xor_tests,CODE - .EXPORT and_tests,CODE - .EXPORT andcm_tests,CODE - .EXPORT uxor_tests,CODE - .EXPORT uaddcm_tests,CODE - .EXPORT uaddcmt_tests,CODE - .EXPORT dcor_tests,CODE - .EXPORT idcor_tests,CODE - .EXPORT addi_tests,CODE - .EXPORT addio_tests,CODE - .EXPORT addit_tests,CODE - .EXPORT addito_tests,CODE - .EXPORT subi_tests,CODE - .EXPORT subio_tests,CODE - .EXPORT comiclr_tests,CODE - .EXPORT vshd_tests,CODE - .EXPORT shd_tests,CODE - .EXPORT extru_tests,CODE - .EXPORT extrs_tests,CODE - .EXPORT zdep_tests,CODE - .EXPORT dep_tests,CODE - .EXPORT vextru_tests,CODE - .EXPORT vextrs_tests,CODE - .EXPORT zvdep_tests,CODE - .EXPORT vdep_tests,CODE - .EXPORT vdepi_tests,CODE - .EXPORT zvdepi_tests,CODE - .EXPORT depi_tests,CODE - .EXPORT zdepi_tests,CODE - .EXPORT system_control_tests,CODE - .EXPORT probe_tests,CODE - .EXPORT lpa_tests,CODE - .EXPORT purge_tests,CODE - .EXPORT insert_tests,CODE - .EXPORT fpu_misc_tests,CODE - .EXPORT fpu_memory_indexing_tests,CODE - .EXPORT fpu_short_memory_tests,CODE - .EXPORT fcpy_tests,CODE - .EXPORT fabs_tests,CODE - .EXPORT fsqrt_tests,CODE - .EXPORT frnd_tests,CODE - .EXPORT fcnvff_tests,CODE - .EXPORT fcnvxf_tests,CODE - .EXPORT fcnvfx_tests,CODE - .EXPORT fcnvfxt_tests,CODE - .EXPORT fadd_tests,CODE - .EXPORT fsub_tests,CODE - .EXPORT fmpy_tests,CODE - .EXPORT fdiv_tests,CODE - .EXPORT frem_tests,CODE - .EXPORT fcmp_sgl_tests,CODE - .EXPORT fcmp_dbl_tests,CODE - .EXPORT fcmp_quad_tests,CODE - .EXPORT fmpy_addsub_tests,CODE - .EXPORT xmpyu_tests,CODE - .EXPORT special_tests,CODE - .EXPORT sfu_tests,CODE - .EXPORT copr_tests,CODE - .EXPORT copr_indexing_load,CODE - .EXPORT copr_indexing_store,CODE - .EXPORT copr_short_memory,CODE - .EXPORT main,CODE - .EXPORT main,ENTRY,PRIV_LEV=3,RTNVAL=GR -main - .PROC - .CALLINFO FRAME=64,NO_CALLS,SAVE_SP - .ENTRY - copy %r4,%r1 - copy %r30,%r4 - stwm %r1,64(0,%r30) -; First memory reference instructions. -; Should try corner cases for each field extraction. -; Should deal with s == 0 case somehow?!? -integer_memory_tests - ldw 0(0,%r4),%r26 - ldh 0(0,%r4),%r26 - ldb 0(0,%r4),%r26 - stw %r26,0(0,%r4) - sth %r26,0(0,%r4) - stb %r26,0(0,%r4) - -; Should make sure pre/post modes are recognized correctly. - ldwm 0(0,%r4),%r26 - stwm %r26,0(0,%r4) - -integer_indexing_load - ldwx %r5(0,%r4),%r26 - ldwx,s %r5(0,%r4),%r26 - ldwx,m %r5(0,%r4),%r26 - ldwx,sm %r5(0,%r4),%r26 - ldhx %r5(0,%r4),%r26 - ldhx,s %r5(0,%r4),%r26 - ldhx,m %r5(0,%r4),%r26 - ldhx,sm %r5(0,%r4),%r26 - ldbx %r5(0,%r4),%r26 - ldbx,s %r5(0,%r4),%r26 - ldbx,m %r5(0,%r4),%r26 - ldbx,sm %r5(0,%r4),%r26 - ldwax %r5(%r4),%r26 - ldwax,s %r5(%r4),%r26 - ldwax,m %r5(%r4),%r26 - ldwax,sm %r5(%r4),%r26 - ldcwx %r5(0,%r4),%r26 - ldcwx,s %r5(0,%r4),%r26 - ldcwx,m %r5(0,%r4),%r26 - ldcwx,sm %r5(0,%r4),%r26 - -integer_load_short_memory - ldws 0(0,%r4),%r26 - ldws,mb 0(0,%r4),%r26 - ldws,ma 0(0,%r4),%r26 - ldhs 0(0,%r4),%r26 - ldhs,mb 0(0,%r4),%r26 - ldhs,ma 0(0,%r4),%r26 - ldbs 0(0,%r4),%r26 - ldbs,mb 0(0,%r4),%r26 - ldbs,ma 0(0,%r4),%r26 - ldwas 0(%r4),%r26 - ldwas,mb 0(%r4),%r26 - ldwas,ma 0(%r4),%r26 - ldcws 0(0,%r4),%r26 - ldcws,mb 0(0,%r4),%r26 - ldcws,ma 0(0,%r4),%r26 - -integer_store_short_memory - stws %r26,0(0,%r4) - stws,mb %r26,0(0,%r4) - stws,ma %r26,0(0,%r4) - sths %r26,0(0,%r4) - sths,mb %r26,0(0,%r4) - sths,ma %r26,0(0,%r4) - stbs %r26,0(0,%r4) - stbs,mb %r26,0(0,%r4) - stbs,ma %r26,0(0,%r4) - stwas %r26,0(%r4) - stwas,mb %r26,0(%r4) - stwas,ma %r26,0(%r4) - stbys %r26,0(0,%r4) - stbys,b %r26,0(0,%r4) - stbys,e %r26,0(0,%r4) - stbys,b,m %r26,0(0,%r4) - stbys,e,m %r26,0(0,%r4) - -; Immediate instructions. -immediate_tests - ldo 5(%r26),%r26 - ldil L%0xdeadbeef,%r26 - addil L%0xdeadbeef,%r5 - -; Lots of branch instructions. -; blr with %r0 as return pointer should really be just br <target>, -; but the assemblers can't handle it. -branch_tests - bl main,%r2 - bl,n main,%r2 - b main - b,n main - gate main,%r2 - gate,n main,%r2 - blr %r4,%r2 - blr,n %r4,%r2 - blr %r4,%r0 - blr,n %r4,%r0 - bv 0(%r2) - bv,n 0(%r2) - be 0x1234(%sr1,%r2) - be,n 0x1234(%sr1,%r2) - ble 0x1234(%sr1,%r2) - ble,n 0x1234(%sr1,%r2) - -; GAS can't assemble movb,n or movib,n. -movb_tests - movb %r4,%r26,movb_tests - movb,= %r4,%r26,movb_tests - movb,< %r4,%r26,movb_tests - movb,od %r4,%r26,movb_tests - movb,tr %r4,%r26,movb_tests - movb,<> %r4,%r26,movb_tests - movb,>= %r4,%r26,movb_tests - movb,ev %r4,%r26,movb_tests -movb_nullified_tests - movb,n %r4,%r26,movb_tests - movb,=,n %r4,%r26,movb_tests - movb,<,n %r4,%r26,movb_tests - movb,od,n %r4,%r26,movb_tests - movb,tr,n %r4,%r26,movb_tests - movb,<>,n %r4,%r26,movb_tests - movb,>=,n %r4,%r26,movb_tests - movb,ev,n %r4,%r26,movb_tests - -movib_tests - movib 5,%r26,movib_tests - movib,= 5,%r26,movib_tests - movib,< 5,%r26,movib_tests - movib,od 5,%r26,movib_tests - movib,tr 5,%r26,movib_tests - movib,<> 5,%r26,movib_tests - movib,>= 5,%r26,movib_tests - movib,ev 5,%r26,movib_tests -movib_nullified_tests - movib,n 5,%r26,movib_tests - movib,=,n 5,%r26,movib_tests - movib,<,n 5,%r26,movib_tests - movib,od,n 5,%r26,movib_tests - movib,tr,n 5,%r26,movib_tests - movib,<>,n 5,%r26,movib_tests - movib,>=,n 5,%r26,movib_tests - movib,ev,n 5,%r26,movib_tests - -comb_tests - comb %r0,%r4,comb_tests - comb,= %r0,%r4,comb_tests - comb,< %r0,%r4,comb_tests - comb,<= %r0,%r4,comb_tests - comb,<< %r0,%r4,comb_tests - comb,<<= %r0,%r4,comb_tests - comb,sv %r0,%r4,comb_tests - comb,od %r0,%r4,comb_tests - comb,tr %r0,%r4,comb_tests - comb,<> %r0,%r4,comb_tests - comb,>= %r0,%r4,comb_tests - comb,> %r0,%r4,comb_tests - comb,>>= %r0,%r4,comb_tests - comb,>> %r0,%r4,comb_tests - comb,nsv %r0,%r4,comb_tests - comb,ev %r0,%r4,comb_tests -comb_nullified_tests - comb,n %r0,%r4,comb_tests - comb,=,n %r0,%r4,comb_tests - comb,<,n %r0,%r4,comb_tests - comb,<=,n %r0,%r4,comb_tests - comb,<<,n %r0,%r4,comb_tests - comb,<<=,n %r0,%r4,comb_tests - comb,sv,n %r0,%r4,comb_tests - comb,od,n %r0,%r4,comb_tests - comb,tr,n %r0,%r4,comb_tests - comb,<>,n %r0,%r4,comb_tests - comb,>=,n %r0,%r4,comb_tests - comb,>,n %r0,%r4,comb_tests - comb,>>=,n %r0,%r4,comb_tests - comb,>>,n %r0,%r4,comb_tests - comb,nsv,n %r0,%r4,comb_tests - comb,ev,n %r0,%r4,comb_tests - -comib_tests - comib 0,%r4,comib_tests - comib,< 0,%r4,comib_tests - comib,<= 0,%r4,comib_tests - comib,<< 0,%r4,comib_tests - comib,<<= 0,%r4,comib_tests - comib,sv 0,%r4,comib_tests - comib,od 0,%r4,comib_tests - comib,tr 0,%r4,comib_tests - comib,<> 0,%r4,comib_tests - comib,>= 0,%r4,comib_tests - comib,> 0,%r4,comib_tests - comib,>>= 0,%r4,comib_tests - comib,>> 0,%r4,comib_tests - comib,nsv 0,%r4,comib_tests - comib,ev 0,%r4,comb_tests - -comib_nullified_tests - comib,n 0,%r4,comib_tests - comib,=,n 0,%r4,comib_tests - comib,<,n 0,%r4,comib_tests - comib,<=,n 0,%r4,comib_tests - comib,<<,n 0,%r4,comib_tests - comib,<<=,n 0,%r4,comib_tests - comib,sv,n 0,%r4,comib_tests - comib,od,n 0,%r4,comib_tests - comib,tr,n 0,%r4,comib_tests - comib,<>,n 0,%r4,comib_tests - comib,>=,n 0,%r4,comib_tests - comib,>,n 0,%r4,comib_tests - comib,>>=,n 0,%r4,comib_tests - comib,>>,n 0,%r4,comib_tests - comib,nsv,n 0,%r4,comib_tests - comib,ev,n 0,%r4,comib_tests - - - -addb_tests - addb %r1,%r4,addb_tests - addb,= %r1,%r4,addb_tests - addb,< %r1,%r4,addb_tests - addb,<= %r1,%r4,addb_tests - addb,nuv %r1,%r4,addb_tests - addb,znv %r1,%r4,addb_tests - addb,sv %r1,%r4,addb_tests - addb,od %r1,%r4,addb_tests - addb,tr %r1,%r4,addb_tests - addb,<> %r1,%r4,addb_tests - addb,>= %r1,%r4,addb_tests - addb,> %r1,%r4,addb_tests - addb,uv %r1,%r4,addb_tests - addb,vnz %r1,%r4,addb_tests - addb,nsv %r1,%r4,addb_tests - addb,ev %r1,%r4,addb_tests -addb_nullified_tests - addb,n %r1,%r4,addb_tests - addb,=,n %r1,%r4,addb_tests - addb,<,n %r1,%r4,addb_tests - addb,<=,n %r1,%r4,addb_tests - addb,nuv,n %r1,%r4,addb_tests - addb,znv,n %r1,%r4,addb_tests - addb,sv,n %r1,%r4,addb_tests - addb,od,n %r1,%r4,addb_tests - addb,tr,n %r1,%r4,addb_tests - addb,<>,n %r1,%r4,addb_tests - addb,>=,n %r1,%r4,addb_tests - addb,>,n %r1,%r4,addb_tests - addb,uv,n %r1,%r4,addb_tests - addb,vnz,n %r1,%r4,addb_tests - addb,nsv,n %r1,%r4,addb_tests - addb,ev,n %r1,%r4,addb_tests - -addib_tests - addib -1,%r4,addib_tests - addib,= -1,%r4,addib_tests - addib,< -1,%r4,addib_tests - addib,<= -1,%r4,addib_tests - addib,nuv -1,%r4,addib_tests - addib,znv -1,%r4,addib_tests - addib,sv -1,%r4,addib_tests - addib,od -1,%r4,addib_tests - addib,tr -1,%r4,addib_tests - addib,<> -1,%r4,addib_tests - addib,>= -1,%r4,addib_tests - addib,> -1,%r4,addib_tests - addib,uv -1,%r4,addib_tests - addib,vnz -1,%r4,addib_tests - addib,nsv -1,%r4,addib_tests - addib,ev -1,%r4,addib_tests - -addib_nullified_tests - addib,n -1,%r4,addib_tests - addib,=,n -1,%r4,addib_tests - addib,<,n -1,%r4,addib_tests - addib,<=,n -1,%r4,addib_tests - addib,nuv,n -1,%r4,addib_tests - addib,znv,n -1,%r4,addib_tests - addib,sv,n -1,%r4,addib_tests - addib,od,n -1,%r4,addib_tests - addib,tr,n -1,%r4,addib_tests - addib,<>,n -1,%r4,addib_tests - addib,>=,n -1,%r4,addib_tests - addib,>,n -1,%r4,addib_tests - addib,uv,n -1,%r4,addib_tests - addib,vnz,n -1,%r4,addib_tests - addib,nsv,n -1,%r4,addib_tests - addib,ev,n -1,%r4,addib_tests - - -; Needs to check lots of stuff (like corner bit cases) -bb_tests - bvb,< %r4,bb_tests - bvb,>= %r4,bb_tests - bvb,<,n %r4,bb_tests - bvb,>=,n %r4,bb_tests - bb,< %r4,5,bb_tests - bb,>= %r4,5,bb_tests - bb,<,n %r4,5,bb_tests - bb,>=,n %r4,5,bb_tests - -; Computational instructions -add_tests - add %r4,%r5,%r6 - add,= %r4,%r5,%r6 - add,< %r4,%r5,%r6 - add,<= %r4,%r5,%r6 - add,nuv %r4,%r5,%r6 - add,znv %r4,%r5,%r6 - add,sv %r4,%r5,%r6 - add,od %r4,%r5,%r6 - add,tr %r4,%r5,%r6 - add,<> %r4,%r5,%r6 - add,>= %r4,%r5,%r6 - add,> %r4,%r5,%r6 - add,uv %r4,%r5,%r6 - add,vnz %r4,%r5,%r6 - add,nsv %r4,%r5,%r6 - add,ev %r4,%r5,%r6 - -addl_tests - addl %r4,%r5,%r6 - addl,= %r4,%r5,%r6 - addl,< %r4,%r5,%r6 - addl,<= %r4,%r5,%r6 - addl,nuv %r4,%r5,%r6 - addl,znv %r4,%r5,%r6 - addl,sv %r4,%r5,%r6 - addl,od %r4,%r5,%r6 - addl,tr %r4,%r5,%r6 - addl,<> %r4,%r5,%r6 - addl,>= %r4,%r5,%r6 - addl,> %r4,%r5,%r6 - addl,uv %r4,%r5,%r6 - addl,vnz %r4,%r5,%r6 - addl,nsv %r4,%r5,%r6 - addl,ev %r4,%r5,%r6 - -addo_tests - addo %r4,%r5,%r6 - addo,= %r4,%r5,%r6 - addo,< %r4,%r5,%r6 - addo,<= %r4,%r5,%r6 - addo,nuv %r4,%r5,%r6 - addo,znv %r4,%r5,%r6 - addo,sv %r4,%r5,%r6 - addo,od %r4,%r5,%r6 - addo,tr %r4,%r5,%r6 - addo,<> %r4,%r5,%r6 - addo,>= %r4,%r5,%r6 - addo,> %r4,%r5,%r6 - addo,uv %r4,%r5,%r6 - addo,vnz %r4,%r5,%r6 - addo,nsv %r4,%r5,%r6 - addo,ev %r4,%r5,%r6 - -addc_tests - addc %r4,%r5,%r6 - addc,= %r4,%r5,%r6 - addc,< %r4,%r5,%r6 - addc,<= %r4,%r5,%r6 - addc,nuv %r4,%r5,%r6 - addc,znv %r4,%r5,%r6 - addc,sv %r4,%r5,%r6 - addc,od %r4,%r5,%r6 - addc,tr %r4,%r5,%r6 - addc,<> %r4,%r5,%r6 - addc,>= %r4,%r5,%r6 - addc,> %r4,%r5,%r6 - addc,uv %r4,%r5,%r6 - addc,vnz %r4,%r5,%r6 - addc,nsv %r4,%r5,%r6 - addc,ev %r4,%r5,%r6 - -addco_tests - addco %r4,%r5,%r6 - addco,= %r4,%r5,%r6 - addco,< %r4,%r5,%r6 - addco,<= %r4,%r5,%r6 - addco,nuv %r4,%r5,%r6 - addco,znv %r4,%r5,%r6 - addco,sv %r4,%r5,%r6 - addco,od %r4,%r5,%r6 - addco,tr %r4,%r5,%r6 - addco,<> %r4,%r5,%r6 - addco,>= %r4,%r5,%r6 - addco,> %r4,%r5,%r6 - addco,uv %r4,%r5,%r6 - addco,vnz %r4,%r5,%r6 - addco,nsv %r4,%r5,%r6 - addco,ev %r4,%r5,%r6 - -sh1add_tests - sh1add %r4,%r5,%r6 - sh1add,= %r4,%r5,%r6 - sh1add,< %r4,%r5,%r6 - sh1add,<= %r4,%r5,%r6 - sh1add,nuv %r4,%r5,%r6 - sh1add,znv %r4,%r5,%r6 - sh1add,sv %r4,%r5,%r6 - sh1add,od %r4,%r5,%r6 - sh1add,tr %r4,%r5,%r6 - sh1add,<> %r4,%r5,%r6 - sh1add,>= %r4,%r5,%r6 - sh1add,> %r4,%r5,%r6 - sh1add,uv %r4,%r5,%r6 - sh1add,vnz %r4,%r5,%r6 - sh1add,nsv %r4,%r5,%r6 - sh1add,ev %r4,%r5,%r6 - -sh1addl_tests - sh1addl %r4,%r5,%r6 - sh1addl,= %r4,%r5,%r6 - sh1addl,< %r4,%r5,%r6 - sh1addl,<= %r4,%r5,%r6 - sh1addl,nuv %r4,%r5,%r6 - sh1addl,znv %r4,%r5,%r6 - sh1addl,sv %r4,%r5,%r6 - sh1addl,od %r4,%r5,%r6 - sh1addl,tr %r4,%r5,%r6 - sh1addl,<> %r4,%r5,%r6 - sh1addl,>= %r4,%r5,%r6 - sh1addl,> %r4,%r5,%r6 - sh1addl,uv %r4,%r5,%r6 - sh1addl,vnz %r4,%r5,%r6 - sh1addl,nsv %r4,%r5,%r6 - sh1addl,ev %r4,%r5,%r6 - -sh1addo_tests - sh1addo %r4,%r5,%r6 - sh1addo,= %r4,%r5,%r6 - sh1addo,< %r4,%r5,%r6 - sh1addo,<= %r4,%r5,%r6 - sh1addo,nuv %r4,%r5,%r6 - sh1addo,znv %r4,%r5,%r6 - sh1addo,sv %r4,%r5,%r6 - sh1addo,od %r4,%r5,%r6 - sh1addo,tr %r4,%r5,%r6 - sh1addo,<> %r4,%r5,%r6 - sh1addo,>= %r4,%r5,%r6 - sh1addo,> %r4,%r5,%r6 - sh1addo,uv %r4,%r5,%r6 - sh1addo,vnz %r4,%r5,%r6 - sh1addo,nsv %r4,%r5,%r6 - sh1addo,ev %r4,%r5,%r6 - - -sh2add_tests - sh2add %r4,%r5,%r6 - sh2add,= %r4,%r5,%r6 - sh2add,< %r4,%r5,%r6 - sh2add,<= %r4,%r5,%r6 - sh2add,nuv %r4,%r5,%r6 - sh2add,znv %r4,%r5,%r6 - sh2add,sv %r4,%r5,%r6 - sh2add,od %r4,%r5,%r6 - sh2add,tr %r4,%r5,%r6 - sh2add,<> %r4,%r5,%r6 - sh2add,>= %r4,%r5,%r6 - sh2add,> %r4,%r5,%r6 - sh2add,uv %r4,%r5,%r6 - sh2add,vnz %r4,%r5,%r6 - sh2add,nsv %r4,%r5,%r6 - sh2add,ev %r4,%r5,%r6 - -sh2addl_tests - sh2addl %r4,%r5,%r6 - sh2addl,= %r4,%r5,%r6 - sh2addl,< %r4,%r5,%r6 - sh2addl,<= %r4,%r5,%r6 - sh2addl,nuv %r4,%r5,%r6 - sh2addl,znv %r4,%r5,%r6 - sh2addl,sv %r4,%r5,%r6 - sh2addl,od %r4,%r5,%r6 - sh2addl,tr %r4,%r5,%r6 - sh2addl,<> %r4,%r5,%r6 - sh2addl,>= %r4,%r5,%r6 - sh2addl,> %r4,%r5,%r6 - sh2addl,uv %r4,%r5,%r6 - sh2addl,vnz %r4,%r5,%r6 - sh2addl,nsv %r4,%r5,%r6 - sh2addl,ev %r4,%r5,%r6 - -sh2addo_tests - sh2addo %r4,%r5,%r6 - sh2addo,= %r4,%r5,%r6 - sh2addo,< %r4,%r5,%r6 - sh2addo,<= %r4,%r5,%r6 - sh2addo,nuv %r4,%r5,%r6 - sh2addo,znv %r4,%r5,%r6 - sh2addo,sv %r4,%r5,%r6 - sh2addo,od %r4,%r5,%r6 - sh2addo,tr %r4,%r5,%r6 - sh2addo,<> %r4,%r5,%r6 - sh2addo,>= %r4,%r5,%r6 - sh2addo,> %r4,%r5,%r6 - sh2addo,uv %r4,%r5,%r6 - sh2addo,vnz %r4,%r5,%r6 - sh2addo,nsv %r4,%r5,%r6 - sh2addo,ev %r4,%r5,%r6 - - -sh3add_tests - sh3add %r4,%r5,%r6 - sh3add,= %r4,%r5,%r6 - sh3add,< %r4,%r5,%r6 - sh3add,<= %r4,%r5,%r6 - sh3add,nuv %r4,%r5,%r6 - sh3add,znv %r4,%r5,%r6 - sh3add,sv %r4,%r5,%r6 - sh3add,od %r4,%r5,%r6 - sh3add,tr %r4,%r5,%r6 - sh3add,<> %r4,%r5,%r6 - sh3add,>= %r4,%r5,%r6 - sh3add,> %r4,%r5,%r6 - sh3add,uv %r4,%r5,%r6 - sh3add,vnz %r4,%r5,%r6 - sh3add,nsv %r4,%r5,%r6 - sh3add,ev %r4,%r5,%r6 - -sh3addl_tests - sh3addl %r4,%r5,%r6 - sh3addl,= %r4,%r5,%r6 - sh3addl,< %r4,%r5,%r6 - sh3addl,<= %r4,%r5,%r6 - sh3addl,nuv %r4,%r5,%r6 - sh3addl,znv %r4,%r5,%r6 - sh3addl,sv %r4,%r5,%r6 - sh3addl,od %r4,%r5,%r6 - sh3addl,tr %r4,%r5,%r6 - sh3addl,<> %r4,%r5,%r6 - sh3addl,>= %r4,%r5,%r6 - sh3addl,> %r4,%r5,%r6 - sh3addl,uv %r4,%r5,%r6 - sh3addl,vnz %r4,%r5,%r6 - sh3addl,nsv %r4,%r5,%r6 - sh3addl,ev %r4,%r5,%r6 - -sh3addo_tests - sh3addo %r4,%r5,%r6 - sh3addo,= %r4,%r5,%r6 - sh3addo,< %r4,%r5,%r6 - sh3addo,<= %r4,%r5,%r6 - sh3addo,nuv %r4,%r5,%r6 - sh3addo,znv %r4,%r5,%r6 - sh3addo,sv %r4,%r5,%r6 - sh3addo,od %r4,%r5,%r6 - sh3addo,tr %r4,%r5,%r6 - sh3addo,<> %r4,%r5,%r6 - sh3addo,>= %r4,%r5,%r6 - sh3addo,> %r4,%r5,%r6 - sh3addo,uv %r4,%r5,%r6 - sh3addo,vnz %r4,%r5,%r6 - sh3addo,nsv %r4,%r5,%r6 - sh3addo,ev %r4,%r5,%r6 - - -sub_tests - sub %r4,%r5,%r6 - sub,= %r4,%r5,%r6 - sub,< %r4,%r5,%r6 - sub,<= %r4,%r5,%r6 - sub,<< %r4,%r5,%r6 - sub,<<= %r4,%r5,%r6 - sub,sv %r4,%r5,%r6 - sub,od %r4,%r5,%r6 - sub,tr %r4,%r5,%r6 - sub,<> %r4,%r5,%r6 - sub,>= %r4,%r5,%r6 - sub,> %r4,%r5,%r6 - sub,>>= %r4,%r5,%r6 - sub,>> %r4,%r5,%r6 - sub,nsv %r4,%r5,%r6 - sub,ev %r4,%r5,%r6 - -subo_tests - subo %r4,%r5,%r6 - subo,= %r4,%r5,%r6 - subo,< %r4,%r5,%r6 - subo,<= %r4,%r5,%r6 - subo,<< %r4,%r5,%r6 - subo,<<= %r4,%r5,%r6 - subo,sv %r4,%r5,%r6 - subo,od %r4,%r5,%r6 - subo,tr %r4,%r5,%r6 - subo,<> %r4,%r5,%r6 - subo,>= %r4,%r5,%r6 - subo,> %r4,%r5,%r6 - subo,>>= %r4,%r5,%r6 - subo,>> %r4,%r5,%r6 - subo,nsv %r4,%r5,%r6 - subo,ev %r4,%r5,%r6 - -subb_tests - subb %r4,%r5,%r6 - subb,= %r4,%r5,%r6 - subb,< %r4,%r5,%r6 - subb,<= %r4,%r5,%r6 - subb,<< %r4,%r5,%r6 - subb,<<= %r4,%r5,%r6 - subb,sv %r4,%r5,%r6 - subb,od %r4,%r5,%r6 - subb,tr %r4,%r5,%r6 - subb,<> %r4,%r5,%r6 - subb,>= %r4,%r5,%r6 - subb,> %r4,%r5,%r6 - subb,>>= %r4,%r5,%r6 - subb,>> %r4,%r5,%r6 - subb,nsv %r4,%r5,%r6 - subb,ev %r4,%r5,%r6 - -subbo_tests - subbo %r4,%r5,%r6 - subbo,= %r4,%r5,%r6 - subbo,< %r4,%r5,%r6 - subbo,<= %r4,%r5,%r6 - subbo,<< %r4,%r5,%r6 - subbo,<<= %r4,%r5,%r6 - subbo,sv %r4,%r5,%r6 - subbo,od %r4,%r5,%r6 - subbo,tr %r4,%r5,%r6 - subbo,<> %r4,%r5,%r6 - subbo,>= %r4,%r5,%r6 - subbo,> %r4,%r5,%r6 - subbo,>>= %r4,%r5,%r6 - subbo,>> %r4,%r5,%r6 - subbo,nsv %r4,%r5,%r6 - subbo,ev %r4,%r5,%r6 - -subt_tests - subt %r4,%r5,%r6 - subt,= %r4,%r5,%r6 - subt,< %r4,%r5,%r6 - subt,<= %r4,%r5,%r6 - subt,<< %r4,%r5,%r6 - subt,<<= %r4,%r5,%r6 - subt,sv %r4,%r5,%r6 - subt,od %r4,%r5,%r6 - subt,tr %r4,%r5,%r6 - subt,<> %r4,%r5,%r6 - subt,>= %r4,%r5,%r6 - subt,> %r4,%r5,%r6 - subt,>>= %r4,%r5,%r6 - subt,>> %r4,%r5,%r6 - subt,nsv %r4,%r5,%r6 - subt,ev %r4,%r5,%r6 - -subto_tests - subto %r4,%r5,%r6 - subto,= %r4,%r5,%r6 - subto,< %r4,%r5,%r6 - subto,<= %r4,%r5,%r6 - subto,<< %r4,%r5,%r6 - subto,<<= %r4,%r5,%r6 - subto,sv %r4,%r5,%r6 - subto,od %r4,%r5,%r6 - subto,tr %r4,%r5,%r6 - subto,<> %r4,%r5,%r6 - subto,>= %r4,%r5,%r6 - subto,> %r4,%r5,%r6 - subto,>>= %r4,%r5,%r6 - subto,>> %r4,%r5,%r6 - subto,nsv %r4,%r5,%r6 - subto,ev %r4,%r5,%r6 - -ds_tests - ds %r4,%r5,%r6 - ds,= %r4,%r5,%r6 - ds,< %r4,%r5,%r6 - ds,<= %r4,%r5,%r6 - ds,<< %r4,%r5,%r6 - ds,<<= %r4,%r5,%r6 - ds,sv %r4,%r5,%r6 - ds,od %r4,%r5,%r6 - ds,tr %r4,%r5,%r6 - ds,<> %r4,%r5,%r6 - ds,>= %r4,%r5,%r6 - ds,> %r4,%r5,%r6 - ds,>>= %r4,%r5,%r6 - ds,>> %r4,%r5,%r6 - ds,nsv %r4,%r5,%r6 - ds,ev %r4,%r5,%r6 - -comclr_tests - comclr %r4,%r5,%r6 - comclr,= %r4,%r5,%r6 - comclr,< %r4,%r5,%r6 - comclr,<= %r4,%r5,%r6 - comclr,<< %r4,%r5,%r6 - comclr,<<= %r4,%r5,%r6 - comclr,sv %r4,%r5,%r6 - comclr,od %r4,%r5,%r6 - comclr,tr %r4,%r5,%r6 - comclr,<> %r4,%r5,%r6 - comclr,>= %r4,%r5,%r6 - comclr,> %r4,%r5,%r6 - comclr,>>= %r4,%r5,%r6 - comclr,>> %r4,%r5,%r6 - comclr,nsv %r4,%r5,%r6 - comclr,ev %r4,%r5,%r6 - -or_tests - or %r4,%r5,%r6 - or,= %r4,%r5,%r6 - or,< %r4,%r5,%r6 - or,<= %r4,%r5,%r6 - or,od %r4,%r5,%r6 - or,tr %r4,%r5,%r6 - or,<> %r4,%r5,%r6 - or,>= %r4,%r5,%r6 - or,> %r4,%r5,%r6 - or,ev %r4,%r5,%r6 -xor_tests - xor %r4,%r5,%r6 - xor,= %r4,%r5,%r6 - xor,< %r4,%r5,%r6 - xor,<= %r4,%r5,%r6 - xor,od %r4,%r5,%r6 - xor,tr %r4,%r5,%r6 - xor,<> %r4,%r5,%r6 - xor,>= %r4,%r5,%r6 - xor,> %r4,%r5,%r6 - xor,ev %r4,%r5,%r6 - -and_tests - and %r4,%r5,%r6 - and,= %r4,%r5,%r6 - and,< %r4,%r5,%r6 - and,<= %r4,%r5,%r6 - and,od %r4,%r5,%r6 - and,tr %r4,%r5,%r6 - and,<> %r4,%r5,%r6 - and,>= %r4,%r5,%r6 - and,> %r4,%r5,%r6 - and,ev %r4,%r5,%r6 - -andcm_tests - andcm %r4,%r5,%r6 - andcm,= %r4,%r5,%r6 - andcm,< %r4,%r5,%r6 - andcm,<= %r4,%r5,%r6 - andcm,od %r4,%r5,%r6 - andcm,tr %r4,%r5,%r6 - andcm,<> %r4,%r5,%r6 - andcm,>= %r4,%r5,%r6 - andcm,> %r4,%r5,%r6 - andcm,ev %r4,%r5,%r6 - - -uxor_tests - uxor %r4,%r5,%r6 - uxor,sbz %r4,%r5,%r6 - uxor,shz %r4,%r5,%r6 - uxor,sdc %r4,%r5,%r6 - uxor,sbc %r4,%r5,%r6 - uxor,shc %r4,%r5,%r6 - uxor,tr %r4,%r5,%r6 - uxor,nbz %r4,%r5,%r6 - uxor,nhz %r4,%r5,%r6 - uxor,ndc %r4,%r5,%r6 - uxor,nbc %r4,%r5,%r6 - uxor,nhc %r4,%r5,%r6 - -uaddcm_tests - uaddcm %r4,%r5,%r6 - uaddcm,sbz %r4,%r5,%r6 - uaddcm,shz %r4,%r5,%r6 - uaddcm,sdc %r4,%r5,%r6 - uaddcm,sbc %r4,%r5,%r6 - uaddcm,shc %r4,%r5,%r6 - uaddcm,tr %r4,%r5,%r6 - uaddcm,nbz %r4,%r5,%r6 - uaddcm,nhz %r4,%r5,%r6 - uaddcm,ndc %r4,%r5,%r6 - uaddcm,nbc %r4,%r5,%r6 - uaddcm,nhc %r4,%r5,%r6 - -uaddcmt_tests - uaddcmt %r4,%r5,%r6 - uaddcmt,sbz %r4,%r5,%r6 - uaddcmt,shz %r4,%r5,%r6 - uaddcmt,sdc %r4,%r5,%r6 - uaddcmt,sbc %r4,%r5,%r6 - uaddcmt,shc %r4,%r5,%r6 - uaddcmt,tr %r4,%r5,%r6 - uaddcmt,nbz %r4,%r5,%r6 - uaddcmt,nhz %r4,%r5,%r6 - uaddcmt,ndc %r4,%r5,%r6 - uaddcmt,nbc %r4,%r5,%r6 - uaddcmt,nhc %r4,%r5,%r6 - -dcor_tests - dcor %r4,%r5 - dcor,sbz %r4,%r5 - dcor,shz %r4,%r5 - dcor,sdc %r4,%r5 - dcor,sbc %r4,%r5 - dcor,shc %r4,%r5 - dcor,tr %r4,%r5 - dcor,nbz %r4,%r5 - dcor,nhz %r4,%r5 - dcor,ndc %r4,%r5 - dcor,nbc %r4,%r5 - dcor,nhc %r4,%r5 - -idcor_tests - idcor %r4,%r5 - idcor,sbz %r4,%r5 - idcor,shz %r4,%r5 - idcor,sdc %r4,%r5 - idcor,sbc %r4,%r5 - idcor,shc %r4,%r5 - idcor,tr %r4,%r5 - idcor,nbz %r4,%r5 - idcor,nhz %r4,%r5 - idcor,ndc %r4,%r5 - idcor,nbc %r4,%r5 - idcor,nhc %r4,%r5 - -addi_tests - addi 123,%r5,%r6 - addi,= 123,%r5,%r6 - addi,< 123,%r5,%r6 - addi,<= 123,%r5,%r6 - addi,nuv 123,%r5,%r6 - addi,znv 123,%r5,%r6 - addi,sv 123,%r5,%r6 - addi,od 123,%r5,%r6 - addi,tr 123,%r5,%r6 - addi,<> 123,%r5,%r6 - addi,>= 123,%r5,%r6 - addi,> 123,%r5,%r6 - addi,uv 123,%r5,%r6 - addi,vnz 123,%r5,%r6 - addi,nsv 123,%r5,%r6 - addi,ev 123,%r5,%r6 - -addio_tests - addio 123,%r5,%r6 - addio,= 123,%r5,%r6 - addio,< 123,%r5,%r6 - addio,<= 123,%r5,%r6 - addio,nuv 123,%r5,%r6 - addio,znv 123,%r5,%r6 - addio,sv 123,%r5,%r6 - addio,od 123,%r5,%r6 - addio,tr 123,%r5,%r6 - addio,<> 123,%r5,%r6 - addio,>= 123,%r5,%r6 - addio,> 123,%r5,%r6 - addio,uv 123,%r5,%r6 - addio,vnz 123,%r5,%r6 - addio,nsv 123,%r5,%r6 - addio,ev 123,%r5,%r6 - -addit_tests - addit 123,%r5,%r6 - addit,= 123,%r5,%r6 - addit,< 123,%r5,%r6 - addit,<= 123,%r5,%r6 - addit,nuv 123,%r5,%r6 - addit,znv 123,%r5,%r6 - addit,sv 123,%r5,%r6 - addit,od 123,%r5,%r6 - addit,tr 123,%r5,%r6 - addit,<> 123,%r5,%r6 - addit,>= 123,%r5,%r6 - addit,> 123,%r5,%r6 - addit,uv 123,%r5,%r6 - addit,vnz 123,%r5,%r6 - addit,nsv 123,%r5,%r6 - addit,ev 123,%r5,%r6 - -addito_tests - addito 123,%r5,%r6 - addito,= 123,%r5,%r6 - addito,< 123,%r5,%r6 - addito,<= 123,%r5,%r6 - addito,nuv 123,%r5,%r6 - addito,znv 123,%r5,%r6 - addito,sv 123,%r5,%r6 - addito,od 123,%r5,%r6 - addito,tr 123,%r5,%r6 - addito,<> 123,%r5,%r6 - addito,>= 123,%r5,%r6 - addito,> 123,%r5,%r6 - addito,uv 123,%r5,%r6 - addito,vnz 123,%r5,%r6 - addito,nsv 123,%r5,%r6 - addito,ev 123,%r5,%r6 - -subi_tests - subi 123,%r5,%r6 - subi,= 123,%r5,%r6 - subi,< 123,%r5,%r6 - subi,<= 123,%r5,%r6 - subi,<< 123,%r5,%r6 - subi,<<= 123,%r5,%r6 - subi,sv 123,%r5,%r6 - subi,od 123,%r5,%r6 - subi,tr 123,%r5,%r6 - subi,<> 123,%r5,%r6 - subi,>= 123,%r5,%r6 - subi,> 123,%r5,%r6 - subi,>>= 123,%r5,%r6 - subi,>> 123,%r5,%r6 - subi,nsv 123,%r5,%r6 - subi,ev 123,%r5,%r6 - -subio_tests - subio 123,%r5,%r6 - subio,= 123,%r5,%r6 - subio,< 123,%r5,%r6 - subio,<= 123,%r5,%r6 - subio,<< 123,%r5,%r6 - subio,<<= 123,%r5,%r6 - subio,sv 123,%r5,%r6 - subio,od 123,%r5,%r6 - subio,tr 123,%r5,%r6 - subio,<> 123,%r5,%r6 - subio,>= 123,%r5,%r6 - subio,> 123,%r5,%r6 - subio,>>= 123,%r5,%r6 - subio,>> 123,%r5,%r6 - subio,nsv 123,%r5,%r6 - subio,ev 123,%r5,%r6 - -comiclr_tests - comiclr 123,%r5,%r6 - comiclr,= 123,%r5,%r6 - comiclr,< 123,%r5,%r6 - comiclr,<= 123,%r5,%r6 - comiclr,<< 123,%r5,%r6 - comiclr,<<= 123,%r5,%r6 - comiclr,sv 123,%r5,%r6 - comiclr,od 123,%r5,%r6 - comiclr,tr 123,%r5,%r6 - comiclr,<> 123,%r5,%r6 - comiclr,>= 123,%r5,%r6 - comiclr,> 123,%r5,%r6 - comiclr,>>= 123,%r5,%r6 - comiclr,>> 123,%r5,%r6 - comiclr,nsv 123,%r5,%r6 - comiclr,ev 123,%r5,%r6 - -vshd_tests - vshd %r4,%r5,%r6 - vshd,= %r4,%r5,%r6 - vshd,< %r4,%r5,%r6 - vshd,od %r4,%r5,%r6 - vshd,tr %r4,%r5,%r6 - vshd,<> %r4,%r5,%r6 - vshd,>= %r4,%r5,%r6 - vshd,ev %r4,%r5,%r6 - -shd_tests - shd %r4,%r5,5,%r6 - shd,= %r4,%r5,5,%r6 - shd,< %r4,%r5,5,%r6 - shd,od %r4,%r5,5,%r6 - shd,tr %r4,%r5,5,%r6 - shd,<> %r4,%r5,5,%r6 - shd,>= %r4,%r5,5,%r6 - shd,ev %r4,%r5,5,%r6 - -extru_tests - extru %r4,5,10,%r6 - extru,= %r4,5,10,%r6 - extru,< %r4,5,10,%r6 - extru,od %r4,5,10,%r6 - extru,tr %r4,5,10,%r6 - extru,<> %r4,5,10,%r6 - extru,>= %r4,5,10,%r6 - extru,ev %r4,5,10,%r6 - -extrs_tests - extrs %r4,5,10,%r6 - extrs,= %r4,5,10,%r6 - extrs,< %r4,5,10,%r6 - extrs,od %r4,5,10,%r6 - extrs,tr %r4,5,10,%r6 - extrs,<> %r4,5,10,%r6 - extrs,>= %r4,5,10,%r6 - extrs,ev %r4,5,10,%r6 - -zdep_tests - zdep %r4,5,10,%r6 - zdep,= %r4,5,10,%r6 - zdep,< %r4,5,10,%r6 - zdep,od %r4,5,10,%r6 - zdep,tr %r4,5,10,%r6 - zdep,<> %r4,5,10,%r6 - zdep,>= %r4,5,10,%r6 - zdep,ev %r4,5,10,%r6 - -dep_tests - dep %r4,5,10,%r6 - dep,= %r4,5,10,%r6 - dep,< %r4,5,10,%r6 - dep,od %r4,5,10,%r6 - dep,tr %r4,5,10,%r6 - dep,<> %r4,5,10,%r6 - dep,>= %r4,5,10,%r6 - dep,ev %r4,5,10,%r6 - -vextru_tests - vextru %r4,5,%r6 - vextru,= %r4,5,%r6 - vextru,< %r4,5,%r6 - vextru,od %r4,5,%r6 - vextru,tr %r4,5,%r6 - vextru,<> %r4,5,%r6 - vextru,>= %r4,5,%r6 - vextru,ev %r4,5,%r6 - -vextrs_tests - vextrs %r4,5,%r6 - vextrs,= %r4,5,%r6 - vextrs,< %r4,5,%r6 - vextrs,od %r4,5,%r6 - vextrs,tr %r4,5,%r6 - vextrs,<> %r4,5,%r6 - vextrs,>= %r4,5,%r6 - vextrs,ev %r4,5,%r6 - -zvdep_tests - zvdep %r4,5,%r6 - zvdep,= %r4,5,%r6 - zvdep,< %r4,5,%r6 - zvdep,od %r4,5,%r6 - zvdep,tr %r4,5,%r6 - zvdep,<> %r4,5,%r6 - zvdep,>= %r4,5,%r6 - zvdep,ev %r4,5,%r6 - - -vdep_tests - vdep %r4,5,%r6 - vdep,= %r4,5,%r6 - vdep,< %r4,5,%r6 - vdep,od %r4,5,%r6 - vdep,tr %r4,5,%r6 - vdep,<> %r4,5,%r6 - vdep,>= %r4,5,%r6 - vdep,ev %r4,5,%r6 - -vdepi_tests - vdepi -1,5,%r6 - vdepi,= -1,5,%r6 - vdepi,< -1,5,%r6 - vdepi,od -1,5,%r6 - vdepi,tr -1,5,%r6 - vdepi,<> -1,5,%r6 - vdepi,>= -1,5,%r6 - vdepi,ev -1,5,%r6 - -zvdepi_tests - zvdepi -1,5,%r6 - zvdepi,= -1,5,%r6 - zvdepi,< -1,5,%r6 - zvdepi,od -1,5,%r6 - zvdepi,tr -1,5,%r6 - zvdepi,<> -1,5,%r6 - zvdepi,>= -1,5,%r6 - zvdepi,ev -1,5,%r6 - -depi_tests - depi -1,4,10,%r6 - depi,= -1,4,10,%r6 - depi,< -1,4,10,%r6 - depi,od -1,4,10,%r6 - depi,tr -1,4,10,%r6 - depi,<> -1,4,10,%r6 - depi,>= -1,4,10,%r6 - depi,ev -1,4,10,%r6 - -zdepi_tests - zdepi -1,4,10,%r6 - zdepi,= -1,4,10,%r6 - zdepi,< -1,4,10,%r6 - zdepi,od -1,4,10,%r6 - zdepi,tr -1,4,10,%r6 - zdepi,<> -1,4,10,%r6 - zdepi,>= -1,4,10,%r6 - zdepi,ev -1,4,10,%r6 - - -system_control_tests - break 5,12 - rfi - rfir - ssm 5,%r4 - rsm 5,%r4 - mtsm %r4 - ldsid (%sr0,%r5),%r4 - mtsp %r4,%sr0 - mtctl %r4,%cr10 - mfsp %sr0,%r4 - mfctl %cr10,%r4 - sync - diag 1234 - -probe_tests - prober (%sr0,%r5),%r6,%r7 - proberi (%sr0,%r5),1,%r7 - probew (%sr0,%r5),%r6,%r7 - probewi (%sr0,%r5),1,%r7 - -lpa_tests - lpa %r4(%sr0,%r5),%r6 - lpa,m %r4(%sr0,%r5),%r6 - lha %r4(%sr0,%r5),%r6 - lha,m %r4(%sr0,%r5),%r6 - -purge_tests - pdtlb %r4(%sr0,%r5) - pdtlb,m %r4(%sr0,%r5) - pitlb %r4(%sr0,%r5) - pitlb,m %r4(%sr0,%r5) - pdtlbe %r4(%sr0,%r5) - pdtlbe,m %r4(%sr0,%r5) - pitlbe %r4(%sr0,%r5) - pitlbe,m %r4(%sr0,%r5) - pdc %r4(%sr0,%r5) - pdc,m %r4(%sr0,%r5) - fdc %r4(%sr0,%r5) - fdc,m %r4(%sr0,%r5) - fic %r4(%sr0,%r5) - fic,m %r4(%sr0,%r5) - fdce %r4(%sr0,%r5) - fdce,m %r4(%sr0,%r5) - fice %r4(%sr0,%r5) - fice,m %r4(%sr0,%r5) - -insert_tests - idtlba %r4,(%sr0,%r5) - iitlba %r4,(%sr0,%r5) - idtlbp %r4,(%sr0,%r5) - iitlbp %r4,(%sr0,%r5) - -fpu_misc_tests - ftest - -fpu_memory_indexing_tests - fldwx %r4(%sr0,%r5),%fr6 - fldwx,s %r4(%sr0,%r5),%fr6 - fldwx,m %r4(%sr0,%r5),%fr6 - fldwx,sm %r4(%sr0,%r5),%fr6 - flddx %r4(%sr0,%r5),%fr6 - flddx,s %r4(%sr0,%r5),%fr6 - flddx,m %r4(%sr0,%r5),%fr6 - flddx,sm %r4(%sr0,%r5),%fr6 - fstwx %fr6,%r4(%sr0,%r5) - fstwx,s %fr6,%r4(%sr0,%r5) - fstwx,m %fr6,%r4(%sr0,%r5) - fstwx,sm %fr6,%r4(%sr0,%r5) - fstdx %fr6,%r4(%sr0,%r5) - fstdx,s %fr6,%r4(%sr0,%r5) - fstdx,m %fr6,%r4(%sr0,%r5) - fstdx,sm %fr6,%r4(%sr0,%r5) - fstqx %fr6,%r4(%sr0,%r5) - fstqx,s %fr6,%r4(%sr0,%r5) - fstqx,m %fr6,%r4(%sr0,%r5) - fstqx,sm %fr6,%r4(%sr0,%r5) - -fpu_short_memory_tests - fldws 0(%sr0,%r5),%fr6 - fldws,mb 0(%sr0,%r5),%fr6 - fldws,ma 0(%sr0,%r5),%fr6 - fldds 0(%sr0,%r5),%fr6 - fldds,mb 0(%sr0,%r5),%fr6 - fldds,ma 0(%sr0,%r5),%fr6 - fstws %fr6,0(%sr0,%r5) - fstws,mb %fr6,0(%sr0,%r5) - fstws,ma %fr6,0(%sr0,%r5) - fstds %fr6,0(%sr0,%r5) - fstds,mb %fr6,0(%sr0,%r5) - fstds,ma %fr6,0(%sr0,%r5) - fstqs %fr6,0(%sr0,%r5) - fstqs,mb %fr6,0(%sr0,%r5) - fstqs,ma %fr6,0(%sr0,%r5) - - -fcpy_tests - fcpy,sgl %fr5,%fr10 - fcpy,dbl %fr5,%fr10 - fcpy,quad %fr5,%fr10 - fcpy,sgl %fr20,%fr24 - fcpy,dbl %fr20,%fr24 - -fabs_tests - fabs,sgl %fr5,%fr10 - fabs,dbl %fr5,%fr10 - fabs,quad %fr5,%fr10 - fabs,sgl %fr20,%fr24 - fabs,dbl %fr20,%fr24 - -fsqrt_tests - fsqrt,sgl %fr5,%fr10 - fsqrt,dbl %fr5,%fr10 - fsqrt,quad %fr5,%fr10 - fsqrt,sgl %fr20,%fr24 - fsqrt,dbl %fr20,%fr24 - -frnd_tests - frnd,sgl %fr5,%fr10 - frnd,dbl %fr5,%fr10 - frnd,quad %fr5,%fr10 - frnd,sgl %fr20,%fr24 - frnd,dbl %fr20,%fr24 - -fcnvff_tests - fcnvff,sgl,sgl %fr5,%fr10 - fcnvff,sgl,dbl %fr5,%fr10 - fcnvff,sgl,quad %fr5,%fr10 - fcnvff,dbl,sgl %fr5,%fr10 - fcnvff,dbl,dbl %fr5,%fr10 - fcnvff,dbl,quad %fr5,%fr10 - fcnvff,quad,sgl %fr5,%fr10 - fcnvff,quad,dbl %fr5,%fr10 - fcnvff,quad,quad %fr5,%fr10 - fcnvff,sgl,sgl %fr20,%fr24 - fcnvff,sgl,dbl %fr20,%fr24 - fcnvff,sgl,quad %fr20,%fr24 - fcnvff,dbl,sgl %fr20,%fr24 - fcnvff,dbl,dbl %fr20,%fr24 - fcnvff,dbl,quad %fr20,%fr24 - fcnvff,quad,sgl %fr20,%fr24 - fcnvff,quad,dbl %fr20,%fr24 - fcnvff,quad,quad %fr20,%fr24 - -fcnvxf_tests - fcnvxf,sgl,sgl %fr5,%fr10 - fcnvxf,sgl,dbl %fr5,%fr10 - fcnvxf,sgl,quad %fr5,%fr10 - fcnvxf,dbl,sgl %fr5,%fr10 - fcnvxf,dbl,dbl %fr5,%fr10 - fcnvxf,dbl,quad %fr5,%fr10 - fcnvxf,quad,sgl %fr5,%fr10 - fcnvxf,quad,dbl %fr5,%fr10 - fcnvxf,quad,quad %fr5,%fr10 - fcnvxf,sgl,sgl %fr20,%fr24 - fcnvxf,sgl,dbl %fr20,%fr24 - fcnvxf,sgl,quad %fr20,%fr24 - fcnvxf,dbl,sgl %fr20,%fr24 - fcnvxf,dbl,dbl %fr20,%fr24 - fcnvxf,dbl,quad %fr20,%fr24 - fcnvxf,quad,sgl %fr20,%fr24 - fcnvxf,quad,dbl %fr20,%fr24 - fcnvxf,quad,quad %fr20,%fr24 - -fcnvfx_tests - fcnvfx,sgl,sgl %fr5,%fr10 - fcnvfx,sgl,dbl %fr5,%fr10 - fcnvfx,sgl,quad %fr5,%fr10 - fcnvfx,dbl,sgl %fr5,%fr10 - fcnvfx,dbl,dbl %fr5,%fr10 - fcnvfx,dbl,quad %fr5,%fr10 - fcnvfx,quad,sgl %fr5,%fr10 - fcnvfx,quad,dbl %fr5,%fr10 - fcnvfx,quad,quad %fr5,%fr10 - fcnvfx,sgl,sgl %fr20,%fr24 - fcnvfx,sgl,dbl %fr20,%fr24 - fcnvfx,sgl,quad %fr20,%fr24 - fcnvfx,dbl,sgl %fr20,%fr24 - fcnvfx,dbl,dbl %fr20,%fr24 - fcnvfx,dbl,quad %fr20,%fr24 - fcnvfx,quad,sgl %fr20,%fr24 - fcnvfx,quad,dbl %fr20,%fr24 - fcnvfx,quad,quad %fr20,%fr24 - -fcnvfxt_tests - fcnvfxt,sgl,sgl %fr5,%fr10 - fcnvfxt,sgl,dbl %fr5,%fr10 - fcnvfxt,sgl,quad %fr5,%fr10 - fcnvfxt,dbl,sgl %fr5,%fr10 - fcnvfxt,dbl,dbl %fr5,%fr10 - fcnvfxt,dbl,quad %fr5,%fr10 - fcnvfxt,quad,sgl %fr5,%fr10 - fcnvfxt,quad,dbl %fr5,%fr10 - fcnvfxt,quad,quad %fr5,%fr10 - fcnvfxt,sgl,sgl %fr20,%fr24 - fcnvfxt,sgl,dbl %fr20,%fr24 - fcnvfxt,sgl,quad %fr20,%fr24 - fcnvfxt,dbl,sgl %fr20,%fr24 - fcnvfxt,dbl,dbl %fr20,%fr24 - fcnvfxt,dbl,quad %fr20,%fr24 - fcnvfxt,quad,sgl %fr20,%fr24 - fcnvfxt,quad,dbl %fr20,%fr24 - fcnvfxt,quad,quad %fr20,%fr24 - -fadd_tests - fadd,sgl %fr4,%fr8,%fr12 - fadd,dbl %fr4,%fr8,%fr12 - fadd,quad %fr4,%fr8,%fr12 - fadd,sgl %fr20,%fr24,%fr28 - fadd,dbl %fr20,%fr24,%fr28 - fadd,quad %fr20,%fr24,%fr28 - -fsub_tests - fsub,sgl %fr4,%fr8,%fr12 - fsub,dbl %fr4,%fr8,%fr12 - fsub,quad %fr4,%fr8,%fr12 - fsub,sgl %fr20,%fr24,%fr28 - fsub,dbl %fr20,%fr24,%fr28 - fsub,quad %fr20,%fr24,%fr28 - -fmpy_tests - fmpy,sgl %fr4,%fr8,%fr12 - fmpy,dbl %fr4,%fr8,%fr12 - fmpy,quad %fr4,%fr8,%fr12 - fmpy,sgl %fr20,%fr24,%fr28 - fmpy,dbl %fr20,%fr24,%fr28 - fmpy,quad %fr20,%fr24,%fr28 - -fdiv_tests - fdiv,sgl %fr4,%fr8,%fr12 - fdiv,dbl %fr4,%fr8,%fr12 - fdiv,quad %fr4,%fr8,%fr12 - fdiv,sgl %fr20,%fr24,%fr28 - fdiv,dbl %fr20,%fr24,%fr28 - fdiv,quad %fr20,%fr24,%fr28 - -frem_tests - frem,sgl %fr4,%fr8,%fr12 - frem,dbl %fr4,%fr8,%fr12 - frem,quad %fr4,%fr8,%fr12 - frem,sgl %fr20,%fr24,%fr28 - frem,dbl %fr20,%fr24,%fr28 - frem,quad %fr20,%fr24,%fr28 - -fcmp_sgl_tests - fcmp,sgl,false? %fr4,%fr5 - fcmp,sgl,false %fr4,%fr5 - fcmp,sgl,? %fr4,%fr5 - fcmp,sgl,!<=> %fr4,%fr5 - fcmp,sgl,= %fr4,%fr5 - fcmp,sgl,=T %fr4,%fr5 - fcmp,sgl,?= %fr4,%fr5 - fcmp,sgl,!<> %fr4,%fr5 - fcmp,sgl,!?>= %fr4,%fr5 - fcmp,sgl,< %fr4,%fr5 - fcmp,sgl,?< %fr4,%fr5 - fcmp,sgl,!>= %fr4,%fr5 - fcmp,sgl,!?> %fr4,%fr5 - fcmp,sgl,<= %fr4,%fr5 - fcmp,sgl,?<= %fr4,%fr5 - fcmp,sgl,!> %fr4,%fr5 - fcmp,sgl,!?<= %fr4,%fr5 - fcmp,sgl,> %fr4,%fr5 - fcmp,sgl,?> %fr4,%fr5 - fcmp,sgl,!<= %fr4,%fr5 - fcmp,sgl,!?< %fr4,%fr5 - fcmp,sgl,>= %fr4,%fr5 - fcmp,sgl,?>= %fr4,%fr5 - fcmp,sgl,!< %fr4,%fr5 - fcmp,sgl,!?= %fr4,%fr5 - fcmp,sgl,<> %fr4,%fr5 - fcmp,sgl,!= %fr4,%fr5 - fcmp,sgl,!=T %fr4,%fr5 - fcmp,sgl,!? %fr4,%fr5 - fcmp,sgl,<=> %fr4,%fr5 - fcmp,sgl,true? %fr4,%fr5 - fcmp,sgl,true %fr4,%fr5 - -fcmp_dbl_tests - fcmp,dbl,false? %fr4,%fr5 - fcmp,dbl,false %fr4,%fr5 - fcmp,dbl,? %fr4,%fr5 - fcmp,dbl,!<=> %fr4,%fr5 - fcmp,dbl,= %fr4,%fr5 - fcmp,dbl,=T %fr4,%fr5 - fcmp,dbl,?= %fr4,%fr5 - fcmp,dbl,!<> %fr4,%fr5 - fcmp,dbl,!?>= %fr4,%fr5 - fcmp,dbl,< %fr4,%fr5 - fcmp,dbl,?< %fr4,%fr5 - fcmp,dbl,!>= %fr4,%fr5 - fcmp,dbl,!?> %fr4,%fr5 - fcmp,dbl,<= %fr4,%fr5 - fcmp,dbl,?<= %fr4,%fr5 - fcmp,dbl,!> %fr4,%fr5 - fcmp,dbl,!?<= %fr4,%fr5 - fcmp,dbl,> %fr4,%fr5 - fcmp,dbl,?> %fr4,%fr5 - fcmp,dbl,!<= %fr4,%fr5 - fcmp,dbl,!?< %fr4,%fr5 - fcmp,dbl,>= %fr4,%fr5 - fcmp,dbl,?>= %fr4,%fr5 - fcmp,dbl,!< %fr4,%fr5 - fcmp,dbl,!?= %fr4,%fr5 - fcmp,dbl,<> %fr4,%fr5 - fcmp,dbl,!= %fr4,%fr5 - fcmp,dbl,!=T %fr4,%fr5 - fcmp,dbl,!? %fr4,%fr5 - fcmp,dbl,<=> %fr4,%fr5 - fcmp,dbl,true? %fr4,%fr5 - fcmp,dbl,true %fr4,%fr5 - -fcmp_quad_tests - fcmp,quad,false? %fr4,%fr5 - fcmp,quad,false %fr4,%fr5 - fcmp,quad,? %fr4,%fr5 - fcmp,quad,!<=> %fr4,%fr5 - fcmp,quad,= %fr4,%fr5 - fcmp,quad,=T %fr4,%fr5 - fcmp,quad,?= %fr4,%fr5 - fcmp,quad,!<> %fr4,%fr5 - fcmp,quad,!?>= %fr4,%fr5 - fcmp,quad,< %fr4,%fr5 - fcmp,quad,?< %fr4,%fr5 - fcmp,quad,!>= %fr4,%fr5 - fcmp,quad,!?> %fr4,%fr5 - fcmp,quad,<= %fr4,%fr5 - fcmp,quad,?<= %fr4,%fr5 - fcmp,quad,!> %fr4,%fr5 - fcmp,quad,!?<= %fr4,%fr5 - fcmp,quad,> %fr4,%fr5 - fcmp,quad,?> %fr4,%fr5 - fcmp,quad,!<= %fr4,%fr5 - fcmp,quad,!?< %fr4,%fr5 - fcmp,quad,>= %fr4,%fr5 - fcmp,quad,?>= %fr4,%fr5 - fcmp,quad,!< %fr4,%fr5 - fcmp,quad,!?= %fr4,%fr5 - fcmp,quad,<> %fr4,%fr5 - fcmp,quad,!= %fr4,%fr5 - fcmp,quad,!=T %fr4,%fr5 - fcmp,quad,!? %fr4,%fr5 - fcmp,quad,<=> %fr4,%fr5 - fcmp,quad,true? %fr4,%fr5 - fcmp,quad,true %fr4,%fr5 - -fmpy_addsub_tests - fmpyadd,sgl %fr16,%fr17,%fr18,%fr19,%fr20 - fmpyadd,dbl %fr16,%fr17,%fr18,%fr19,%fr20 - fmpysub,sgl %fr16,%fr17,%fr18,%fr19,%fr20 - fmpysub,dbl %fr16,%fr17,%fr18,%fr19,%fr20 - -xmpyu_tests - xmpyu %fr4,%fr5,%fr6 - -special_tests - gfw %r4(%sr0,%r5) - gfw,m %r4(%sr0,%r5) - gfr %r4(%sr0,%r5) - gfr,m %r4(%sr0,%r5) - -sfu_tests - spop0,4,5 - spop0,4,115 - spop0,4,5,n - spop0,4,115,n - spop1,4,5 5 - spop1,4,115 5 - spop1,4,5,n 5 - spop1,4,115,n 5 - spop2,4,5 5 - spop2,4,115 5 - spop2,4,5,n 5 - spop2,4,115,n 5 - spop3,4,5 5,6 - spop3,4,115 5,6 - spop3,4,5,n 5,6 - spop3,4,115,n 5,6 - -copr_tests - copr,4,5 - copr,4,115 - copr,4,5,n - copr,4,115,n - -copr_indexing_load - cldwx,4 5(0,4),26 - cldwx,4,s 5(0,4),26 - cldwx,4,m 5(0,4),26 - cldwx,4,sm 5(0,4),26 - clddx,4 5(0,4),26 - clddx,4,s 5(0,4),26 - clddx,4,m 5(0,4),26 - clddx,4,sm 5(0,4),26 - -copr_indexing_store - cstwx,4 26,5(0,4) - cstwx,4,s 26,5(0,4) - cstwx,4,m 26,5(0,4) - cstwx,4,sm 26,5(0,4) - cstdx,4 26,5(0,4) - cstdx,4,s 26,5(0,4) - cstdx,4,m 26,5(0,4) - cstdx,4,sm 26,5(0,4) - -copr_short_memory - cldws,4 0(0,4),26 - cldws,4,mb 0(0,4),26 - cldws,4,ma 0(0,4),26 - cldds,4 0(0,4),26 - cldds,4,mb 0(0,4),26 - cldds,4,ma 0(0,4),26 - cstws,4 26,0(0,4) - cstws,4,mb 26,0(0,4) - cstws,4,ma 26,0(0,4) - cstds,4 26,0(0,4) - cstds,4,mb 26,0(0,4) - cstds,4,ma 26,0(0,4) - - ldw 0(0,%r4),%r26 - ldw 0(0,%r4),%r26 - ldo 64(%r4),%r30 - ldwm -64(0,%r30),%r4 - bv,n 0(%r2) - .EXIT - .PROCEND diff --git a/gdb/testsuite/gdb.disasm/mn10200.exp b/gdb/testsuite/gdb.disasm/mn10200.exp deleted file mode 100644 index f9e71df30ab..00000000000 --- a/gdb/testsuite/gdb.disasm/mn10200.exp +++ /dev/null @@ -1,478 +0,0 @@ - -# Copyright (C) 1997 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - -# Please email any bugs, comments, and/or additions to this file to: -# bug-gdb@prep.ai.mit.edu - -# This file was written by Jeff Law. (law@cygnus.com) - -if $tracelevel then { - strace $tracelevel -} - -if ![istarget "mn10200*-*-*"] { - verbose "Tests ignored for all but mn10200 based targets." - return -} - -global exec_output -set prms_id 0 -set bug_id 0 - -set testfile "mn10200" -set srcfile ${srcdir}/${subdir}/${testfile}.s -set binfile ${objdir}/${subdir}/${testfile} -if { [gdb_compile "${srcfile}" "${binfile}" executable ""] != "" } { - gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail." -} - -proc add_tests { } { - global gdb_prompt - global hex - global decimal - - send_gdb "x/12i add_tests\n" - gdb_expect { - -re " -.*add d1,d2.* -.*add d2,a3.* -.*add a2,d1.* -.*add a3,a2.* -.*add 16,d1.* -.*add 256,d2.* -.*add 131071,d3.* -.*add 16,a1.* -.*add 256,a2.* -.*add 131071,a3.* -.*addc d1,d2.* -.*addnf 16,a2.* -.*$gdb_prompt $" { pass "add tests" } - -re "$gdb_prompt $" { fail "add tests" } - timeout { fail "(timeout) add tests" } - } -} - -proc bcc_tests { } { - global gdb_prompt - global hex - global decimal - - send_gdb "x/15i bCC_tests\n" - gdb_expect { - -re " -.*beq 0x\[0-9a-f]+ <bCC_tests>.* -.*bne 0x\[0-9a-f]+ <bCC_tests>.* -.*bgt 0x\[0-9a-f]+ <bCC_tests>.* -.*bge 0x\[0-9a-f]+ <bCC_tests>.* -.*ble 0x\[0-9a-f]+ <bCC_tests>.* -.*blt 0x\[0-9a-f]+ <bCC_tests>.* -.*bhi 0x\[0-9a-f]+ <bCC_tests>.* -.*bcc 0x\[0-9a-f]+ <bCC_tests>.* -.*bls 0x\[0-9a-f]+ <bCC_tests>.* -.*bcs 0x\[0-9a-f]+ <bCC_tests>.* -.*bvc 0x\[0-9a-f]+ <bCC_tests>.* -.*bvs 0x\[0-9a-f]+ <bCC_tests>.* -.*bnc 0x\[0-9a-f]+ <bCC_tests>.* -.*bns 0x\[0-9a-f]+ <bCC_tests>.* -.*bra 0x\[0-9a-f]+ <bCC_tests>.* -.*$gdb_prompt $" { pass "bCC tests" } - -re "$gdb_prompt $" { fail "bCC tests" } - timeout { fail "(timeout) bCC tests" } - } -} - -proc bccx_tests { } { - global gdb_prompt - global hex - global decimal - - send_gdb "x/14i bCCx_tests\n" - gdb_expect { - -re " -.*beqx 0x\[0-9a-f]+ <bCCx_tests>.* -.*bnex 0x\[0-9a-f]+ <bCCx_tests>.* -.*bgtx 0x\[0-9a-f]+ <bCCx_tests>.* -.*bgex 0x\[0-9a-f]+ <bCCx_tests>.* -.*blex 0x\[0-9a-f]+ <bCCx_tests>.* -.*bltx 0x\[0-9a-f]+ <bCCx_tests>.* -.*bhix 0x\[0-9a-f]+ <bCCx_tests>.* -.*bccx 0x\[0-9a-f]+ <bCCx_tests>.* -.*blsx 0x\[0-9a-f]+ <bCCx_tests>.* -.*bcsx 0x\[0-9a-f]+ <bCCx_tests>.* -.*bvcx 0x\[0-9a-f]+ <bCCx_tests>.* -.*bvsx 0x\[0-9a-f]+ <bCCx_tests>.* -.*bncx 0x\[0-9a-f]+ <bCCx_tests>.* -.*bnsx 0x\[0-9a-f]+ <bCCx_tests>.* -.*$gdb_prompt $" { pass "bCCx tests" } - -re "$gdb_prompt $" { fail "bCCx tests" } - timeout { fail "(timeout) bCCx tests" } - } -} - -proc bit_tests { } { - global gdb_prompt - global hex - global decimal - - send_gdb "x/4 bit_tests\n" - gdb_expect { - -re " -.*btst 64,d1.* -.*btst 8192,d2.* -.*bset d1,\\(a2\\).* -.*bclr d1,\\(a2\\).* -.*$gdb_prompt $" { pass "bit tests" } - -re "$gdb_prompt $" { fail "bit tests" } - timeout { fail "(timeout) bit tests" } - } -} - -proc cmp_tests { } { - global gdb_prompt - global hex - global decimal - - send_gdb "x/9i cmp_tests\n" - gdb_expect { - -re " -.*cmp d1,d2.* -.*cmp d2,a3.* -.*cmp a3,d3.* -.*cmp a3,a2.* -.*cmp 16,d3.* -.*cmp 256,d2.* -.*cmp 131071,d1.* -.*cmp 256,a2.* -.*cmp 131071,a1.* -.*$gdb_prompt $" { pass "cmp tests" } - -re "$gdb_prompt $" { fail "cmp tests" } - timeout { fail "(timeout) cmp tests" } - } -} - -proc extend_tests { } { - global gdb_prompt - global hex - global decimal - - send_gdb "x/5i extend_tests\n" - gdb_expect { - -re " -.*ext d1.* -.*extx d2.* -.*extxu d3.* -.*extxb d2.* -.*extxbu d1.* -.*$gdb_prompt $" { pass "extend tests" } - -re "$gdb_prompt $" { fail "extend tests" } - timeout { fail "(timeout) extend tests" } - } -} - -proc logical_tests { } { - global gdb_prompt - global hex - global decimal - - send_gdb "x/11i logical_tests\n" - gdb_expect { - -re " -.*and d1,d2.* -.*and 127,d2.* -.*and 32767,d3.* -.*and 32767,psw.* -.*or d1,d2.* -.*or 127,d2.* -.*or 32767,d3.* -.*or 32767,psw.* -.*xor d1,d2.* -.*xor 32767,d3.* -.*not d3.* -.*$gdb_prompt $" { pass "logical tests" } - -re "$gdb_prompt $" { fail "logical tests" } - timeout { fail "(timeout) logical tests" } - } -} - -proc mov_tests_1 { } { - global gdb_prompt - global hex - global decimal - - send_gdb "x/12i mov_tests_1\n" - gdb_expect { - -re " -.*mov d1,a2.* -.*mov a2,d1.* -.*mov d1,d2.* -.*mov a2,a1.* -.*mov psw,d3.* -.*mov d2,psw.* -.*mov mdr,d1.* -.*mov d2,mdr.* -.*mov \\(a2\\),d1.* -.*mov \\(8,a2\\),d1.* -.*mov \\(256,a2\\),d1.* -.*mov \\(131071,a2\\),d1.* -.*$gdb_prompt $" { pass "mov1 tests" } - -re "$gdb_prompt $" { fail "mov1 tests" } - timeout { fail "(timeout) mov1 tests" } - } -} - -proc mov_tests_2 { } { - global gdb_prompt - global hex - global decimal - - send_gdb "x/9 mov_tests_2\n" - gdb_expect { - -re " -.*mov \\(d1,a1\\),d2.* -.*mov \\(0x8000.*\\),d1.* -.*mov \\(0x1ffff.*\\),d1.* -.*mov \\(8,a2\\),a1.* -.*mov \\(256,a2\\),a1.* -.*mov \\(131071,a2\\),a1.* -.*mov \\(d1,a1\\),a2.* -.*mov \\(0x8000.*\\),a1.* -.*mov \\(0x1ffff.*\\),a1.* -.*$gdb_prompt $" { pass "mov2 tests" } - -re "$gdb_prompt $" { fail "mov2 tests" } - timeout { fail "(timeout) mov2 tests" } - } -} - -proc mov_tests_3 { } { - global gdb_prompt - global hex - global decimal - - send_gdb "x/10 mov_tests_3\n" - gdb_expect { - -re " -.*mov d1,\\(a2\\).* -.*mov d1,\\(32,a2\\).* -.*mov d1,\\(256,a2\\).* -.*mov d1,\\(131071,a2\\).* -.*mov d1,\\(d2,a2\\).* -.*mov d1,\\(0x80.*\\).* -.*mov d1,\\(0x1ffff.*\\).* -.*mov a1,\\(32,a2\\).* -.*mov a1,\\(256,a2\\).* -.*mov a1,\\(131071,a2\\).* -.*$gdb_prompt $" { pass "mov3 tests" } - -re "$gdb_prompt $" { fail "mov3 tests" } - timeout { fail "(timeout) mov3 tests" } - } -} - -proc mov_tests_4 { } { - global gdb_prompt - global hex - global decimal - - send_gdb "x/8 mov_tests_4\n" - gdb_expect { - -re " -.*mov a1,\\(d2,a2\\).* -.*mov a1,\\(0x80.*\\).* -.*mov a1,\\(0x1ffff.*\\).* -.*mov 8,d1.* -.*mov 256,d1.* -.*mov 131071,d1.* -.*mov 256,a1.* -.*mov 131071,a1.* -.*$gdb_prompt $" { pass "mov4 tests" } - -re "$gdb_prompt $" { fail "mov4 tests" } - timeout { fail "(timeout) mov4 tests" } - } -} - -proc movb_tests { } { - global gdb_prompt - global hex - global decimal - - send_gdb "x/12 movb_tests\n" - gdb_expect { - -re " -.*movb \\(8,a2\\),d1.* -.*movb \\(256,a2\\),d1.* -.*movb \\(131071,a2\\),d1.* -.*movb \\(d2,a2\\),d3.* -.*movb \\(0x1ffff.*\\),d2.* -.*movb d1,\\(a2\\).* -.*movb d1,\\(8,a2\\).* -.*movb d1,\\(256,a2\\).* -.*movb d1,\\(131071,a2\\).* -.*movb d1,\\(d2,a2\\).* -.*movb d1,\\(0x100.*\\).* -.*movb d1,\\(0x1ffff.*\\).* -.*$gdb_prompt $" { pass "movb tests" } - -re "$gdb_prompt $" { fail "movb tests" } - timeout { fail "(timeout) movb tests" } - } -} - -proc movbu_tests { } { - global gdb_prompt - global hex - global decimal - - send_gdb "x/7 movbu_tests\n" - gdb_expect { - -re " -.*movbu \\(a2\\),d1.* -.*movbu \\(8,a2\\),d1.* -.*movbu \\(256,a2\\),d1.* -.*movbu \\(131071,a2\\),d1.* -.*movbu \\(d1,a1\\),d2.* -.*movbu \\(0x8000.*\\),d1.* -.*movbu \\(0x1ffff.*\\),d1.* -.*$gdb_prompt $" { pass "movbu tests" } - -re "$gdb_prompt $" { fail "movbu tests" } - timeout { fail "(timeout) movbu tests" } - } -} - -proc movx_tests { } { - global gdb_prompt - global hex - global decimal - - send_gdb "x/6 movx_tests\n" - gdb_expect { - -re " -.*movx \\(8,a2\\),d1.* -.*movx \\(256,a2\\),d1.* -.*movx \\(131071,a2\\),d1.* -.*movx d1,\\(8,a2\\).* -.*movx d1,\\(256,a2\\).* -.*movx d1,\\(131071,a2\\).* -.*$gdb_prompt $" { pass "movx tests" } - -re "$gdb_prompt $" { fail "movx tests" } - timeout { fail "(timeout) movx tests" } - } -} - -proc muldiv_tests { } { - global gdb_prompt - global hex - global decimal - - send_gdb "x/3 muldiv_tests\n" - gdb_expect { - -re " -.*mul d1,d2.* -.*mulu d2,d3.* -.*divu d3,d2.* -.*$gdb_prompt $" { pass "muldiv tests" } - -re "$gdb_prompt $" { fail "muldiv tests" } - timeout { fail "(timeout) muldiv tests" } - } -} - -proc misc_tests { } { - global gdb_prompt - global hex - global decimal - - send_gdb "x/9 misc_tests\n" - gdb_expect { - -re " -.*jmp 0x\[0-9a-f]+ <main>.* -.*jmp 0x\[0-9a-f]+ <start>.* -.*jmp \\(a2\\).* -.*jsr 0x\[0-9a-f]+ <main>.* -.*jsr 0x\[0-9a-f]+ <start>.* -.*jsr \\(a2\\).* -.*rts.* -.*rti.* -.*nop.* -.*$gdb_prompt $" { pass "misc tests" } - -re "$gdb_prompt $" { fail "misc tests" } - timeout { fail "(timeout) misc tests" } - } -} - -proc shift_tests { } { - global gdb_prompt - global hex - global decimal - - send_gdb "x/4i shift_tests\n" - gdb_expect { - -re " -.*asr d2.* -.*lsr d3.* -.*ror d1.* -.*rol d2.* -.*$gdb_prompt $" { pass "shift tests" } - -re "$gdb_prompt $" { fail "shift tests" } - timeout { fail "(timeout) shift tests" } - } -} - -proc sub_tests { } { - global gdb_prompt - global hex - global decimal - - send_gdb "x/9i sub_tests\n" - gdb_expect { - -re " -.*sub d1,d2.* -.*sub d2,a3.* -.*sub a3,d3.* -.*sub a3,a2.* -.*sub 32767,d2.* -.*sub 131071,d2.* -.*sub 32767,a2.* -.*sub 131071,a2.* -.*subc d1,d2.* -.*$gdb_prompt $" { pass "sub tests" } - -re "$gdb_prompt $" { fail "sub tests" } - timeout { fail "(timeout) sub tests" } - } -} - -# Start with a fresh gdb. - -gdb_exit -gdb_start -gdb_reinitialize_dir $srcdir/$subdir -gdb_load $binfile - -add_tests -bcc_tests -bccx_tests -bit_tests -cmp_tests -extend_tests -logical_tests -mov_tests_1 -mov_tests_2 -mov_tests_3 -mov_tests_4 -movb_tests -movbu_tests -movx_tests -muldiv_tests -misc_tests -shift_tests -sub_tests diff --git a/gdb/testsuite/gdb.disasm/mn10200.s b/gdb/testsuite/gdb.disasm/mn10200.s deleted file mode 100644 index cc3dba0e66b..00000000000 --- a/gdb/testsuite/gdb.disasm/mn10200.s +++ /dev/null @@ -1,215 +0,0 @@ - .text - .global _main - .global add_tests - .global bCC_tests - .global bCCx_tests - .global bit_tests - .global cmp_tests - .global extend_tests - .global logical_tests - .global mov_tests_1 - .global mov_tests_2 - .global mov_tests_3 - .global mov_tests_4 - .global movb_tests - .global movbu_tests - .global movx_tests - .global misc_tests - .global shift_tests - .global sub_tests - -_main: -add_tests: - add d1,d2 - add d2,a3 - add a2,d1 - add a3,a2 - add 16,d1 - add 256,d2 - add 131071,d3 - add 16,a1 - add 256,a2 - add 131071,a3 - addc d1,d2 - addnf 16,a2 - -bCC_tests: - beq bCC_tests - bne bCC_tests - bgt bCC_tests - bge bCC_tests - ble bCC_tests - blt bCC_tests - bhi bCC_tests - bcc bCC_tests - bls bCC_tests - bcs bCC_tests - bvc bCC_tests - bvs bCC_tests - bnc bCC_tests - bns bCC_tests - bra bCC_tests - -bCCx_tests: - beqx bCCx_tests - bnex bCCx_tests - bgtx bCCx_tests - bgex bCCx_tests - blex bCCx_tests - bltx bCCx_tests - bhix bCCx_tests - bccx bCCx_tests - blsx bCCx_tests - bcsx bCCx_tests - bvcx bCCx_tests - bvsx bCCx_tests - bncx bCCx_tests - bnsx bCCx_tests - -bit_tests: - btst 64,d1 - btst 8192,d2 - bset d1,(a2) - bclr d1,(a2) - -cmp_tests: - cmp d1,d2 - cmp d2,a3 - cmp a3,d3 - cmp a3,a2 - cmp 16,d3 - cmp 256,d2 - cmp 131071,d1 - cmp 256,a2 - cmp 131071,a1 - -extend_tests: - ext d1 - extx d2 - extxu d3 - extxb d2 - extxbu d1 - -logical_tests: - and d1,d2 - and 127,d2 - and 32767,d3 - and 32767,psw - or d1,d2 - or 127,d2 - or 32767,d3 - or 32767,psw - xor d1,d2 - xor 32767,d3 - not d3 - -mov_tests_1: - mov d1,a2 - mov a2,d1 - mov d1,d2 - mov a2,a1 - mov psw,d3 - mov d2,psw - mov mdr,d1 - mov d2,mdr - mov (a2),d1 - mov (8,a2),d1 - mov (256,a2),d1 - mov (131071,a2),d1 - -mov_tests_2: - mov (d1,a1),d2 - mov (32768),d1 - mov (131071),d1 - mov (8,a2),a1 - mov (256,a2),a1 - mov (131071,a2),a1 - mov (d1,a1),a2 - mov (32768),a1 - mov (131071),a1 - -mov_tests_3: - mov d1,(a2) - mov d1,(32,a2) - mov d1,(256,a2) - mov d1,(131071,a2) - mov d1,(d2,a2) - mov d1,(128) - mov d1,(131071) - mov a1,(32,a2) - mov a1,(256,a2) - mov a1,(131071,a2) - -mov_tests_4: - mov a1,(d2,a2) - mov a1,(128) - mov a1,(131071) - mov 8,d1 - mov 256,d1 - mov 131071,d1 - mov 256,a1 - mov 131071,a1 - -movb_tests: - movb (8,a2),d1 - movb (256,a2),d1 - movb (131071,a2),d1 - movb (d2,a2),d3 - movb (131071),d2 - movb d1,(a2) - movb d1,(8,a2) - movb d1,(256,a2) - movb d1,(131071,a2) - movb d1,(d2,a2) - movb d1,(256) - movb d1,(131071) - -movbu_tests: - movbu (a2),d1 - movbu (8,a2),d1 - movbu (256,a2),d1 - movbu (131071,a2),d1 - movbu (d1,a1),d2 - movbu (32768),d1 - movbu (131071),d1 - -movx_tests: - movx (8,a2),d1 - movx (256,a2),d1 - movx (131071,a2),d1 - movx d1,(8,a2) - movx d1,(256,a2) - movx d1,(131071,a2) - -muldiv_tests: - mul d1,d2 - mulu d2,d3 - divu d3,d2 - -misc_tests: - jmp _main - jmp _start - jmp (a2) - jsr misc_tests - jsr misc_tests - jsr (a2) - rts - rti - nop - -shift_tests: - asr d2 - lsr d3 - ror d1 - rol d2 - -sub_tests: - sub d1,d2 - sub d2,a3 - sub a3,d3 - sub a3,a2 - sub 32767,d2 - sub 131071,d2 - sub 32767,a2 - sub 131071,a2 - subc d1,d2 diff --git a/gdb/testsuite/gdb.disasm/sh3.exp b/gdb/testsuite/gdb.disasm/sh3.exp deleted file mode 100644 index 52f86f334ab..00000000000 --- a/gdb/testsuite/gdb.disasm/sh3.exp +++ /dev/null @@ -1,124 +0,0 @@ -# Copyright (C) 1992 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ - -# Please email any bugs, comments, and/or additions to this file to: -# bug-gdb@prep.ai.mit.edu - -# This file was written by Jeff Law. (law@cs.utah.edu) - -if $tracelevel then { - strace $tracelevel -} - -if ![istarget "sh3*-*-*"] { - verbose "Tests ignored for all but sh3 based targets." - return -} - -set prms_id 0 -set bug_id 0 - -set testfile "sh3" -set srcfile ${srcdir}/${subdir}/${testfile}.s -set binfile ${objdir}/${subdir}/${testfile} -if { [gdb_compile "${srcfile}" "${binfile}" executable ""] != "" } { - perror "Couldn't link ${binfile}" - return -1 -} - -proc all_fp_move_and_load_tests { } { - global prompt - global hex - global decimal - - send_gdb "x/9i fp_move_and_load_tests\n" - expect { - -re " -.*fmov.s\t@r0,fr0.* -.*fmov.s\tfr0,@r0.* -.*fmov.s\t@r0\\+,fr0.* -.*fmov.s\tfr0,@-r0.* -.*fmov.s\t@\\(r0,r0\\),fr0.* -.*fmov.s\tfr0,@\\(r0,r0\\).* -.*fmov\tfr0,fr1.* -.*fldi0\tfr0.* -.*fldi1\tfr0.* -.*$prompt $" { pass "fp_move_and_load_tests" } - -re "$prompt $" { fail "fp_move_and_load_tests" } - timeout { fail "(timeout) fp_move_and_load_tests" } - } -} - -proc all_fp_arithmetic_tests { } { - global prompt - global hex - global decimal - - send_gdb "x/13i fp_arithmetic_tests\n" - expect { - -re " -.*fadd\tfr0,fr1.* -.*fsub\tfr0,fr1.* -.*fmul\tfr0,fr1.* -.*fdiv\tfr0,fr1.* -.*fmac\tfr0,fr0,fr1.* -.*fcmp/eq\tfr0,fr1.* -.*fcmp/gt\tfr0,fr1.* -.*ftst/nan\tfr0.* -.*fneg\tfr0.* -.*fabs\tfr0.* -.*fsqrt\tfr0.* -.*float\tfpul,fr0.* -.*ftrc\tfr0,fpul.* -.*$prompt $" { pass "fp_arithmetic_tests" } - -re "$prompt $" { fail "fp_arithmetic_tests" } - timeout { fail "(timeout) fp_arithmetic_tests" } - } -} - -proc all_fp_misc_tests { } { - global prompt - global hex - global decimal - - send_gdb "x/10i fp_misc_tests\n" - expect { - -re " -.*fsts\tfpul,fr0.* -.*flds\tfr0,fpul.* -.*lds\tr3,fpul.* -.*lds\\.l\t@r3\\+,fpul.* -.*lds\tr3,fpscr.* -.*lds\\.l\t@r3\\+,fpscr.* -.*sts\tfpul,r3.* -.*sts\\.l\tfpul,@-r3.* -.*sts\tfpscr,r3.* -.*sts\\.l\tfpscr,@-r3.* -.*$prompt $" { pass "fp_misc_tests" } - -re "$prompt $" { fail "fp_misc_tests" } - timeout { fail "(timeout) fp_misc_tests" } - } -} - -gdb_exit -gdb_start -gdb_reinitialize_dir $srcdir/$subdir -gdb_load $binfile - -all_fp_move_and_load_tests -all_fp_arithmetic_tests -all_fp_misc_tests - diff --git a/gdb/testsuite/gdb.disasm/sh3.s b/gdb/testsuite/gdb.disasm/sh3.s deleted file mode 100644 index 7b7a52e9165..00000000000 --- a/gdb/testsuite/gdb.disasm/sh3.s +++ /dev/null @@ -1,54 +0,0 @@ - .file "test.c" - .data - -! Hitachi SH cc1 (cygnus-2.7.1-950728) arguments: -O -fpeephole -! -ffunction-cse -freg-struct-return -fdelayed-branch -fcommon -fgnu-linker - -gcc2_compiled.: -___gnu_compiled_c: - .text - .align 2 - .global _fp_move_and_load_tests - .global _fp_arithmetic_tests - .global _fp_misc_tests - .global _main - -_main: -_fp_move_and_load_tests: - fmov.s @r0,fr0 - fmov.s fr0,@r0 - fmov.s @r0+,fr0 - fmov.s fr0,@-r0 - fmov.s @(r0,r0),fr0 - fmov.s fr0,@(r0,r0) - fmov fr0,fr1 - fldi0 fr0 - fldi1 fr0 - -_fp_arithmetic_tests: - fadd fr0,fr1 - fsub fr0,fr1 - fmul fr0,fr1 - fdiv fr0,fr1 - fmac fr0,fr1 - fcmp/eq fr0,fr1 - fcmp/gt fr0,fr1 - ftst/nan fr0 - fneg fr0 - fabs fr0 - fsqrt fr0 - float fpul,fr0 - ftrc fr0,fpul - -_fp_misc_tests: - fsts fpul,fr0 - flds fr0,fpul - lds r3,fpul - lds.l @r3+,fpul - lds r3,fpscr - lds.l @r3+,fpscr - sts fpul,r3 - sts.l fpul,@-r3 - sts fpscr,r3 - sts.l fpscr,@-r3 - diff --git a/gdb/testsuite/gdb.fortran/.Sanitize b/gdb/testsuite/gdb.fortran/.Sanitize deleted file mode 100644 index bd967a1a3eb..00000000000 --- a/gdb/testsuite/gdb.fortran/.Sanitize +++ /dev/null @@ -1,37 +0,0 @@ -# .Sanitize for gdb/testsuite/gdb.fortran. - -# Each directory to survive its way into a release will need a file -# like this one called "./.Sanitize". All keyword lines must exist, -# and must exist in the order specified by this file. Each directory -# in the tree will be processed, top down, in the following order. - -# Hash started lines like this one are comments and will be deleted -# before anything else is done. Blank lines will also be squashed -# out. - -# The lines between the "Do-first:" line and the "Things-to-keep:" -# line are executed as a /bin/sh shell script before anything else is -# done in this directory. - -Do-first: - -# All files listed between the "Things-to-keep:" line and the -# "Do-last:" line will be kept. All other files will be removed. -# Directories listed in this section will have their own Sanitize -# called. Directories not listed will be removed in their entirety -# with rm -rf. - -Things-to-keep: - -exprs.exp -types.exp - -Things-to-lose: - -# The lines between the "Do-last:" line and the end of the file -# are executed as a /bin/sh shell script after everything else is -# done. - -Do-last: - -# eof diff --git a/gdb/testsuite/gdb.fortran/exprs.exp b/gdb/testsuite/gdb.fortran/exprs.exp deleted file mode 100644 index 0392843341d..00000000000 --- a/gdb/testsuite/gdb.fortran/exprs.exp +++ /dev/null @@ -1,273 +0,0 @@ -# Copyright (C) 1994 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ - -# Please email any bugs, comments, and/or additions to this file to: -# bug-gdb@prep.ai.mit.edu - -# This file was adapted from Chill tests by Stan Shebs (shebs@cygnus.com). - -if $tracelevel then { - strace $tracelevel -} - -set prms_id 0 -set bug_id 0 - -# Set the current language to fortran. This counts as a test. If it -# fails, then we skip the other tests. - -proc set_lang_fortran {} { - global prompt - - if [gdb_test "set language fortran" ""] { - return 0; - } - - if ![gdb_test "show language" ".* source language is \"fortran\".*"] { - return 1; - } else { - return 0; - } -} - -proc test_integer_literals_accepted {} { - global prompt - - # Test various decimal values. - - gdb_test "p 123" " = 123" - gdb_test "p -123" " = -123" -} - -proc test_character_literals_accepted {} { - global prompt - - # Test various character values. - - gdb_test "p 'a'" " = 'a'" -} - -proc test_integer_literals_rejected {} { - global prompt - - test_print_reject "p _" -} - -proc test_logical_literals_accepted {} { - global prompt - - # Test the only possible values for a logical, TRUE and FALSE. - - gdb_test "p .TRUE." " = .TRUE." - gdb_test "p .FALSE." " = .FALSE." -} - -proc test_float_literals_accepted {} { - global prompt - - # Test various floating point formats - - gdb_test "p .44 .LT. .45" " = .TRUE." - gdb_test "p .44 .GT. .45" " = .FALSE." - gdb_test "p 0.44 .LT. 0.45" " = .TRUE." - gdb_test "p 0.44 .GT. 0.45" " = .FALSE." - gdb_test "p 44. .LT. 45." " = .TRUE." - gdb_test "p 44. .GT. 45." " = .FALSE." - gdb_test "p 44.0 .LT. 45.0" " = .TRUE." - gdb_test "p 44.0 .GT. 45.0" " = .FALSE." - gdb_test "p 10D20 .LT. 10D21" " = .TRUE." - gdb_test "p 10D20 .GT. 10D21" " = .FALSE." - gdb_test "p 10d20 .LT. 10d21" " = .TRUE." - gdb_test "p 10d20 .GT. 10d21" " = .FALSE." - gdb_test "p 10E20 .LT. 10E21" " = .TRUE." - gdb_test "p 10E20 .GT. 10E21" " = .FALSE." - gdb_test "p 10e20 .LT. 10e21" " = .TRUE." - gdb_test "p 10e20 .GT. 10e21" " = .FALSE." - gdb_test "p 10.D20 .LT. 10.D21" " = .TRUE." - gdb_test "p 10.D20 .GT. 10.D21" " = .FALSE." - gdb_test "p 10.d20 .LT. 10.d21" " = .TRUE." - gdb_test "p 10.d20 .GT. 10.d21" " = .FALSE." - gdb_test "p 10.E20 .LT. 10.E21" " = .TRUE." - gdb_test "p 10.E20 .GT. 10.E21" " = .FALSE." - gdb_test "p 10.e20 .LT. 10.e21" " = .TRUE." - gdb_test "p 10.e20 .GT. 10.e21" " = .FALSE." - gdb_test "p 10.0D20 .LT. 10.0D21" " = .TRUE." - gdb_test "p 10.0D20 .GT. 10.0D21" " = .FALSE." - gdb_test "p 10.0d20 .LT. 10.0d21" " = .TRUE." - gdb_test "p 10.0d20 .GT. 10.0d21" " = .FALSE." - gdb_test "p 10.0E20 .LT. 10.0E21" " = .TRUE." - gdb_test "p 10.0E20 .GT. 10.0E21" " = .FALSE." - gdb_test "p 10.0e20 .LT. 10.0e21" " = .TRUE." - gdb_test "p 10.0e20 .GT. 10.0e21" " = .FALSE." - gdb_test "p 10.0D+20 .LT. 10.0D+21" " = .TRUE." - gdb_test "p 10.0D+20 .GT. 10.0D+21" " = .FALSE." - gdb_test "p 10.0d+20 .LT. 10.0d+21" " = .TRUE." - gdb_test "p 10.0d+20 .GT. 10.0d+21" " = .FALSE." - gdb_test "p 10.0E+20 .LT. 10.0E+21" " = .TRUE." - gdb_test "p 10.0E+20 .GT. 10.0E+21" " = .FALSE." - gdb_test "p 10.0e+20 .LT. 10.0e+21" " = .TRUE." - gdb_test "p 10.0e+20 .GT. 10.0e+21" " = .FALSE." - gdb_test "p 10.0D-11 .LT. 10.0D-10" " = .TRUE." - gdb_test "p 10.0D-11 .GT. 10.0D-10" " = .FALSE." - gdb_test "p 10.0d-11 .LT. 10.0d-10" " = .TRUE." - gdb_test "p 10.0d-11 .GT. 10.0d-10" " = .FALSE." - gdb_test "p 10.0E-11 .LT. 10.0E-10" " = .TRUE." - gdb_test "p 10.0E-11 .GT. 10.0E-10" " = .FALSE." - gdb_test "p 10.0e-11 .LT. 10.0e-10" " = .TRUE." - gdb_test "p 10.0e-11 .GT. 10.0e-10" " = .FALSE." -} - -proc test_convenience_variables {} { - global prompt - - gdb_test "set \$foo = 101" " = 101\[\r\n\]*" \ - "Set a new convenience variable" - - gdb_test "print \$foo" " = 101" \ - "Print contents of new convenience variable" - - gdb_test "set \$foo = 301" " = 301\[\r\n\]*" \ - "Set convenience variable to a new value" - - gdb_test "print \$foo" " = 301" \ - "Print new contents of convenience variable" - - gdb_test "set \$_ = 11" " = 11\[\r\n\]*" \ - "Set convenience variable \$_" - - gdb_test "print \$_" " = 11" \ - "Print contents of convenience variable \$_" - - gdb_test "print \$foo + 10" " = 311" \ - "Use convenience variable in arithmetic expression" - - gdb_test "print (\$foo = 32) + 4" " = 36" \ - "Use convenience variable assignment in arithmetic expression" - - gdb_test "print \$bar" " = VOID" \ - "Print contents of uninitialized convenience variable" -} - -proc test_value_history {} { - global prompt - - gdb_test "print 101" "\\\$1 = 101" \ - "Set value-history\[1\] using \$1" - - gdb_test "print 102" "\\\$2 = 102" \ - "Set value-history\[2\] using \$2" - - gdb_test "print 103" "\\\$3 = 103" \ - "Set value-history\[3\] using \$3" - - gdb_test "print \$\$" "\\\$4 = 102" \ - "Print value-history\[MAX-1\] using inplicit index \$\$" - - gdb_test "print \$\$" "\\\$5 = 103" \ - "Print value-history\[MAX-1\] again using implicit index \$\$" - - gdb_test "print \$" "\\\$6 = 103" \ - "Print value-history\[MAX\] using implicit index \$" - - gdb_test "print \$\$2" "\\\$7 = 102" \ - "Print value-history\[MAX-2\] using explicit index \$\$2" - - gdb_test "print \$0" "\\\$8 = 102" \ - "Print value-history\[MAX\] using explicit index \$0" - - gdb_test "print 108" "\\\$9 = 108" "" - - gdb_test "print \$\$0" "\\\$10 = 108" \ - "Print value-history\[MAX\] using explicit index \$\$0" - - gdb_test "print \$1" "\\\$11 = 101" \ - "Print value-history\[1\] using explicit index \$1" - - gdb_test "print \$2" "\\\$12 = 102" \ - "Print value-history\[2\] using explicit index \$2" - - gdb_test "print \$3" "\\\$13 = 103" \ - "Print value-history\[3\] using explicit index \$3" - - gdb_test "print \$-3" "\\\$14 = 100" \ - "Print (value-history\[MAX\] - 3) using implicit index \$" - - gdb_test "print \$1 + 3" "\\\$15 = 104" \ - "Use value-history element in arithmetic expression" -} - -proc test_arithmetic_expressions {} { - global prompt - - # Test unary minus with various operands - -# gdb_test "p -(TRUE)" " = -1" "unary minus applied to bool" -# gdb_test "p -('a')" " = xxx" "unary minus applied to char" - gdb_test "p -(1)" " = -1" "unary minus applied to int" - gdb_test "p -(1.0)" " = -1" "unary minus applied to real" - - # Test addition with various operands - - gdb_test "p .TRUE. + 1" " = 2" "bool plus int" - gdb_test "p 1 + 1" " = 2" "int plus int" - gdb_test "p 1.0 + 1" " = 2" "real plus int" - gdb_test "p 1.0 + 2.0" " = 3" "real plus real" - - # Test subtraction with various operands - - gdb_test "p .TRUE. - 1" " = 0" "bool minus int" - gdb_test "p 3 - 1" " = 2" "int minus int" - gdb_test "p 3.0 - 1" " = 2" "real minus int" - gdb_test "p 5.0 - 2.0" " = 3" "real minus real" - - # Test multiplication with various operands - - gdb_test "p .TRUE. * 1" " = 1" "bool times int" - gdb_test "p 2 * 3" " = 6" "int times int" - gdb_test "p 2.0 * 3" " = 6" "real times int" - gdb_test "p 2.0 * 3.0" " = 6" "real times real" - - # Test division with various operands - - gdb_test "p .TRUE. / 1" " = 1" "bool divided by int" - gdb_test "p 6 / 3" " = 2" "int divided by int" - gdb_test "p 6.0 / 3" " = 2" "real divided by int" - gdb_test "p 6.0 / 3.0" " = 2" "real divided by real" - - # Test modulo with various operands - -} - -# Start with a fresh gdb. - -gdb_exit -gdb_start -gdb_reinitialize_dir $srcdir/$subdir - -gdb_test "set print sevenbit-strings" "" - -if [set_lang_fortran] then { - test_value_history - test_convenience_variables - test_integer_literals_accepted - test_integer_literals_rejected - test_logical_literals_accepted - test_character_literals_accepted - test_float_literals_accepted - test_arithmetic_expressions -} else { - warning "$test_name tests suppressed." 0 -} diff --git a/gdb/testsuite/gdb.fortran/types.exp b/gdb/testsuite/gdb.fortran/types.exp deleted file mode 100644 index 4c71b8013b7..00000000000 --- a/gdb/testsuite/gdb.fortran/types.exp +++ /dev/null @@ -1,110 +0,0 @@ -# Copyright (C) 1994 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ - -# Please email any bugs, comments, and/or additions to this file to: -# bug-gdb@prep.ai.mit.edu - -# This file was adapted from Chill tests by Stan Shebs (shebs@cygnus.com). - -if $tracelevel then { - strace $tracelevel -} - -set prms_id 0 -set bug_id 0 - -# Set the current language to fortran. This counts as a test. If it -# fails, then we skip the other tests. - -proc set_lang_fortran {} { - global gdb_prompt - - if [gdb_test "set language fortran" ""] { - return 0; - } - - if ![gdb_test "show language" ".* source language is \"fortran\".*"] { - return 1; - } else { - return 0; - } -} - -proc test_integer_literal_types_accepted {} { - global gdb_prompt - - # Test various decimal values. - - gdb_test "pt 123" "type = int" # Should be integer*4 probably -} - -proc test_character_literal_types_accepted {} { - global gdb_prompt - - # Test various character values. - - gdb_test "pt 'a'" "type = character\\*1" -} - -proc test_integer_literal_types_rejected {} { - global gdb_prompt - - test_print_reject "pt _" -} - -proc test_logical_literal_types_accepted {} { - global gdb_prompt - - # Test the only possible values for a logical, TRUE and FALSE. - - gdb_test "pt .TRUE." "type = logical\\*2" - gdb_test "pt .FALSE." "type = logical\\*2" -} - -proc test_float_literal_types_accepted {} { - global gdb_prompt - - # Test various floating point formats - - gdb_test "pt .44" "type = real\\*8" - gdb_test "pt 44.0" "type = real\\*8" - gdb_test "pt 10D20" "type = real\\*8" - gdb_test "pt 10D20" "type = real\\*8" - gdb_test "pt 10d20" "type = real\\*8" - gdb_test "pt 10d20" "type = real\\*8" - gdb_test "pt 10E20" "type = real\\*8" - gdb_test "pt 10E20" "type = real\\*8" - gdb_test "pt 10e20" "type = real\\*8" - gdb_test "pt 10e20" "type = real\\*8" -} - -# Start with a fresh gdb. - -gdb_exit -gdb_start -gdb_reinitialize_dir $srcdir/$subdir - -gdb_test "set print sevenbit-strings" "" - -if [set_lang_fortran] then { - test_integer_literal_types_accepted - test_integer_literal_types_rejected - test_logical_literal_types_accepted - test_character_literal_types_accepted - test_float_literal_types_accepted -} else { - warning "$test_name tests suppressed." 0 -} diff --git a/gdb/testsuite/gdb.gdbtk/.Sanitize b/gdb/testsuite/gdb.gdbtk/.Sanitize deleted file mode 100644 index 659c54bacb9..00000000000 --- a/gdb/testsuite/gdb.gdbtk/.Sanitize +++ /dev/null @@ -1,58 +0,0 @@ -# .Sanitize for devo/gdb/testsuite/gdb.gdbtk. - -# Each directory to survive its way into a release will need a file -# like this one called "./.Sanitize". All keyword lines must exist, -# and must exist in the order specified by this file. Each directory -# in the tree will be processed, top down, in the following order. - -# Hash started lines like this one are comments and will be deleted -# before anything else is done. Blank lines will also be squashed -# out. - -# The lines between the "Do-first:" line and the "Things-to-keep:" -# line are executed as a /bin/sh shell script before anything else is -# done in this directory. - -Do-first: - -# All files listed between the "Things-to-keep:" line and the -# "Do-last:" line will be kept. All other files will be removed. -# Directories listed in this section will have their own Sanitize -# called. Directories not listed will be removed in their entirety -# with rm -rf. - -Things-to-keep: - -ChangeLog-gdbtk -Makefile.in -browser.exp -browser.test -c_variable.c -c_variable.exp -c_variable.test -configure.in -configure -console.exp -console.test -cpp_variable.cc -cpp_variable.exp -cpp_variable.h -cpp_variable.test -defs -simple.c -srcwin.exp -srcwin.test -srcwin2.test -srcwin3.test -stack1.c -stack2.c - -Things-to-lose: - -# The lines between the "Do-last:" line and the end of the file -# are executed as a /bin/sh shell script after everything else is -# done. - -Do-last: - -# eof diff --git a/gdb/testsuite/gdb.gdbtk/ChangeLog-gdbtk b/gdb/testsuite/gdb.gdbtk/ChangeLog-gdbtk deleted file mode 100644 index 7460c148119..00000000000 --- a/gdb/testsuite/gdb.gdbtk/ChangeLog-gdbtk +++ /dev/null @@ -1,40 +0,0 @@ -1999-02-03 Martin Hunt <hunt@cygnus.com> - - * console.test (clear_command_line): Add tests 1.5 - 1.8, - which test the new Shift-Up and Shift-Down bindings. - -1999-02-01 Martin Hunt <hunt@cygnus.com> - - * srcwin.test (srcwin-4.3): Fix bp test. - -1999-01-29 Martin Hunt <hunt@cygnus.com> - - * 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". - -1999-01-29 Martin Hunt <hunt@cygnus.com> - - * srcwin.exp: Add srcwin2.test, which are basically the same - tests as srcwin.test, but run with a missing source file. - - * srcwin2.test: New file. - - * srcwin.test: Add tests for setting breakpoints in the source window, - testing BP balloons, variable balloons, and mixed-mode disassembly - of include files. - - -Local Variables: -mode: change-log -left-margin: 8 -fill-column: 74 -version-control: never -End: -
\ No newline at end of file diff --git a/gdb/testsuite/gdb.gdbtk/Makefile.in b/gdb/testsuite/gdb.gdbtk/Makefile.in deleted file mode 100644 index 0af485a476b..00000000000 --- a/gdb/testsuite/gdb.gdbtk/Makefile.in +++ /dev/null @@ -1,33 +0,0 @@ -VPATH = @srcdir@ -srcdir = @srcdir@ - -EXECUTABLES = simple - -# uuencoded format to avoid SCCS/RCS problems with binary files. -CROSS_EXECUTABLES = - -all: - @echo "Nothing to be done for all..." - -info: -install-info: -dvi: -install: -uninstall: force -installcheck: -check: - -clean mostlyclean: - -rm -f *~ *.o a.out xgdb *.x $(CROSS_EXECUTABLES) *.ci *.tmp - -rm -f core core.coremaker coremaker.core corefile $(EXECUTABLES) - -rm -f twice-tmp.c - -distclean maintainer-clean realclean: clean - -rm -f *~ core - -rm -f Makefile config.status config.log - -rm -f arch.inc - -rm -f *-init.exp - -rm -fr *.log summary detail *.plog *.sum *.psum site.* - -Makefile : $(srcdir)/Makefile.in $(srcdir)/configure.in - $(SHELL) ./config.status --recheck diff --git a/gdb/testsuite/gdb.gdbtk/browser.exp b/gdb/testsuite/gdb.gdbtk/browser.exp deleted file mode 100644 index 2ba2b049fc7..00000000000 --- a/gdb/testsuite/gdb.gdbtk/browser.exp +++ /dev/null @@ -1,44 +0,0 @@ -if {$tracelevel} { - strace $tracelevel -} - -# -# test console window -# -set prms_id 0 -set bug_id 0 - -set testfile "stack" -set binfile ${objdir}/${subdir}/${testfile} -set r [gdb_compile "${srcdir}/${subdir}/stack1.c ${srcdir}/${subdir}/stack2.c" "${binfile}" executable {debug}] -if { $r != "" } { - gdb_suppress_entire_file \ - "Testcase compile failed, so some tests in this file will automatically fail." -} - -# Start with a fresh gdbtk -gdb_exit -set results [gdbtk_start [file join $srcdir $subdir browser.test]] -set results [split $results \n] - -# Analyze results -foreach test $results { - set status [lindex $test 0] - set name [lindex $test 1] - set description [lindex $test 2] - set msg [lindex $test 3] - - switch $status { - pass { - pass "$description ($name)" - } - - fail { - fail "$description ($name)" - } - - error { - # We should do something with this... - } - } -}
\ No newline at end of file diff --git a/gdb/testsuite/gdb.gdbtk/browser.test b/gdb/testsuite/gdb.gdbtk/browser.test deleted file mode 100644 index b376d6867a7..00000000000 --- a/gdb/testsuite/gdb.gdbtk/browser.test +++ /dev/null @@ -1,657 +0,0 @@ -# Copyright (C) 1998 Cygnus Solutions -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - -# Please email any bugs, comments, and/or additions to this file to: -# bug-gdb@prep.ai.mit.edu - -# This file was written by Keith Seitz (keiths@cygnus.com) - -# Read in the standard defs file - -if {![gdbtk_read_defs]} { - break -} - -global objdir test_ran - -##### ##### -# # -# Helper functions for this module # -# # -##### ##### - -# Set the search expression -proc set_regexp {exp} { - global Regexp - - $Regexp delete 0 end - $Regexp insert 0 $exp -} - -# Do the search; attempts to filter out compiler noise -# like _DYNAMIC_ and __bss_start. -proc do_search {} { - global browser Funcs - - $browser search - set m [$Funcs get 0 end] - - # Bogus -- we could get things like _DYNAMIC, __bss_start, etc... - set matches {} - foreach a $m { - if {![regexp ^_.* $a]} { - lappend matches $a - } - } - return $matches -} - -# Set search on static functions only. -proc set_static_only {on} { - if {$on} { - pref set gdb/search/static 1 - } else { - pref set gdb/search/static 0 - } -} - -# Set search to use regular expressions. -proc set_use_regexp {on} { - if {$on} { - pref set gdb/search/use_regexp 1 - } else { - pref set gdb/search/use_regexp 0 - } -} - -##### ##### -# # -# BROWSER TESTS # -# # -##### ##### - -# Load the test executable -set file [file join $objdir stack] -gdb_cmd "file $file" - -# Open a browser -set browser [manage open browser] -set Files [$browser test_get FilesLB] -set Funcs [$browser test_get FuncsLB] -set Regexp [$browser test_get Regexp] - -# Test: browser-1.1 -# Desc: Check file listbox contents -gdbtk_test browser-1.1 {file listbox contents} { - $Files get 0 end -} {stack1.c stack2.c} - -# Test: browser-2.1 -# Desc: Check all files/all funcs -gdbtk_test browser-2.1 {all files/all funcs} { - set_regexp "" - do_search -} {extern_func1_1 extern_func1_10 extern_func1_11 extern_func1_12 extern_func1_13 extern_func1_14 extern_func1_15 extern_func1_2 extern_func1_3 extern_func1_4 extern_func1_5 extern_func1_6 extern_func1_7 extern_func1_8 extern_func1_9 func_1 func_10 func_11 func_12 func_13 func_14 func_15 func_2 func_3 func_4 func_5 func_6 func_7 func_8 func_9 main static_func_1 static_func_10 static_func_11 static_func_12 static_func_13 static_func_14 static_func_15 static_func_2 static_func_3 static_func_4 static_func_5 static_func_6 static_func_7 static_func_8 static_func_9} - -# Test: browser-2.2 -# Desc: Check all functions in stack1.c -gdbtk_test browser-2.2 {all functions in stack1.c} { - set_regexp "" - $Files selection set 0 - do_search -} {func_1 func_10 func_11 func_12 func_13 func_14 func_15 func_2 func_3 func_4 func_5 func_6 func_7 func_8 func_9 main static_func_1 static_func_10 static_func_11 static_func_12 static_func_13 static_func_14 static_func_15 static_func_2 static_func_3 static_func_4 static_func_5 static_func_6 static_func_7 static_func_8 static_func_9} -if {$test_ran} { - $Files selection clear 0 end -} - -# Test: browser-2.3 -# Desc: Check all functions in stack2.c -gdbtk_test browser-2.3 {all functions in stack2.c} { - set_regexp "" - $Files selection set 1 - do_search -} {extern_func1_1 extern_func1_10 extern_func1_11 extern_func1_12 extern_func1_13 extern_func1_14 extern_func1_15 extern_func1_2 extern_func1_3 extern_func1_4 extern_func1_5 extern_func1_6 extern_func1_7 extern_func1_8 extern_func1_9} -if {$test_ran} { - $Files selection clear 0 end -} - -# Test: browser-2.4 -# Desc: Check for all functions matching "func" -gdbtk_test browser-2.4 {all functions matching "func"} { - set_regexp func - do_search -} {func_1 func_10 func_11 func_12 func_13 func_14 func_15 func_2 func_3 func_4 func_5 func_6 func_7 func_8 func_9} - -# Test: browser-2.5 -# Desc: Check all functions matching "func" in stack1.c -gdbtk_test browser-2.5 {all functions matching "func" in stack1.c} { - set_regexp func - $Files selection set 0 - do_search -} {func_1 func_10 func_11 func_12 func_13 func_14 func_15 func_2 func_3 func_4 func_5 func_6 func_7 func_8 func_9} -if {$test_ran} { - $Files selection clear 0 end -} - -# Test: browser-2.6 -# Desc: Check all functions matching "funcs" in stack2.c -gdbtk_test browser-2.6 {all functions matching "func" in stack2.c} { - set_regexp func - $Files selection set 1 - do_search -} {} -if {$test_ran} { - $Files selection clear 0 end -} - -# Test: browser-2.7 -# Desc: Check all functions matching "foobar" -gdbtk_test browser-2.7 {all functions matching "foobar"} { - set_regexp foobar - do_search -} {} - -# Test: browser-2.8 -# Desc: Check all functions matching "foobar" in stack1.c -gdbtk_test browser-2.8 {functions matching "foobar" in stack1.c} { - set_regexp foobar - $Files selection set 0 - do_search -} {} -if {$test_ran} { - $Files selection clear 0 end -} - -# Test: browser-2.9 -# Desc: Check all functions matching "foobar" in stack2.c -gdbtk_test browser-2.9 {functions matching "foobar" in stack2.c} { - set_regexp foobar - $Files selection set 1 - do_search -} {} -if {$test_ran} { - $Files selection clear 0 end -} - -# Test: browser-2.10 -# Desc: Check all functions matching regexp "func" -gdbtk_test browser-2.10 {all functions matching regexp "func"} { - set_regexp func - set_use_regexp 1 - do_search -} {extern_func1_1 extern_func1_10 extern_func1_11 extern_func1_12 extern_func1_13 extern_func1_14 extern_func1_15 extern_func1_2 extern_func1_3 extern_func1_4 extern_func1_5 extern_func1_6 extern_func1_7 extern_func1_8 extern_func1_9 func_1 func_10 func_11 func_12 func_13 func_14 func_15 func_2 func_3 func_4 func_5 func_6 func_7 func_8 func_9 static_func_1 static_func_10 static_func_11 static_func_12 static_func_13 static_func_14 static_func_15 static_func_2 static_func_3 static_func_4 static_func_5 static_func_6 static_func_7 static_func_8 static_func_9} -if {$test_ran} { - set_use_regexp 0 -} - -# Test: browser-2.11 -# Desc: Check all functions matching regexp "func" in stack1.c -gdbtk_test browser-2.11 {all functions matching regexp "func" in stack1.c} { - set_regexp func - set_use_regexp 1 - $Files selection set 0 - do_search -} {func_1 func_10 func_11 func_12 func_13 func_14 func_15 func_2 func_3 func_4 func_5 func_6 func_7 func_8 func_9 static_func_1 static_func_10 static_func_11 static_func_12 static_func_13 static_func_14 static_func_15 static_func_2 static_func_3 static_func_4 static_func_5 static_func_6 static_func_7 static_func_8 static_func_9} -if {$test_ran} { - set_use_regexp 0 - $Files selection clear 0 end -} - -# Test: browser-2.12 -# Desc: Check all functions matching regexp "func" in stack2.c -gdbtk_test browser-2.12 {all functions matching regexp "func" in stack2.c} { - set_regexp func - set_use_regexp 1 - $Files selection set 1 - do_search -} {extern_func1_1 extern_func1_10 extern_func1_11 extern_func1_12 extern_func1_13 extern_func1_14 extern_func1_15 extern_func1_2 extern_func1_3 extern_func1_4 extern_func1_5 extern_func1_6 extern_func1_7 extern_func1_8 extern_func1_9} -if {$test_ran} { - set_use_regexp 0 - $Files selection clear 0 end -} - -# Test: browser-2.13 -# Desc: Check all functions matching regexp "\_1$" -gdbtk_test browser-2.13 {all functions matching regexp "\_1$"} { - set_regexp {\_1$} - set_use_regexp 1 - do_search -} {extern_func1_1 func_1 static_func_1} -if {$test_ran} { - set_use_regexp 0 -} - -# Test: browser-2.14 -# Desc: Check all functions matching regexp "\_1$" in stack1.c -gdbtk_test browser-2.14 {all functions matching regexp "\_1$" in stack1.c} { - set_regexp {\_1$} - set_use_regexp 1 - $Files selection set 0 - do_search -} {func_1 static_func_1} -if {$test_ran} { - $Files selection clear 0 end - set_use_regexp 0 -} - -# Test: browser-2.15 -# Desc: Check all functions matching regexp "\_1$" in stack2.c -gdbtk_test browser-2.15 {all functions matching regexp "\_1$" in stack2.c} { - set_regexp {\_1$} - set_use_regexp 1 - $Files selection set 1 - do_search -} {extern_func1_1} -if {$test_ran} { - $Files selection clear 0 end - set_use_regexp 0 -} - -# Test: browser-2.16 -# Desc: Check all functions matching regexp "foobar" -gdbtk_test browser-2.16 {all functions matching regexp "foobar"} { - set_regexp foobar - set_use_regexp 1 - do_search -} {} -if {$test_ran} { - set_use_regexp 0 -} - -# Test: browser-2.17 -# Desc: Check all functions matching regexp "foobar" in stack1.c -gdbtk_test browser-2.17 {all functions matching regexp "foobar" in stack1.c} { - set_regexp foobar - set_use_regexp 1 - $Files selection set 0 - do_search -} {} -if {$test_ran} { - set_use_regexp 0 - $Files selection clear 0 end -} - -# Test: browser-2.18 -# Desc: Check all functions matching regexp "foobar" -gdbtk_test browser-2.18 {all functions matching regexp "foobar"} { - set_regexp foobar - set_use_regexp 1 - $Files selection set 1 - do_search -} {} -if {$test_ran} { - set_use_regexp 0 - $Files selection clear 0 end -} - -# Test: browser-3.1 -# Desc: Check all static funcs -gdbtk_test browser-3.1 {all static funcs} { - set_static_only 1 - set_regexp "" - do_search -} {static_func_1 static_func_10 static_func_11 static_func_12 static_func_13 static_func_14 static_func_15 static_func_2 static_func_3 static_func_4 static_func_5 static_func_6 static_func_7 static_func_8 static_func_9} -if {$test_ran} { - set_static_only 0 -} - -# Test: browser-3.2 -# Desc: Check all static functions in stack1.c -gdbtk_test browser-3.2 {all static functions in stack1.c} { - set_regexp "" - $Files selection set 0 - set_static_only 1 - do_search -} {static_func_1 static_func_10 static_func_11 static_func_12 static_func_13 static_func_14 static_func_15 static_func_2 static_func_3 static_func_4 static_func_5 static_func_6 static_func_7 static_func_8 static_func_9} -if {$test_ran} { - $Files selection clear 0 end - set_static_only 0 -} - -# Test: browser-3.3 -# Desc: Check all static functions in stack2.c -gdbtk_test browser-3.3 {all static functions in stack2.c} { - set_regexp "" - set_static_only 1 - $Files selection set 1 - do_search -} {} -if {$test_ran} { - set_static_only 0 - $Files selection clear 0 end -} - -# Test: browser-3.4 -# Desc: Check for all static functions matching "func" -gdbtk_test browser-3.4 {all static functions matching "func"} { - set_regexp func - set_static_only 1 - do_search -} {} -if {$test_ran} { - set_static_only 0 -} - -# Test: browser-3.5 -# Desc: Check for all static functions matching "func" in stack1.c -gdbtk_test browser-3.5 {all static functions matching "func" in stack1.c} { - set_regexp func - set_static_only 1 - $Files selection set 0 - do_search -} {} -if {$test_ran} { - set_static_only 0 - $Files selection clear 0 end -} - -# Test: browser-3.6 -# Desc: Check all static functions matching "func" in stack2.c -gdbtk_test browser-3.6 {all static functions matching "func" in stack2.c} { - set_regexp func - set_static_only 1 - $Files selection set 1 - do_search -} {} -if {$test_ran} { - set_static_only 0 - $Files selection clear 0 end -} - -# Test: browser-3.7 -# Desc: Check all static functions matching "foobar" -gdbtk_test browser-3.7 {all static functions matching "foobar"} { - set_regexp foobar - set_static_only 1 - do_search -} {} -if {$test_ran} { - set_static_only 0 -} - -# Test: browser-3.8 -# Desc: Check all static functions matching "foobar" in stack1.c -gdbtk_test browser-3.8 {all static functions matching "foobar" in stack1.c} { - set_regexp foobar - set_static_only 1 - $Files selection set 0 - do_search -} {} -if {$test_ran} { - set_static_only 0 - $Files selection clear 0 end -} - -# Test: browser-3.9 -# Desc: Check all static functions matching "foobar" in stack2.c -gdbtk_test browser-3.9 {all static functions matching "foobar" stack2.c} { - set_regexp foobar - set_static_only 1 - $Files selection set 1 - do_search -} {} -if {$test_ran} { - set_static_only 0 - $Files selection clear 0 end -} - -# Test: browser-3.10 -# Desc: Check all static functions matching regexp "func" -gdbtk_test browser-3.10 {all static functions matching regexp "func"} { - set_regexp func - set_static_only 1 - set_use_regexp 1 - do_search -} {static_func_1 static_func_10 static_func_11 static_func_12 static_func_13 static_func_14 static_func_15 static_func_2 static_func_3 static_func_4 static_func_5 static_func_6 static_func_7 static_func_8 static_func_9} -if {$test_ran} { - set_use_regexp 0 - set_static_only 0 -} - -# Test: browser-3.11 -# Desc: Check all static functions matching regexp "func" in stack1.c -gdbtk_test browser-3.11 {all static functions matching regexp "func" in stack1.c} { - set_regexp func - set_static_only 1 - set_use_regexp 1 - $Files selection set 0 - do_search -} {static_func_1 static_func_10 static_func_11 static_func_12 static_func_13 static_func_14 static_func_15 static_func_2 static_func_3 static_func_4 static_func_5 static_func_6 static_func_7 static_func_8 static_func_9} -if {$test_ran} { - set_use_regexp 0 - set_static_only 0 - $Files selection clear 0 end -} - -# Test: browser-3.12 -# Desc: Check all static functions matching regexp "func" in stack2.c -gdbtk_test browser-3.12 {all static functions matching regexp "func" in stack2.c} { - set_regexp func - set_static_only 1 - set_use_regexp 1 - $Files selection set 1 - do_search -} {} -if {$test_ran} { - set_use_regexp 0 - set_static_only 0 - $Files selection clear 0 end -} - -# Test: browser-3.13 -# Desc: Check all static functions matching regexp "\_1$" -gdbtk_test browser-3.13 {all static functions matching regexp "\_1$"} { - set_regexp {\_1$} - set_static_only 1 - set_use_regexp 1 - do_search -} {static_func_1} -if {$test_ran} { - set_static_only 0 - set_use_regexp 0 -} - -# Test: browser-3.14 -# Desc: Check all static functions matching regexp "\_1$" in stack1.c -gdbtk_test browser-3.14 {all static functions matching regexp "\_1$" in stack1.c} { - set_regexp {\_1$} - set_static_only 1 - set_use_regexp 1 - $Files selection set 0 - do_search -} {static_func_1} -if {$test_ran} { - set_use_regexp 0 - set_static_only 0 - $Files selection clear 0 end -} - -# Test: browser-3.15 -# Desc: Check all static functions matching regexp "\_1$" in stack2.c -gdbtk_test browser-3.15 {all static functions matching regexp "\_1$" in stack2.c} { - set_regexp {\_1$} - set_static_only 1 - set_use_regexp 1 - $Files selection set 1 - do_search -} {} -if {$test_ran} { - set_use_regexp 0 - set_static_only 0 - $Files selection clear 0 end -} - -# Test: browser-3.16 -# Desc: Check all static functions matching regexp "foobar" -gdbtk_test browser-3.16 {all static functions matching regexp "foobar"} { - set_regexp foobar - set_use_regexp 1 - set_static_only 1 - do_search -} {} -if {$test_ran} { - set_static_only 0 - set_use_regexp 0 -} - -# Test: browser-3.17 -# Desc: Check all static functions matching regexp "foobar" in stack1.c -gdbtk_test browser-3.17 {all static functions matching regexp "foobar" in stack1.c} { - set_regexp foobar - set_use_regexp 1 - set_static_only 1 - $Files selection set 0 - do_search -} {} -if {$test_ran} { - set_static_only 0 - set_use_regexp 0 - $Files selection clear 0 end -} - -# Test: browser-3.18 -# Desc: Check all static functions matching regexp "foobar" in stack2.c -gdbtk_test browser-3.18 {all static functions matching regexp "foobar" in stack2.c} { - set_regexp foobar - set_static_only 1 - set_use_regexp 1 - $Files selection set 1 - do_search -} {} -if {$test_ran} { - set_static_only 0 - set_use_regexp 0 - $Files selection clear 0 end -} - -set select [$browser test_get Select] -# Test: browser-4.1 -# Desc: Check select button text initial -gdbtk_test browser-4.1 {select all files button initial text} { - $select cget -text -} {Select All} - -# Test: browser-4.2 -# Desc: Check select button function -gdbtk_test browser-4.2 {select button - select all} { - $select invoke - $Files curselection -} {0 1} -if {$test_ran} { - $Files selection clear 0 end - $select invoke -} - -# Test: browser-4.3 -# Desc: Check select button text -gdbtk_test browser-4.3 {select button text - select none} { - $select invoke - $select cget -text -} {Select None} -if {$test_ran} { - $select invoke -} - -# Test: browser-4.4 -# Desc: Check select button function -gdbtk_test browser-4.4 {select button - select none} { - $select invoke - $select invoke - $Files curselection -} {} - -# Test: browser-4.5 -# Desc: Check select button text -gdbtk_test browser-4.5 {select button text - flip} { - $select invoke - $select invoke - $select cget -text -} {Select All} - -# Test: browser-5.1 -# Desc: Toggle all bps on -gdbtk_test browser-5.1 {toggle_all_bp on} { - set_regexp {\_1$} - set_use_regexp 1 - do_search - $browser toggle_all_bp - - set_regexp .* - set funcs [do_search] - set bps {} - foreach f $funcs { - if {[bp_exists [gdb_loc $f]] != -1} { - lappend bps 1 - } else { - lappend bps 0 - } - } - set bps -} {1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0} -if {$test_ran} { - set_use_regexp 0 - for {set i 0} {$i < 20} {incr i} { - catch {gdb_cmd "delete $i"} - } -} - -# Test: browser-5.2 -# Desc: Toggle all bps off -gdbtk_test browser-5.2 {toggle_all_bp off} { - set_regexp {\_1$} - set_use_regexp 1 - do_search - $browser toggle_all_bp - - # Turn on bps - set_regexp .* - set funcs [do_search] - - # Turn off all static bps - set_regexp {\_1$} - set_static_only 1 - do_search - $browser toggle_all_bp - set bps {} - foreach f $funcs { - if {[bp_exists [gdb_loc $f]] != -1} { - lappend bps 1 - } else { - lappend bps 0 - } - } - set bps -} {1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0} -if {$test_ran} { - set_static_only 0 - set_use_regexp 0 - for {set i 0} {$i < 20} {incr i} { - catch {gdb_cmd "delete $i"} - } -} - -# Test: browser-6.1 -# Desc: Check that search expressions are saved -gdbtk_test browser-6.1 {save last search expression} { - set_regexp hello - do_search - pref get gdb/search/last_symbol -} {hello} - -# -# Exit -# -gdbtk_test_done diff --git a/gdb/testsuite/gdb.gdbtk/configure b/gdb/testsuite/gdb.gdbtk/configure deleted file mode 100644 index c65cbd9d2a5..00000000000 --- a/gdb/testsuite/gdb.gdbtk/configure +++ /dev/null @@ -1,900 +0,0 @@ -#! /bin/sh - -# Guess values for system-dependent variables and create Makefiles. -# Generated automatically using autoconf version 2.12.2 -# Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc. -# -# This configure script is free software; the Free Software Foundation -# gives unlimited permission to copy, distribute and modify it. - -# Defaults: -ac_help= -ac_default_prefix=/usr/local -# Any additions from configure.in: - -# Initialize some variables set by options. -# The variables have the same names as the options, with -# dashes changed to underlines. -build=NONE -cache_file=./config.cache -exec_prefix=NONE -host=NONE -no_create= -nonopt=NONE -no_recursion= -prefix=NONE -program_prefix=NONE -program_suffix=NONE -program_transform_name=s,x,x, -silent= -site= -srcdir= -target=NONE -verbose= -x_includes=NONE -x_libraries=NONE -bindir='${exec_prefix}/bin' -sbindir='${exec_prefix}/sbin' -libexecdir='${exec_prefix}/libexec' -datadir='${prefix}/share' -sysconfdir='${prefix}/etc' -sharedstatedir='${prefix}/com' -localstatedir='${prefix}/var' -libdir='${exec_prefix}/lib' -includedir='${prefix}/include' -oldincludedir='/usr/include' -infodir='${prefix}/info' -mandir='${prefix}/man' - -# Initialize some other variables. -subdirs= -MFLAGS= MAKEFLAGS= -SHELL=${CONFIG_SHELL-/bin/sh} -# Maximum number of lines to put in a shell here document. -ac_max_here_lines=12 - -ac_prev= -for ac_option -do - - # If the previous option needs an argument, assign it. - if test -n "$ac_prev"; then - eval "$ac_prev=\$ac_option" - ac_prev= - continue - fi - - case "$ac_option" in - -*=*) ac_optarg=`echo "$ac_option" | sed 's/[-_a-zA-Z0-9]*=//'` ;; - *) ac_optarg= ;; - esac - - # Accept the important Cygnus configure options, so we can diagnose typos. - - case "$ac_option" in - - -bindir | --bindir | --bindi | --bind | --bin | --bi) - ac_prev=bindir ;; - -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) - bindir="$ac_optarg" ;; - - -build | --build | --buil | --bui | --bu) - ac_prev=build ;; - -build=* | --build=* | --buil=* | --bui=* | --bu=*) - build="$ac_optarg" ;; - - -cache-file | --cache-file | --cache-fil | --cache-fi \ - | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) - ac_prev=cache_file ;; - -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ - | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) - cache_file="$ac_optarg" ;; - - -datadir | --datadir | --datadi | --datad | --data | --dat | --da) - ac_prev=datadir ;; - -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \ - | --da=*) - datadir="$ac_optarg" ;; - - -disable-* | --disable-*) - ac_feature=`echo $ac_option|sed -e 's/-*disable-//'` - # Reject names that are not valid shell variable names. - if test -n "`echo $ac_feature| sed 's/[-a-zA-Z0-9_]//g'`"; then - { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; } - fi - ac_feature=`echo $ac_feature| sed 's/-/_/g'` - eval "enable_${ac_feature}=no" ;; - - -enable-* | --enable-*) - ac_feature=`echo $ac_option|sed -e 's/-*enable-//' -e 's/=.*//'` - # Reject names that are not valid shell variable names. - if test -n "`echo $ac_feature| sed 's/[-_a-zA-Z0-9]//g'`"; then - { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; } - fi - ac_feature=`echo $ac_feature| sed 's/-/_/g'` - case "$ac_option" in - *=*) ;; - *) ac_optarg=yes ;; - esac - eval "enable_${ac_feature}='$ac_optarg'" ;; - - -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ - | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ - | --exec | --exe | --ex) - ac_prev=exec_prefix ;; - -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ - | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ - | --exec=* | --exe=* | --ex=*) - exec_prefix="$ac_optarg" ;; - - -gas | --gas | --ga | --g) - # Obsolete; use --with-gas. - with_gas=yes ;; - - -help | --help | --hel | --he) - # Omit some internal or obsolete options to make the list less imposing. - # This message is too long to be a string in the A/UX 3.1 sh. - cat << EOF -Usage: configure [options] [host] -Options: [defaults in brackets after descriptions] -Configuration: - --cache-file=FILE cache test results in FILE - --help print this message - --no-create do not create output files - --quiet, --silent do not print \`checking...' messages - --version print the version of autoconf that created configure -Directory and file names: - --prefix=PREFIX install architecture-independent files in PREFIX - [$ac_default_prefix] - --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX - [same as prefix] - --bindir=DIR user executables in DIR [EPREFIX/bin] - --sbindir=DIR system admin executables in DIR [EPREFIX/sbin] - --libexecdir=DIR program executables in DIR [EPREFIX/libexec] - --datadir=DIR read-only architecture-independent data in DIR - [PREFIX/share] - --sysconfdir=DIR read-only single-machine data in DIR [PREFIX/etc] - --sharedstatedir=DIR modifiable architecture-independent data in DIR - [PREFIX/com] - --localstatedir=DIR modifiable single-machine data in DIR [PREFIX/var] - --libdir=DIR object code libraries in DIR [EPREFIX/lib] - --includedir=DIR C header files in DIR [PREFIX/include] - --oldincludedir=DIR C header files for non-gcc in DIR [/usr/include] - --infodir=DIR info documentation in DIR [PREFIX/info] - --mandir=DIR man documentation in DIR [PREFIX/man] - --srcdir=DIR find the sources in DIR [configure dir or ..] - --program-prefix=PREFIX prepend PREFIX to installed program names - --program-suffix=SUFFIX append SUFFIX to installed program names - --program-transform-name=PROGRAM - run sed PROGRAM on installed program names -EOF - cat << EOF -Host type: - --build=BUILD configure for building on BUILD [BUILD=HOST] - --host=HOST configure for HOST [guessed] - --target=TARGET configure for TARGET [TARGET=HOST] -Features and packages: - --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) - --enable-FEATURE[=ARG] include FEATURE [ARG=yes] - --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] - --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) - --x-includes=DIR X include files are in DIR - --x-libraries=DIR X library files are in DIR -EOF - if test -n "$ac_help"; then - echo "--enable and --with options recognized:$ac_help" - fi - exit 0 ;; - - -host | --host | --hos | --ho) - ac_prev=host ;; - -host=* | --host=* | --hos=* | --ho=*) - host="$ac_optarg" ;; - - -includedir | --includedir | --includedi | --included | --include \ - | --includ | --inclu | --incl | --inc) - ac_prev=includedir ;; - -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ - | --includ=* | --inclu=* | --incl=* | --inc=*) - includedir="$ac_optarg" ;; - - -infodir | --infodir | --infodi | --infod | --info | --inf) - ac_prev=infodir ;; - -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) - infodir="$ac_optarg" ;; - - -libdir | --libdir | --libdi | --libd) - ac_prev=libdir ;; - -libdir=* | --libdir=* | --libdi=* | --libd=*) - libdir="$ac_optarg" ;; - - -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ - | --libexe | --libex | --libe) - ac_prev=libexecdir ;; - -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ - | --libexe=* | --libex=* | --libe=*) - libexecdir="$ac_optarg" ;; - - -localstatedir | --localstatedir | --localstatedi | --localstated \ - | --localstate | --localstat | --localsta | --localst \ - | --locals | --local | --loca | --loc | --lo) - ac_prev=localstatedir ;; - -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ - | --localstate=* | --localstat=* | --localsta=* | --localst=* \ - | --locals=* | --local=* | --loca=* | --loc=* | --lo=*) - localstatedir="$ac_optarg" ;; - - -mandir | --mandir | --mandi | --mand | --man | --ma | --m) - ac_prev=mandir ;; - -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) - mandir="$ac_optarg" ;; - - -nfp | --nfp | --nf) - # Obsolete; use --without-fp. - with_fp=no ;; - - -no-create | --no-create | --no-creat | --no-crea | --no-cre \ - | --no-cr | --no-c) - no_create=yes ;; - - -no-recursion | --no-recursion | --no-recursio | --no-recursi \ - | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) - no_recursion=yes ;; - - -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ - | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ - | --oldin | --oldi | --old | --ol | --o) - ac_prev=oldincludedir ;; - -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ - | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ - | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) - oldincludedir="$ac_optarg" ;; - - -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) - ac_prev=prefix ;; - -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) - prefix="$ac_optarg" ;; - - -program-prefix | --program-prefix | --program-prefi | --program-pref \ - | --program-pre | --program-pr | --program-p) - ac_prev=program_prefix ;; - -program-prefix=* | --program-prefix=* | --program-prefi=* \ - | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) - program_prefix="$ac_optarg" ;; - - -program-suffix | --program-suffix | --program-suffi | --program-suff \ - | --program-suf | --program-su | --program-s) - ac_prev=program_suffix ;; - -program-suffix=* | --program-suffix=* | --program-suffi=* \ - | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) - program_suffix="$ac_optarg" ;; - - -program-transform-name | --program-transform-name \ - | --program-transform-nam | --program-transform-na \ - | --program-transform-n | --program-transform- \ - | --program-transform | --program-transfor \ - | --program-transfo | --program-transf \ - | --program-trans | --program-tran \ - | --progr-tra | --program-tr | --program-t) - ac_prev=program_transform_name ;; - -program-transform-name=* | --program-transform-name=* \ - | --program-transform-nam=* | --program-transform-na=* \ - | --program-transform-n=* | --program-transform-=* \ - | --program-transform=* | --program-transfor=* \ - | --program-transfo=* | --program-transf=* \ - | --program-trans=* | --program-tran=* \ - | --progr-tra=* | --program-tr=* | --program-t=*) - program_transform_name="$ac_optarg" ;; - - -q | -quiet | --quiet | --quie | --qui | --qu | --q \ - | -silent | --silent | --silen | --sile | --sil) - silent=yes ;; - - -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) - ac_prev=sbindir ;; - -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ - | --sbi=* | --sb=*) - sbindir="$ac_optarg" ;; - - -sharedstatedir | --sharedstatedir | --sharedstatedi \ - | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ - | --sharedst | --shareds | --shared | --share | --shar \ - | --sha | --sh) - ac_prev=sharedstatedir ;; - -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ - | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ - | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ - | --sha=* | --sh=*) - sharedstatedir="$ac_optarg" ;; - - -site | --site | --sit) - ac_prev=site ;; - -site=* | --site=* | --sit=*) - site="$ac_optarg" ;; - - -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) - ac_prev=srcdir ;; - -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) - srcdir="$ac_optarg" ;; - - -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ - | --syscon | --sysco | --sysc | --sys | --sy) - ac_prev=sysconfdir ;; - -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ - | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) - sysconfdir="$ac_optarg" ;; - - -target | --target | --targe | --targ | --tar | --ta | --t) - ac_prev=target ;; - -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) - target="$ac_optarg" ;; - - -v | -verbose | --verbose | --verbos | --verbo | --verb) - verbose=yes ;; - - -version | --version | --versio | --versi | --vers) - echo "configure generated by autoconf version 2.12.2" - exit 0 ;; - - -with-* | --with-*) - ac_package=`echo $ac_option|sed -e 's/-*with-//' -e 's/=.*//'` - # Reject names that are not valid shell variable names. - if test -n "`echo $ac_package| sed 's/[-_a-zA-Z0-9]//g'`"; then - { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; } - fi - ac_package=`echo $ac_package| sed 's/-/_/g'` - case "$ac_option" in - *=*) ;; - *) ac_optarg=yes ;; - esac - eval "with_${ac_package}='$ac_optarg'" ;; - - -without-* | --without-*) - ac_package=`echo $ac_option|sed -e 's/-*without-//'` - # Reject names that are not valid shell variable names. - if test -n "`echo $ac_package| sed 's/[-a-zA-Z0-9_]//g'`"; then - { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; } - fi - ac_package=`echo $ac_package| sed 's/-/_/g'` - eval "with_${ac_package}=no" ;; - - --x) - # Obsolete; use --with-x. - with_x=yes ;; - - -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ - | --x-incl | --x-inc | --x-in | --x-i) - ac_prev=x_includes ;; - -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ - | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) - x_includes="$ac_optarg" ;; - - -x-libraries | --x-libraries | --x-librarie | --x-librari \ - | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) - ac_prev=x_libraries ;; - -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ - | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) - x_libraries="$ac_optarg" ;; - - -*) { echo "configure: error: $ac_option: invalid option; use --help to show usage" 1>&2; exit 1; } - ;; - - *) - if test -n "`echo $ac_option| sed 's/[-a-z0-9.]//g'`"; then - echo "configure: warning: $ac_option: invalid host type" 1>&2 - fi - if test "x$nonopt" != xNONE; then - { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; } - fi - nonopt="$ac_option" - ;; - - esac -done - -if test -n "$ac_prev"; then - { echo "configure: error: missing argument to --`echo $ac_prev | sed 's/_/-/g'`" 1>&2; exit 1; } -fi - -trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15 - -# File descriptor usage: -# 0 standard input -# 1 file creation -# 2 errors and warnings -# 3 some systems may open it to /dev/tty -# 4 used on the Kubota Titan -# 6 checking for... messages and results -# 5 compiler messages saved in config.log -if test "$silent" = yes; then - exec 6>/dev/null -else - exec 6>&1 -fi -exec 5>./config.log - -echo "\ -This file contains any messages produced by compilers while -running configure, to aid debugging if configure makes a mistake. -" 1>&5 - -# Strip out --no-create and --no-recursion so they do not pile up. -# Also quote any args containing shell metacharacters. -ac_configure_args= -for ac_arg -do - case "$ac_arg" in - -no-create | --no-create | --no-creat | --no-crea | --no-cre \ - | --no-cr | --no-c) ;; - -no-recursion | --no-recursion | --no-recursio | --no-recursi \ - | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) ;; - *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?]*) - ac_configure_args="$ac_configure_args '$ac_arg'" ;; - *) ac_configure_args="$ac_configure_args $ac_arg" ;; - esac -done - -# NLS nuisances. -# Only set these to C if already set. These must not be set unconditionally -# because not all systems understand e.g. LANG=C (notably SCO). -# Fixing LC_MESSAGES prevents Solaris sh from translating var values in `set'! -# Non-C LC_CTYPE values break the ctype check. -if test "${LANG+set}" = set; then LANG=C; export LANG; fi -if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi -if test "${LC_MESSAGES+set}" = set; then LC_MESSAGES=C; export LC_MESSAGES; fi -if test "${LC_CTYPE+set}" = set; then LC_CTYPE=C; export LC_CTYPE; fi - -# confdefs.h avoids OS command line length limits that DEFS can exceed. -rm -rf conftest* confdefs.h -# AIX cpp loses on an empty file, so make sure it contains at least a newline. -echo > confdefs.h - -# A filename unique to this package, relative to the directory that -# configure is in, which we can look for to find out if srcdir is correct. -ac_unique_file=defs - -# Find the source files, if location was not specified. -if test -z "$srcdir"; then - ac_srcdir_defaulted=yes - # Try the directory containing this script, then its parent. - ac_prog=$0 - ac_confdir=`echo $ac_prog|sed 's%/[^/][^/]*$%%'` - test "x$ac_confdir" = "x$ac_prog" && ac_confdir=. - srcdir=$ac_confdir - if test ! -r $srcdir/$ac_unique_file; then - srcdir=.. - fi -else - ac_srcdir_defaulted=no -fi -if test ! -r $srcdir/$ac_unique_file; then - if test "$ac_srcdir_defaulted" = yes; then - { echo "configure: error: can not find sources in $ac_confdir or .." 1>&2; exit 1; } - else - { echo "configure: error: can not find sources in $srcdir" 1>&2; exit 1; } - fi -fi -srcdir=`echo "${srcdir}" | sed 's%\([^/]\)/*$%\1%'` - -# Prefer explicitly selected file to automatically selected ones. -if test -z "$CONFIG_SITE"; then - if test "x$prefix" != xNONE; then - CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site" - else - CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site" - fi -fi -for ac_site_file in $CONFIG_SITE; do - if test -r "$ac_site_file"; then - echo "loading site script $ac_site_file" - . "$ac_site_file" - fi -done - -if test -r "$cache_file"; then - echo "loading cache $cache_file" - . $cache_file -else - echo "creating cache $cache_file" - > $cache_file -fi - -ac_ext=c -# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. -ac_cpp='$CPP $CPPFLAGS' -ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5' -ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5' -cross_compiling=$ac_cv_prog_cc_cross - -ac_exeext= -ac_objext=o -if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then - # Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu. - if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then - ac_n= ac_c=' -' ac_t=' ' - else - ac_n=-n ac_c= ac_t= - fi -else - ac_n= ac_c='\c' ac_t= -fi - - - -CC=${CC-cc} - -ac_aux_dir= -for ac_dir in `cd $srcdir;pwd`/../../.. $srcdir/`cd $srcdir;pwd`/../../..; do - if test -f $ac_dir/install-sh; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/install-sh -c" - break - elif test -f $ac_dir/install.sh; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/install.sh -c" - break - fi -done -if test -z "$ac_aux_dir"; then - { echo "configure: error: can not find install-sh or install.sh in `cd $srcdir;pwd`/../../.. $srcdir/`cd $srcdir;pwd`/../../.." 1>&2; exit 1; } -fi -ac_config_guess=$ac_aux_dir/config.guess -ac_config_sub=$ac_aux_dir/config.sub -ac_configure=$ac_aux_dir/configure # This should be Cygnus configure. - - -# Do some error checking and defaulting for the host and target type. -# The inputs are: -# configure --host=HOST --target=TARGET --build=BUILD NONOPT -# -# The rules are: -# 1. You are not allowed to specify --host, --target, and nonopt at the -# same time. -# 2. Host defaults to nonopt. -# 3. If nonopt is not specified, then host defaults to the current host, -# as determined by config.guess. -# 4. Target and build default to nonopt. -# 5. If nonopt is not specified, then target and build default to host. - -# The aliases save the names the user supplied, while $host etc. -# will get canonicalized. -case $host---$target---$nonopt in -NONE---*---* | *---NONE---* | *---*---NONE) ;; -*) { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; } ;; -esac - - -# Make sure we can run config.sub. -if ${CONFIG_SHELL-/bin/sh} $ac_config_sub sun4 >/dev/null 2>&1; then : -else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; } -fi - -echo $ac_n "checking host system type""... $ac_c" 1>&6 -echo "configure:575: checking host system type" >&5 - -host_alias=$host -case "$host_alias" in -NONE) - case $nonopt in - NONE) - if host_alias=`${CONFIG_SHELL-/bin/sh} $ac_config_guess`; then : - else { echo "configure: error: can not guess host type; you must specify one" 1>&2; exit 1; } - fi ;; - *) host_alias=$nonopt ;; - esac ;; -esac - -host=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $host_alias` -host_cpu=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` -host_vendor=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` -host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` -echo "$ac_t""$host" 1>&6 - -echo $ac_n "checking target system type""... $ac_c" 1>&6 -echo "configure:596: checking target system type" >&5 - -target_alias=$target -case "$target_alias" in -NONE) - case $nonopt in - NONE) target_alias=$host_alias ;; - *) target_alias=$nonopt ;; - esac ;; -esac - -target=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $target_alias` -target_cpu=`echo $target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` -target_vendor=`echo $target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` -target_os=`echo $target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` -echo "$ac_t""$target" 1>&6 - -echo $ac_n "checking build system type""... $ac_c" 1>&6 -echo "configure:614: checking build system type" >&5 - -build_alias=$build -case "$build_alias" in -NONE) - case $nonopt in - NONE) build_alias=$host_alias ;; - *) build_alias=$nonopt ;; - esac ;; -esac - -build=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $build_alias` -build_cpu=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` -build_vendor=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` -build_os=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` -echo "$ac_t""$build" 1>&6 - -test "$host_alias" != "$target_alias" && - test "$program_prefix$program_suffix$program_transform_name" = \ - NONENONEs,x,x, && - program_prefix=${target_alias}- - -trap '' 1 2 15 -cat > confcache <<\EOF -# This file is a shell script that caches the results of configure -# tests run on this system so they can be shared between configure -# scripts and configure runs. It is not useful on other systems. -# If it contains results you don't want to keep, you may remove or edit it. -# -# By default, configure uses ./config.cache as the cache file, -# creating it if it does not exist already. You can give configure -# the --cache-file=FILE option to use a different cache file; that is -# what configure does when it calls configure scripts in -# subdirectories, so they share the cache. -# Giving --cache-file=/dev/null disables caching, for debugging configure. -# config.status only pays attention to the cache file if you give it the -# --recheck option to rerun configure. -# -EOF -# The following way of writing the cache mishandles newlines in values, -# but we know of no workaround that is simple, portable, and efficient. -# So, don't put newlines in cache variables' values. -# Ultrix sh set writes to stderr and can't be redirected directly, -# and sets the high bit in the cache file unless we assign to the vars. -(set) 2>&1 | - case `(ac_space=' '; set) 2>&1 | grep ac_space` in - *ac_space=\ *) - # `set' does not quote correctly, so add quotes (double-quote substitution - # turns \\\\ into \\, and sed turns \\ into \). - sed -n \ - -e "s/'/'\\\\''/g" \ - -e "s/^\\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\\)=\\(.*\\)/\\1=\${\\1='\\2'}/p" - ;; - *) - # `set' quotes correctly as required by POSIX, so do not add quotes. - sed -n -e 's/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=${\1=\2}/p' - ;; - esac >> confcache -if cmp -s $cache_file confcache; then - : -else - if test -w $cache_file; then - echo "updating cache $cache_file" - cat confcache > $cache_file - else - echo "not updating unwritable cache $cache_file" - fi -fi -rm -f confcache - -trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15 - -test "x$prefix" = xNONE && prefix=$ac_default_prefix -# Let make expand exec_prefix. -test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' - -# Any assignment to VPATH causes Sun make to only execute -# the first set of double-colon rules, so remove it if not needed. -# If there is a colon in the path, we need to keep it. -if test "x$srcdir" = x.; then - ac_vpsub='/^[ ]*VPATH[ ]*=[^:]*$/d' -fi - -trap 'rm -f $CONFIG_STATUS conftest*; exit 1' 1 2 15 - -# Transform confdefs.h into DEFS. -# Protect against shell expansion while executing Makefile rules. -# Protect against Makefile macro expansion. -cat > conftest.defs <<\EOF -s%#define \([A-Za-z_][A-Za-z0-9_]*\) *\(.*\)%-D\1=\2%g -s%[ `~#$^&*(){}\\|;'"<>?]%\\&%g -s%\[%\\&%g -s%\]%\\&%g -s%\$%$$%g -EOF -DEFS=`sed -f conftest.defs confdefs.h | tr '\012' ' '` -rm -f conftest.defs - - -# Without the "./", some shells look in PATH for config.status. -: ${CONFIG_STATUS=./config.status} - -echo creating $CONFIG_STATUS -rm -f $CONFIG_STATUS -cat > $CONFIG_STATUS <<EOF -#! /bin/sh -# Generated automatically by configure. -# Run this file to recreate the current configuration. -# This directory was configured as follows, -# on host `(hostname || uname -n) 2>/dev/null | sed 1q`: -# -# $0 $ac_configure_args -# -# Compiler output produced by configure, useful for debugging -# configure, is in ./config.log if it exists. - -ac_cs_usage="Usage: $CONFIG_STATUS [--recheck] [--version] [--help]" -for ac_option -do - case "\$ac_option" in - -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) - echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion" - exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;; - -version | --version | --versio | --versi | --vers | --ver | --ve | --v) - echo "$CONFIG_STATUS generated by autoconf version 2.12.2" - exit 0 ;; - -help | --help | --hel | --he | --h) - echo "\$ac_cs_usage"; exit 0 ;; - *) echo "\$ac_cs_usage"; exit 1 ;; - esac -done - -ac_given_srcdir=$srcdir - -trap 'rm -fr `echo "Makefile" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15 -EOF -cat >> $CONFIG_STATUS <<EOF - -# Protect against being on the right side of a sed subst in config.status. -sed 's/%@/@@/; s/@%/@@/; s/%g\$/@g/; /@g\$/s/[\\\\&%]/\\\\&/g; - s/@@/%@/; s/@@/@%/; s/@g\$/%g/' > conftest.subs <<\\CEOF -$ac_vpsub -$extrasub -s%@SHELL@%$SHELL%g -s%@CFLAGS@%$CFLAGS%g -s%@CPPFLAGS@%$CPPFLAGS%g -s%@CXXFLAGS@%$CXXFLAGS%g -s%@DEFS@%$DEFS%g -s%@LDFLAGS@%$LDFLAGS%g -s%@LIBS@%$LIBS%g -s%@exec_prefix@%$exec_prefix%g -s%@prefix@%$prefix%g -s%@program_transform_name@%$program_transform_name%g -s%@bindir@%$bindir%g -s%@sbindir@%$sbindir%g -s%@libexecdir@%$libexecdir%g -s%@datadir@%$datadir%g -s%@sysconfdir@%$sysconfdir%g -s%@sharedstatedir@%$sharedstatedir%g -s%@localstatedir@%$localstatedir%g -s%@libdir@%$libdir%g -s%@includedir@%$includedir%g -s%@oldincludedir@%$oldincludedir%g -s%@infodir@%$infodir%g -s%@mandir@%$mandir%g -s%@CC@%$CC%g -s%@host@%$host%g -s%@host_alias@%$host_alias%g -s%@host_cpu@%$host_cpu%g -s%@host_vendor@%$host_vendor%g -s%@host_os@%$host_os%g -s%@target@%$target%g -s%@target_alias@%$target_alias%g -s%@target_cpu@%$target_cpu%g -s%@target_vendor@%$target_vendor%g -s%@target_os@%$target_os%g -s%@build@%$build%g -s%@build_alias@%$build_alias%g -s%@build_cpu@%$build_cpu%g -s%@build_vendor@%$build_vendor%g -s%@build_os@%$build_os%g - -CEOF -EOF - -cat >> $CONFIG_STATUS <<\EOF - -# Split the substitutions into bite-sized pieces for seds with -# small command number limits, like on Digital OSF/1 and HP-UX. -ac_max_sed_cmds=90 # Maximum number of lines to put in a sed script. -ac_file=1 # Number of current file. -ac_beg=1 # First line for current file. -ac_end=$ac_max_sed_cmds # Line after last line for current file. -ac_more_lines=: -ac_sed_cmds="" -while $ac_more_lines; do - if test $ac_beg -gt 1; then - sed "1,${ac_beg}d; ${ac_end}q" conftest.subs > conftest.s$ac_file - else - sed "${ac_end}q" conftest.subs > conftest.s$ac_file - fi - if test ! -s conftest.s$ac_file; then - ac_more_lines=false - rm -f conftest.s$ac_file - else - if test -z "$ac_sed_cmds"; then - ac_sed_cmds="sed -f conftest.s$ac_file" - else - ac_sed_cmds="$ac_sed_cmds | sed -f conftest.s$ac_file" - fi - ac_file=`expr $ac_file + 1` - ac_beg=$ac_end - ac_end=`expr $ac_end + $ac_max_sed_cmds` - fi -done -if test -z "$ac_sed_cmds"; then - ac_sed_cmds=cat -fi -EOF - -cat >> $CONFIG_STATUS <<EOF - -CONFIG_FILES=\${CONFIG_FILES-"Makefile"} -EOF -cat >> $CONFIG_STATUS <<\EOF -for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then - # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in". - case "$ac_file" in - *:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'` - ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;; - *) ac_file_in="${ac_file}.in" ;; - esac - - # Adjust a relative srcdir, top_srcdir, and INSTALL for subdirectories. - - # Remove last slash and all that follows it. Not all systems have dirname. - ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'` - if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then - # The file is in a subdirectory. - test ! -d "$ac_dir" && mkdir "$ac_dir" - ac_dir_suffix="/`echo $ac_dir|sed 's%^\./%%'`" - # A "../" for each directory in $ac_dir_suffix. - ac_dots=`echo $ac_dir_suffix|sed 's%/[^/]*%../%g'` - else - ac_dir_suffix= ac_dots= - fi - - case "$ac_given_srcdir" in - .) srcdir=. - if test -z "$ac_dots"; then top_srcdir=. - else top_srcdir=`echo $ac_dots|sed 's%/$%%'`; fi ;; - /*) srcdir="$ac_given_srcdir$ac_dir_suffix"; top_srcdir="$ac_given_srcdir" ;; - *) # Relative path. - srcdir="$ac_dots$ac_given_srcdir$ac_dir_suffix" - top_srcdir="$ac_dots$ac_given_srcdir" ;; - esac - - - echo creating "$ac_file" - rm -f "$ac_file" - configure_input="Generated automatically from `echo $ac_file_in|sed 's%.*/%%'` by configure." - case "$ac_file" in - *Makefile*) ac_comsub="1i\\ -# $configure_input" ;; - *) ac_comsub= ;; - esac - - ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"` - sed -e "$ac_comsub -s%@configure_input@%$configure_input%g -s%@srcdir@%$srcdir%g -s%@top_srcdir@%$top_srcdir%g -" $ac_file_inputs | (eval "$ac_sed_cmds") > $ac_file -fi; done -rm -f conftest.s* - -EOF -cat >> $CONFIG_STATUS <<EOF - -EOF -cat >> $CONFIG_STATUS <<\EOF - -exit 0 -EOF -chmod +x $CONFIG_STATUS -rm -fr confdefs* $ac_clean_files -test "$no_create" = yes || ${CONFIG_SHELL-/bin/sh} $CONFIG_STATUS || exit 1 - diff --git a/gdb/testsuite/gdb.gdbtk/configure.in b/gdb/testsuite/gdb.gdbtk/configure.in deleted file mode 100644 index 4c408e8c828..00000000000 --- a/gdb/testsuite/gdb.gdbtk/configure.in +++ /dev/null @@ -1,14 +0,0 @@ -dnl Process this file file with autoconf to produce a configure script. -dnl This file is a shell script fragment that supplies the information -dnl necessary to tailor a template configure script into the configure -dnl script appropriate for this directory. For more information, check -dnl any existing configure script. - -AC_PREREQ(2.5) -AC_INIT(defs) - -CC=${CC-cc} -AC_SUBST(CC) -AC_CONFIG_AUX_DIR(`cd $srcdir;pwd`/../../..) -AC_CANONICAL_SYSTEM -AC_OUTPUT(Makefile) diff --git a/gdb/testsuite/gdb.gdbtk/console.exp b/gdb/testsuite/gdb.gdbtk/console.exp deleted file mode 100644 index a3857fdb70a..00000000000 --- a/gdb/testsuite/gdb.gdbtk/console.exp +++ /dev/null @@ -1,45 +0,0 @@ -if {$tracelevel} { - strace $tracelevel -} - -# -# test console window -# -set prms_id 0 -set bug_id 0 - -set testfile "simple" -set srcfile ${testfile}.c -set binfile ${objdir}/${subdir}/${testfile} -set r [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug}] -if { $r != "" } { - gdb_suppress_entire_file \ - "Testcase compile failed, so some tests in this file will automatically fail." -} - -# Start with a fresh gdbtk -gdb_exit -set results [gdbtk_start [file join $srcdir $subdir console.test]] -set results [split $results \n] - -# Analyze results -foreach test $results { - set status [lindex $test 0] - set name [lindex $test 1] - set description [lindex $test 2] - set msg [lindex $test 3] - - switch $status { - pass { - pass "$description ($name)" - } - - fail { - fail "$description ($name)" - } - - error { - # We should do something with this... - } - } -}
\ No newline at end of file diff --git a/gdb/testsuite/gdb.gdbtk/console.test b/gdb/testsuite/gdb.gdbtk/console.test deleted file mode 100644 index 90c5f12f6a0..00000000000 --- a/gdb/testsuite/gdb.gdbtk/console.test +++ /dev/null @@ -1,418 +0,0 @@ -# Copyright (C) 1998 Cygnus Solutions -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - -# Please email any bugs, comments, and/or additions to this file to: -# bug-gdb@prep.ai.mit.edu - -# This file was written by Keith Seitz (keiths@cygnus.com) - -# Read in the standard defs file - -if {![gdbtk_read_defs]} { - break -} - -global objdir test_ran -global console text -set console [ManagedWin::open Console] -set text [$console get_text] - -##### ##### -# # -# Helper functions for this module # -# # -##### ##### - -# console_command -- -# Invoke STRING as a command in the console window and -# return the result -proc console_command {string} { - global console text - - # Save current position - set line [lindex [split [$text index cmdmark] .] 0] - incr line 1 - - # Insert and invoke command - $text insert end $string - $console invoke - update - - # Get the result - set end [lindex [split [$text index cmdmark] .] 0] - incr end -1 - return [$text get $line.0 [list $end.0 lineend]] -} - -# get_cmd_line -- -# Return the command line -proc get_cmd_line {} { - global text - - update - set index [$text index cmdmark] - return [$text get [list $index linestart] [list $index lineend]] -} - -# clear_command_line -- -# Clear the command line -proc clear_command_line {} { - global text - $text delete {cmdmark + 1 char} insert -} - -##### ##### -# # -# CONSOLE TESTS # -# # -##### ##### - -# -# Miscellaneous tests -# - -# Test: console-misc-1 -# Desc: Change console prompt -gdbtk_test console-misc-1 {change console prompt} { - # Insert the "set prompt" command into the text widget - console_command {set prompt (test) } - - $text get {cmdmark linestart} {cmdmark lineend} -} {(test) } -if {$test_ran} { - console_command {set prompt (gdb) } -} - -# -# Paste tests -# - -# Test: console-paste-1 -# Desc: Paste the X selection into console window -gdbtk_test console-paste-1 {paste X text} { - # This is cheesy, but it works... Create a text widget - # which holds the current selection... - text .test_text - .test_text insert end "this is some pasted text" - .test_text tag add sel 1.0 {1.0 lineend} - - event generate $text <<Paste>> - get_cmd_line -} {(gdb) this is some pasted text} -if {$test_ran} { - destroy .test_text - clear_command_line -} - -# -# Test for errors -# - -# Test: console-error-1 -# Desc: Check if console window reports internal gdb errors -gdbtk_test console-error-1 {invoke unknown command} { - console_command {this_command_doesn't_exist} -} {Error: Undefined command: "this". Try "help". -} - -# -# History tests -# - -# Test: console-history-1.1 -# Desc: Exercise the up-history functionality -gdbtk_test console-history-1.1 {up history once} { - # Add some commands into the command buffer - console_command {show annotate} - console_command {show complaints} - console_command {show confirm} - console_command {show height} - console_command {show language} - console_command {show print demangle} - console_command {show remotebaud} - console_command {show remotebreak} - console_command {show remotecache} - console_command {show remotedebug} - console_command {show remotedevice} - console_command {show remotelogbase} - console_command {help quit} - console_command {help si} - event generate $text <Up> - get_cmd_line -} {(gdb) help si} -if {$test_ran} { - clear_command_line -} - -# Test: console-history-1.2 -# Desc: Exercise the up-history functionality -gdbtk_test console-history-1.2 {up history twice} { - # Add some commands into the command buffer - console_command {show annotate} - console_command {show complaints} - console_command {show confirm} - console_command {show height} - console_command {show language} - console_command {show print demangle} - console_command {show remotebaud} - console_command {show remotebreak} - console_command {show remotecache} - console_command {show remotedebug} - console_command {show remotedevice} - console_command {show remotelogbase} - console_command {help quit} - console_command {help si} - event generate $text <Up> - event generate $text <Up> - get_cmd_line -} {(gdb) help quit} -if {$test_ran} { - clear_command_line -} - -# Test: console-history-1.3 -# Desc: Exercise the up-history functionality -gdbtk_test console-history-1.3 {up history four times} { - # Add some commands into the command buffer - console_command {show annotate} - console_command {show complaints} - console_command {show confirm} - console_command {show height} - console_command {show language} - console_command {show print demangle} - console_command {show remotebaud} - console_command {show remotebreak} - console_command {show remotecache} - console_command {show remotedebug} - console_command {show remotedevice} - console_command {show remotelogbase} - console_command {help quit} - console_command {help si} - - for {set i 0} {$i < 4} {incr i} { - event generate $text <Up> - } - get_cmd_line -} {(gdb) show remotedevice} -if {$test_ran} { - clear_command_line -} - -# Test: console-history-1.4 -# Desc: Exercise the up-history functionality -gdbtk_test console-history-1.4 {up fourteen times} { - # Add some commands into the command buffer - console_command {show annotate} - console_command {show complaints} - console_command {show confirm} - console_command {show height} - console_command {show language} - console_command {show print demangle} - console_command {show remotebaud} - console_command {show remotebreak} - console_command {show remotecache} - console_command {show remotedebug} - console_command {show remotedevice} - console_command {show remotelogbase} - console_command {help quit} - console_command {help si} - for {set i 0} {$i < 14} {incr i} { - event generate $text <Up> - } - get_cmd_line -} {(gdb) show annotate} -if {$test_ran} { - clear_command_line -} - -# Test: console-history-2.1 -# Desc: Exercise the down-history functionality -gdbtk_test console-history-2.1 {down once} { - # Add some commands into the command buffer - console_command {show annotate} - console_command {show complaints} - console_command {show confirm} - console_command {show height} - console_command {show language} - console_command {show print demangle} - console_command {show remotebaud} - console_command {show remotebreak} - console_command {show remotecache} - console_command {show remotedebug} - console_command {show remotedevice} - console_command {show remotelogbase} - console_command {help quit} - console_command {help si} - - for {set i 0} {$i < 14} {incr i} { - event generate $text <Up> - } - event generate $text <Down> - get_cmd_line -} {(gdb) show complaints} -if {$test_ran} { - clear_command_line -} - -# Test: console-history-2.2 -# Desc: Exercise the down-history functionality -gdbtk_test console-history-2.2 {down twice} { - # Add some commands into the command buffer - console_command {show annotate} - console_command {show complaints} - console_command {show confirm} - console_command {show height} - console_command {show language} - console_command {show print demangle} - console_command {show remotebaud} - console_command {show remotebreak} - console_command {show remotecache} - console_command {show remotedebug} - console_command {show remotedevice} - console_command {show remotelogbase} - console_command {help quit} - console_command {help si} - - for {set i 0} {$i < 14} {incr i} { - event generate $text <Up> - } - - event generate $text <Down> - event generate $text <Down> - get_cmd_line -} {(gdb) show confirm} -if {$test_ran} { - clear_command_line -} - -# Test: console-history-2.3 -# Desc: Exercise the down-history functionality -gdbtk_test console-history-2.3 {down four times} { - # Add some commands into the command buffer - console_command {show annotate} - console_command {show complaints} - console_command {show confirm} - console_command {show height} - console_command {show language} - console_command {show print demangle} - console_command {show remotebaud} - console_command {show remotebreak} - console_command {show remotecache} - console_command {show remotedebug} - console_command {show remotedevice} - console_command {show remotelogbase} - console_command {help quit} - console_command {help si} - - for {set i 0} {$i < 14} {incr i} { - event generate $text <Up> - } - - for {set i 0} {$i < 4} {incr i} { - event generate $text <Down> - } - get_cmd_line -} {(gdb) show language} -if {$test_ran} { - clear_command_line -} - -# Test: console-history-2.4 -# Desc: Exercise the down-history functionality -gdbtk_test console-history-2.4 {down infinitely} { - # Add some commands into the command buffer - console_command {show annotate} - console_command {show complaints} - console_command {show confirm} - console_command {show height} - console_command {show language} - console_command {show print demangle} - console_command {show remotebaud} - console_command {show remotebreak} - console_command {show remotecache} - console_command {show remotedebug} - console_command {show remotedevice} - console_command {show remotelogbase} - console_command {help quit} - console_command {help si} - for {set i 0} {$i < 14} {incr i} { - event generate $text <Up> - } - - for {set i 0} {$i < 20} {incr i} { - event generate $text <Down> - } - get_cmd_line -} {(gdb) } -if {$test_ran} { - clear_command_line -} - -# -# gdb - gdbtk Interface Tests -# - -# Test: console-interface-1.1 -# Desc: Verify that a "file" command in the console window causes -# gdb to invoke the pre-/post-add-symbol hooks -set file_loaded 0 -gdbtk_test console-interface-1.1 {file command goes through hooks} { - global TEST1_RESULT TEST2_RESULT - - # This is really ugly, but its the only way to do this... - rename gdbtk_tcl_pre_add_symbol pre_add - rename gdbtk_tcl_post_add_symbol post_add - - proc gdbtk_tcl_pre_add_symbol {file} { - global TEST1_RESULT - - set TEST1_RESULT $file - pre_add $file - } - proc gdbtk_tcl_post_add_symbol {} { - global TEST2_RESULT - - set TEST2_RESULT ok - post_add - } - - # load a file and make sure we went through the pre/post_add_symbol hooks - set TEST1_RESULT {} - set TEST2_RESULT {} - set file [file join $objdir simple] - console_command "file $file" - if {$TEST1_RESULT != $file} { - set result "did not go through gdbtk_tcl_pre_add_symbol ($TEST1_RESULT)" - } elseif {$TEST2_RESULT != "ok"} { - set result "did not go through gdbtk_tcl_post_add_symbol" - } else { - set result {} - set file_loaded 1 - } - - set result -} {} -if {$test_ran} { - rename gdbtk_tcl_pre_add_symbol {} - rename gdbtk_tcl_post_add_symbol {} - rename pre_add gdbtk_tcl_pre_add_symbol - rename post_add gdbtk_tcl_post_add_symbol -} - -# -# Exit -# -gdbtk_test_done diff --git a/gdb/testsuite/gdb.gdbtk/cpp_variable.h b/gdb/testsuite/gdb.gdbtk/cpp_variable.h deleted file mode 100644 index 7abda54d0a8..00000000000 --- a/gdb/testsuite/gdb.gdbtk/cpp_variable.h +++ /dev/null @@ -1,54 +0,0 @@ -struct _foo -{ - int a[10]; - char *p; -}; - -class VA -{ - public: - int va_pub_int; - char *va_pub_charp; - - private: - int va_priv_int; - char *va_priv_charp; - - protected: - struct _foo bar; -}; - -class VB -{ - public: - int vb_pub_int; - - int fvb_pub (); - virtual int vvb_pub (); - - private: - int vb_priv_int; - char *vb_priv_charp; -}; - -class VC : public VA -{ - public: - int vc_pub_int; - - int fvc (); - virtual int vfvc (); -}; - -class V : public VA, public VB, public VC -{ - public: - int f (); - virtual vv (); - int v_pub_int; - char *v_pub_charp; - - private: - int v_priv_int; - char *v_priv_charp; -}; diff --git a/gdb/testsuite/gdb.gdbtk/cpp_variable.test b/gdb/testsuite/gdb.gdbtk/cpp_variable.test deleted file mode 100644 index ac5fc9623f5..00000000000 --- a/gdb/testsuite/gdb.gdbtk/cpp_variable.test +++ /dev/null @@ -1,476 +0,0 @@ -# Copyright (C) 1998 Cygnus Solutions -# -# This Program Is Free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - -# Please email any bugs, comments, and/or additions to this file to: -# bug-gdb@prep.ai.mit.edu - -# This file was written by Keith Seitz (keiths@cygnus.com) - -# Read in the standard defs file -if {![gdbtk_read_defs]} { - break -} - -global objdir test_ran -global tcl_platform - -# Load in a file -if {$tcl_platform(platform) == "windows"} { - set program [file join $objdir cpp_variable.exe] -} else { - set program [file join $objdir cpp_variable] -} - -# This isn't a test case, since if this fails, we're hosed. -if {[catch {gdb_cmd "file $program"} t]} { - # an error occured loading the file - gdbtk_test_error "loading \"$program\": $t" -} - -# The variables that are created are stored in an array called "var". - -# proc to tell us which of the variables are changed/out of scope -proc check_valueChanged {} { - global var - - set changed {} - set unchanged {} - set out {} - foreach ind [array names var] { - set val [$var($ind) valueChanged] - if {$val == "VARIABLE_CHANGED"} { - lappend changed $ind - } elseif {$val == "VARIABLE_UNCHANGED"} { - lappend unchanged $ind - } elseif {$val == "VARIABLE_OUT_OF_SCOPE"} { - lappend out $ind - } else { - error "unknown result from valueChanged" - } - } - - return [list $changed $unchanged $out] -} - - -# proc to create a variable -proc create_variable {expr} { - global var - - set err [catch {gdb_variable create -expr $expr} v] - if {!$err} { - set var($expr) $v - } - - return $err -} - -# proc to get the children -# Children are stored in the global "var" as -# PARENT.child. So for struct _foo {int a; int b} bar;, -# the children returned are {a b} and var(bar.a) and var(bar.b) -# map the actual objects to their names. -proc get_children {parent} { - global var - - set kiddies [$var($parent) children] - set children {} - foreach child $kiddies { - set name [lindex [split $child .] end] - lappend children $name - set var($parent.$name) $child - } - - return $children -} - -proc delete_variable {varname} { - global var - - if {[info exists var($varname)]} { - # This has to be caught, since deleting a parent - # will erase all children. - $var($varname) delete - set vars [array names var $varname*] - foreach v $vars { - if {[info exists var($v)]} { - unset var($v) - } - } - } -} - -# Compare the values of variable V in format FMT -# with gdb's value. -proc value {v fmt} { - global var - - set value [$var($v) value] - set gdb [gdb_cmd "output/$fmt $v"] - if {$value == $gdb} { - set result ok - } else { - set result error - } - - return $result -} - -proc delete_all_variables {} { - global var - - foreach variable [array names var] { - delete_variable $variable - } -} - -##### ##### -# # -# Simple Class Tests # -# # -##### ##### - -# run to "do_simple_class_tests" -gdb_cmd "break do_simple_class_tests" -gdb_cmd "run" - -# Test: cpp_variable-1.1 -# Desc: stopped in do_simple_class_tests -gdbtk_test cpp_variable-1.1 {stopped in main} { - lindex [gdb_loc] 1 -} {do_simple_class_tests} - -# Test: cpp_variable-1.2 -# Desc: create variable v -gdbtk_test cpp_variable-1.2 {create variable v} { - create_variable v -} {0} - -# Test: cpp_variable-1.3 -# Desc: number of children of v -gdbtk_test cpp_variable-1.3 {number of children of v} { - $var(v) numChildren -} {7} - -# Test: cpp_variable-1.4 -# Desc: children of v -gdbtk_test cpp_variable-1.4 {children of v} { - get_children v -} {VA VB VC v_pub_int v_pub_charp v_priv_int v_priv_charp} - -# Test: cpp_variable-1.5 -# Desc: type of v -gdbtk_test cpp_variable-1.5 {type of v} { - $var(v) type -} {V *} - -# Test: cpp_variable-1.6 -# Desc: format of v -gdbtk_test cpp_variable-1.6 {format of v} { - $var(v) format -} {natural} - -set value [$var(v) value] - -# Step over "V *v = new V;" -gdb_cmd "next" - -# Test: cpp_variable-1.7 -# Desc: check value of v changed -gdbtk_test cpp_variable-1.7 {check value of v changed} { - check_valueChanged -} {{v.v_priv_int v.v_pub_charp v.v_pub_int v v.v_priv_charp} {v.VB v.VC v.VA} {}} - -# Test: cpp_variable-1.8 -# Desc: check values of v -gdbtk_test cpp_variable-1.8 {check values of v} { - set new [$var(v) value] - expr {$new != $value} -} {1} - -# Test: cpp_variable-1.9 -# Desc: v editable -gdbtk_test cpp_variable-1.9 {v editable} { - $var(v) editable -} {1} - -##### ##### -# # -# Children of v tests # -# # -##### ##### - -# Test: cpp_variable-2.1 -# Desc: type of v.v_pub_int -gdbtk_test cpp_variable-2.1 {type of v.v_pub_int} { - $var(v.v_pub_int) type -} {int} - -# Test: cpp_variable-2.2 -# Desc: format of v.v_pub_int -gdbtk_test cpp_variable-2.2 {format of v.v_pub_int} { - $var(v.v_pub_int) format -} {natural} - -gdb_cmd "set variable v.v_pub_int=2112" - -# Test: cpp_variable-2.3 -# Desc: value of v.v_pub_int changed -gdbtk_test cpp_variable-2.3 {value of v.v_pub_int changed} { - check_valueChanged -} {v.v_pub_int {v.v_priv_int v.VB v.v_pub_charp v.VC v v.v_priv_charp v.VA} {}} - -# Test: cpp_variable-2.4 -# Desc: value of v.v_pub_int -gdbtk_test cpp_variable-2.4 {value of v.v_pub_int} { - $var(v.v_pub_int) value -} {2112} - -# Test: cpp_variable-2.5 -# Desc: changed format of v.v_pub_int -gdbtk_test cpp_variable-2.5 {changed format of v.v_pub_int} { - $var(v.v_pub_int) format octal - $var(v.v_pub_int) format -} {octal} - -# Test: cpp_variable-2.6 -# Desc: value of v.v_pub_int with new format -gdbtk_test cpp_variable-2.6 {value of v.v_pub_int with new format} { - $var(v.v_pub_int) value -} {04100} - -# Test: cpp_variable-2.7 -# Desc: change value of v.v_pub_int (decimal) -gdbtk_test cpp_variable-2.7 {change value of v.v_pub_int (decimal)} { - $var(v.v_pub_int) value 3 - value v.v_pub_int o -} {ok} - -# Test: cpp_variable-2.8 -# Desc: change value of v.v_pub_int (hexadecimal) -gdbtk_test cpp_variable-2.9 {change value of v.v_pub_int (hexadecimal)} { - $var(v.v_pub_int) value 0x21 - value v.v_pub_int o -} {ok} - -# Test: cpp_variable-2.9 -# Desc: number of children of v_pub_int -gdbtk_test cpp_variable-2.9 {number of children of v_pub_int} { - $var(v.v_pub_int) numChildren -} {0} - -# Test: cpp_variable-2.10 -# Desc: children of v.v_pub_int -gdbtk_test cpp_variable-2.10 {children of v.v_pub_int} { - get_children v.v_pub_int -} {} - -# Test: cpp_variable-2.11 -# Desc: v.v_pub_int editable -gdbtk_test cpp_variable-2.11 {v.v_pub_int editable} { - $var(v.v_pub_int) editable -} {1} - -# Test: cpp_variable-2.21 -# Desc: type of v.v_priv_charp -gdbtk_test cpp_variable-2.21 {type of v.v_priv_charp} { - $var(v.v_priv_charp) type -} {char *} - -# Test: cpp_variable-2.22 -# Desc: format of v.v_priv_charp -gdbtk_test cpp_variable-2.22 {format of v.v_priv_charp} { - $var(v.v_priv_charp) format -} {natural} - -gdb_cmd "set variable v.v_priv_charp=2112" - -# Test: cpp_variable-2.23 -# Desc: value of v.v_priv_charp changed -gdbtk_test cpp_variable-2.23 {value of v.v_priv_charp changed} { - check_valueChanged -} {v.v_priv_charp {v.v_priv_int v.VB v.v_pub_charp v.VC v.v_pub_int v v.VA} {}} - -# Test: cpp_variable-2.24 -# Desc: value of v.v_priv_charp -gdbtk_test cpp_variable-2.24 {value of v.v_priv_charp} { - $var(v.v_priv_charp) format hexadecimal - $var(v.v_priv_charp) value -} {0x840} - -# Test: cpp_variable-2.25 -# Desc: changed format of v.v_priv_charp -gdbtk_test cpp_variable-2.25 {changed format of v.v_priv_charp} { - $var(v.v_priv_charp) format octal - $var(v.v_priv_charp) format -} {octal} - -# Test: cpp_variable-2.26 -# Desc: value of v.v_priv_charp with new format -gdbtk_test cpp_variable-2.26 {value of v.v_priv_charp with new format} { - $var(v.v_priv_charp) value -} {04100} - -# Test: cpp_variable-2.27 -# Desc: change value of v.v_priv_charp (decimal) -gdbtk_test cpp_variable-2.27 {change value of v.v_priv_charp (decimal)} { - $var(v.v_priv_charp) value 3 - value v.v_priv_charp o -} {ok} - -# Test: cpp_variable-2.28 -# Desc: change value of v.v_priv_charp (hexadecimal) -gdbtk_test cpp_variable-2.28 {change value of v.v_priv_charp (hexadecimal)} { - $var(v.v_priv_charp) value 0x21 - value v.v_priv_charp o -} {ok} - -# Test: cpp_variable-2.29 -# Desc: number of children of v_priv_charp -gdbtk_test cpp_variable-2.29 {number of children of v_priv_charp} { - $var(v.v_priv_charp) numChildren -} {0} - -# Test: cpp_variable-2.30 -# Desc: children of v.v_priv_charp -gdbtk_test cpp_variable-2.30 {children of v.v_priv_charp} { - get_children v.v_priv_charp -} {} - -# Test: cpp_variable-2.31 -# Desc: v.v_priv_int editable -gdbtk_test cpp_variable-2.31 {v.v_priv_int editable} { - $var(v.v_priv_int) editable -} {1} - -# Test: cpp_variable-2.41 -# Desc: type of v.VA -gdbtk_test cpp_variable-2.41 {type of v.VA} { - $var(v.VA) type -} {VA} - -# Test: cpp_variable-2.42 -# Desc: format of v.VA -gdbtk_test cpp_variable-2.42 {format of v.VA} { - $var(v.VA) format -} {natural} - -# Test: cpp_variable-2.43 -# Desc: value of v.VA changed -gdbtk_test cpp_variable-2.43 {value of v.VA changed} { - check_valueChanged -} {{} {v.v_priv_int v.VB v.v_pub_charp v.VC v.v_pub_int v v.v_priv_charp v.VA} {}} - -# Test: cpp_variable-2.44 -# Desc: value of v.VA -gdbtk_test cpp_variable-2.44 {value of v.VA} { - $var(v.VA) value -} {{...}} - -# Test: cpp_variable-2.45 -# Desc: changed format of v.VA -gdbtk_test cpp_variable-2.45 {changed format of v.VA} { - $var(v.VA) format octal - $var(v.VA) format -} {octal} - -# Test: cpp_variable-2.46 -# Desc: value of v.VA with new format -gdbtk_test cpp_variable-2.46 {value of v.VA with new format} { - $var(v.VA) value -} {{...}} - -# Test: cpp_variable-2.47 -# Desc: number of children of VA -gdbtk_test cpp_variable-2.47 {number of children of VA} { - $var(v.VA) numChildren -} {5} - -# Test: cpp_variable-2.48 -# Desc: children of v.VA -gdbtk_test cpp_variable-2.48 {children of v.VA} { - get_children v.VA -} {va_pub_int va_pub_charp va_priv_int va_priv_charp bar} - -# Test: cpp_variable-2.49 -# Desc: v.VA editable -gdbtk_test cpp_variable-2.49 {v.VA editable} { - $var(v.VA) editable -} {0} - -# Test: cpp_variable-2.61 -# Desc: type of v.VB -gdbtk_test cpp_variable-2.61 {type of v.VB} { - $var(v.VB) type -} {VB} - -# Test: cpp_variable-2.62 -# Desc: format of v.VB -gdbtk_test cpp_variable-2.62 {format of v.VB} { - $var(v.VB) format -} {natural} - -# Test: cpp_variable-2.63 -# Desc: value of v.VB changed -gdbtk_test cpp_variable-2.63 {value of v.VB changed} { - check_valueChanged -} {{} {v.VA.va_pub_int v.v_pub_int v.VA.va_priv_int v.VA.va_pub_charp v.v_priv_int v.v_pub_charp v.VA.va_priv_charp v.VA.bar v v.v_priv_charp v.VA v.VB v.VC} {}} - -# Test: cpp_variable-2.64 - # Desc: value of v.VB -gdbtk_test cpp_variable-2.64 {value of v.VB} { - $var(v.VB) value -} {{...}} - -# Test: cpp_variable-2.65 -# Desc: changed format of v.VB -gdbtk_test cpp_variable-2.65 {changed format of v.VB} { - $var(v.VB) format octal - $var(v.VB) format -} {octal} - -# Test: cpp_variable-2.66 -# Desc: value of v.VB with new format -gdbtk_test cpp_variable-2.66 {value of v.VB with new format} { - $var(v.VB) value -} {{...}} - -# Note: The next two tests show whether or not the logic -# concerning vptr tables is working. -# Test: cpp_variable-2.67 -# Desc: number of children of VB -gdbtk_test cpp_variable-2.67 {number of children of VB} { - $var(v.VB) numChildren -} {3} - -# Test: cpp_variable-2.68 -# Desc: children of v.VB -gdbtk_test cpp_variable-2.68 {children of v.VB} { - get_children v.VB -} {vb_pub_int vb_priv_int vb_priv_charp} - -# Test: cpp_variable-2.69 -# Desc: v.VB editable -gdbtk_test cpp_variable-2.69 {v.VB editable} { - $var(v.VB) editable -} {0} - - -# Exit -# -gdbtk_test_done - - diff --git a/gdb/testsuite/gdb.gdbtk/defs b/gdb/testsuite/gdb.gdbtk/defs deleted file mode 100644 index 7916104f7c7..00000000000 --- a/gdb/testsuite/gdb.gdbtk/defs +++ /dev/null @@ -1,200 +0,0 @@ -# This file contains support code for the gdbtk test suite. -# -# Based on the Tcl testsuite support code, portions of this file -# are Copyright (c) 1990-1994 The Regents of the University of California and -# Copyright (c) 1994-1996 Sun Microsystems, Inc. -# -global srcdir _test env srcdir objdir - -if {![info exists srcdir]} { - if {[info exists env(SRCDIR)]} { - set srcdir $env(SRCDIR) - } else { - set srcdir . - } -} - -if {![info exists objdir]} { - if {[info exists env(OBJDIR)]} { - set objdir $env(OBJDIR) - } elseif {$_test(interactive)} { - # If running interactively, assume that the objdir is - # relative to the executable's location - set objdir [file join [file dirname [info nameofexecutable]] testsuite gdb.gdbtk] - } else { - set objdir . - } -} - -if {![info exists _test(verbose)]} { - if {[info exists env(GDBTK_VERBOSE)]} { - set _test(verbose) $env(GDBTK_VERBOSE) - } else { - set _test(verbose) - } -} -if {![info exists _test(tests)]} { - - if {[info exists env(GDBTK_TESTS)]} { - set _test(tests) $env(GDBTK_TESTS) - } else { - set _test(tests) {} - } -} - -if {[info exists env(GDBTK_LOGFILE)]} { - set _test(logfile) [open $env(GDBTK_LOGFILE) a+] - fconfigure $_test(logfile) -buffering none -} else { - set _test(logfile) {} -} - -# Informs gdbtk internals that testsuite is running. An example -# where this is needed is the window manager, which must place -# all windows at some place on the screen so that the system's -# window manager does not interfere. This is reset in gdbtk_test_done. -set env(GDBTK_TEST_RUNNING) 1 - -proc gdbtk_print_verbose {status name description script code answer} { - global _test - - switch $code { - 0 { - set code_words {} - } - 1 { - set code_words "Test generated error:\n$answer" - } - - 2 { - set code_words "Test generated return exception; result was:\n$answer" - } - - 3 { - set code_words "Test generated break exception" - } - - 4 { - set code_words "Test generated continue exception" - } - - 5 { - set code_words "Test generated exception $code; message was:\n$answer" - } - } - debug "gdbtk_test_verbose: _test(verbose)=$_test(verbose) status=$status" - if {$_test(verbose) > 1 \ - || ($_test(verbose) != 1 && ($status == "error" || $status == "fail"))} { - # Printed when user verbose mode (verbose > 1) or an error/failure occurs - # not running the testsuite (dejagnu) - puts stdout "\n" - puts stdout "==== $name $description" - puts stdout "==== Contents of test case:" - puts stdout "$script" - if {$code_words != ""} { - puts stdout $code_words - } - puts stdout "==== Result was:" - puts stdout "$answer" - } elseif {$_test(verbose)} { - # Printed for the testsuite (verbose = 1) - puts stdout "[list $status $name $description $code_words]" - - if {$_test(logfile) != ""} { - puts $_test(logfile) "\n" - puts $_test(logfile) "==== $name $description" - puts $_test(logfile) "==== Contents of test case:" - puts $_test(logfile) "$script" - if {$code_words != ""} { - puts $_test(logfile) $code_words - } - puts $_test(logfile) "==== Result was:" - puts $_test(logfile) "$answer" - } - } -} - -# gdbtk_test -# -# This procedure runs a test and prints an error message if the -# test fails. -# -# Arguments: -# name - Name of test, in the form foo-1.2. -# description - Short textual description of the test, to -# help humans understand what it does. -# script - Script to run to carry out the test. It must -# return a result that can be checked for -# correctness. -# answer - Expected result from script. - -proc gdbtk_test {name description script answer} { - global _test test_ran - - set test_ran 0 - if {[string compare $_test(tests) ""] != 0} then { - set ok 0 - foreach test $_test(tests) { - if [string match $test $name] then { - set ok 1 - break - } - } - if !$ok then return - } - - set code [catch {uplevel $script} result] - set test_ran 1 - if {$code != 0} { - # Error - gdbtk_print_verbose error $name $description $script \ - $code $result - } elseif {[string compare $result $answer] == 0} { - # PASS - if {$_test(verbose)} { - gdbtk_print_verbose pass $name $description $script \ - $code $result - if {$_test(verbose) != 1} { - puts stdout "++++ $name PASSED" - } - } - if {$_test(logfile) != ""} { - puts $_test(logfile) "++++ $name PASSED" - } - } else { - # FAIL - gdbtk_print_verbose fail $name $description $script \ - $code $result - if {$_test(verbose) != 1} { - puts stdout "---- Result should have been:" - puts stdout "$answer" - puts stdout "---- $name FAILED" - } - if {$_test(logfile) != ""} { - puts $_test(logfile) "---- Result should have been:" - puts $_test(logfile) "$answer" - puts $_test(logfile) "---- $name FAILED" - } - } -} - -proc gdbtk_dotests {file args} { - global _test - set savedTests $_test(tests) - set _test(tests) $args - source $file - set _test(tests) $savedTests -} - -proc gdbtk_test_done {} { - global _test env - - if {$_test(logfile) != ""} { - close $_test(logfile) - } - - set env(GDBTK_TEST_RUNNING) 0 - if {![info exists _test(interactive)] || !$_test(interactive)} { - gdb_force_quit - } -} diff --git a/gdb/testsuite/gdb.gdbtk/simple.c b/gdb/testsuite/gdb.gdbtk/simple.c deleted file mode 100644 index dee435693fb..00000000000 --- a/gdb/testsuite/gdb.gdbtk/simple.c +++ /dev/null @@ -1,19 +0,0 @@ -void -main(int argc, char * argv[]) -{ - int i; - char *a; - char *b = "abc"; - long foo; - - a = (char *) malloc (300); - - for (i=0; i < 50; i++) - { - int j = i % 3; - int k = 3 - j; - strncpy (a[i], b[k], j); - foo = (long) j * k / i + 2 * k * k * k; - } -} - diff --git a/gdb/testsuite/gdb.gdbtk/srcwin.exp b/gdb/testsuite/gdb.gdbtk/srcwin.exp deleted file mode 100644 index c919fe687b9..00000000000 --- a/gdb/testsuite/gdb.gdbtk/srcwin.exp +++ /dev/null @@ -1,47 +0,0 @@ -# -# Check if we have a display -# -if {![info exists ::env(DISPLAY)]} { - warning "No DISPLAY -- skipping test" -} else { - if {$tracelevel} { - strace $tracelevel - } - - # - # test source window - # - set prms_id 0 - set bug_id 0 - - set testfile "list" - set binfile $objdir/$subdir/$testfile - set r [gdb_compile "$srcdir/gdb.base/list0.c $srcdir/gdb.base/list1.c" "$binfile" executable debug] - if { $r != "" } { - gdb_suppress_entire_file \ - "Testcase compile failed, so some tests in this file will automatically fail." - } - - # Start with a fresh gdbtk - gdb_exit - set results [gdbtk_start [file join $srcdir $subdir srcwin.test]] - set results [split $results \n] - # Analyze results - gdbtk_analyze_results $results - - # move file with "main" out of the way - file rename $srcdir/gdb.base/list0.c $srcdir/gdb.base/list0.c.save - # run slightly different set of tests - gdb_exit - set results [gdbtk_start [file join $srcdir $subdir srcwin2.test]] - set results [split $results \n] - #restore file - file rename $srcdir/gdb.base/list0.c.save $srcdir/gdb.base/list0.c - # Analyze results - gdbtk_analyze_results $results -} - -# Local variables: -# mode: tcl -# change-log-default-name: "ChangeLog-gdbtk" -# End: diff --git a/gdb/testsuite/gdb.gdbtk/srcwin.test b/gdb/testsuite/gdb.gdbtk/srcwin.test deleted file mode 100644 index 068491abf7d..00000000000 --- a/gdb/testsuite/gdb.gdbtk/srcwin.test +++ /dev/null @@ -1,1208 +0,0 @@ -# Copyright (C) 1999 Cygnus Solutions -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - -# Please email any bugs, comments, and/or additions to this file to: -# bug-gdb@prep.ai.mit.edu - -# This file was written by Martin Hunt (hunt@cygnus.com) - -# Read in the standard defs file - -if {![gdbtk_read_defs]} { - break -} - -global objdir srcdir - - -# move the pointer to the center of the bbox relative to $win -proc move_mouse_to {win bbox} { - set x [expr [lindex $bbox 0] + [lindex $bbox 2] / 2] - set y [expr [lindex $bbox 1] + [lindex $bbox 3] / 2] - warp_pointer . [winfo rootx $win] [winfo rooty $win] - - set nx 0 - set ny 0 - - while {$nx != $x || $ny != $y} { - if {$nx < $x} {incr nx} - if {$ny < $y} {incr ny} - warp_pointer $win $x $y - } -} - -proc click {win bbox event} { - move_mouse_to $win $bbox - update - set x [expr [lindex $bbox 0] + [lindex $bbox 2] / 2] - set y [expr [lindex $bbox 1] + [lindex $bbox 3] / 2] - - if {[catch {event generate $win $event -x $x -y $y} result]} { - return 0 - } - return 1 -} - - -##### ##### -# # -# SECTION 1: Mode Tests # -# # -##### ##### - -# Load the test executable -if {$tcl_platform(platform) == "windows"} { - set file [file join $objdir list.exe] -} else { - set file [file join $objdir list] -} - -# This isn't a test case, since if this fails, we're hosed. -if {[catch {gdb_cmd "file $file" 1} t]} { - # an error occured loading the file - gdbtk_test_error "loading \"$file\": $t" -} - -set srcwin [ManagedWin::open SrcWin] -set stw [$srcwin test_get twin] -set twin [$stw test_get twin] - -# get things started -gdb_cmd "break main" -run_executable - -# Test: srcwin-1.1 -# Desc: Check for something in source window -gdbtk_test srcwin-1.1 "source window has contents" { - set file1(source) [$twin get 1.0 end] - expr {![string compare $file1(source) ""]} -} {0} - - -# Test: srcwin-1.2 -# Desc: source->assembly mode change -gdbtk_test srcwin-1.2 "source->assembly mode change" { - $srcwin mode "" ASSEMBLY - set twin [$stw test_get twin] - set file1(assembly) [$twin get 1.0 end] - expr {![string compare $file1(source) $file1(assembly)]} -} {0} - -# Test: srcwin-1.3 -# Desc: assembly->mixed mode change -gdbtk_test srcwin-1.3 "assembly->mixed mode change" { - $srcwin mode "" MIXED - set twin [$stw test_get twin] - set file1(mixed) [$twin get 1.0 end] - expr {![string compare $file1(mixed) $file1(assembly)]} -} {0} - -# Test: srcwin-1.4 -# Desc: mixed->src+asm mode change -gdbtk_test srcwin-1.4 "mixed->src+asm mode change" { - $srcwin mode "" SRC+ASM - set twin [$stw test_get twin] - set bwin [$stw test_get bwin] - set s [$twin get 1.0 end] - set a [$bwin get 1.0 end] - expr {[string compare $a $file1(assembly)] || - [string compare $s $file1(source)] || - ![winfo ismapped $bwin]} -} {0} - -# Test: srcwin-1.5 -# Desc: src+asm->source mode change -gdbtk_test srcwin-1.5 "src+asm->source mode change" { - $srcwin mode "" SOURCE - set twin [$stw test_get twin] - set a [$twin get 1.0 end] - set bwin [$stw test_get bwin] - expr {[string compare $file1(source) $a] || - [winfo ismapped $bwin]} -} {0} - -# Test: srcwin-1.6 -# Desc: source->mixed mode change -gdbtk_test srcwin-1.6 "source->mixed mode change" { - $srcwin mode "" MIXED - set twin [$stw test_get twin] - set a [$twin get 1.0 end] - string compare $file1(mixed) $a -} {0} - -# Test: srcwin-1.7 -# Desc: mixed->source mode change -gdbtk_test srcwin-1.7 "mixed->source mode change" { - $srcwin mode "" SOURCE - set twin [$stw test_get twin] - set a [$twin get 1.0 end] - string compare $file1(source) $a -} {0} - -# Test: srcwin-1.8 -# Desc: source->src+asm mode change -gdbtk_test srcwin-1.8 "source->src+asm mode change" { - $srcwin mode "" SRC+ASM - set twin [$stw test_get twin] - set bwin [$stw test_get bwin] - set s [$twin get 1.0 end] - set a [$bwin get 1.0 end] - expr {[string compare $a $file1(assembly)] || - [string compare $s $file1(source)] || - ![winfo ismapped $bwin]} -} {0} - -# Test: srcwin-1.9 -# Desc: src+asm->assembly mode change -gdbtk_test srcwin-1.9 "src+asm->assembly mode change" { - $srcwin mode "" ASSEMBLY - set twin [$stw test_get twin] - set a [$twin get 1.0 end] - string compare $file1(assembly) $a -} {0} - -# Test: srcwin-1.10 -# Desc: assembly->src+asm mode change -gdbtk_test srcwin-1.10 "assembly->src+asm mode change" { - $srcwin mode "" SRC+ASM - set twin [$stw test_get twin] - set bwin [$stw test_get bwin] - set s [$twin get 1.0 end] - set a [$bwin get 1.0 end] - expr {[string compare $a $file1(assembly)] || - [string compare $s $file1(source)] || - ![winfo ismapped $bwin]} -} {0} - -# Test: srcwin-1.11 -# Desc: src+asm->mixed mode change -gdbtk_test srcwin-1.11 "src+asm->mixed mode change" { - $srcwin mode "" MIXED - set twin [$stw test_get twin] - set a [$twin get 1.0 end] - set bwin [$stw test_get bwin] - expr {[string compare $file1(mixed) $a] || - [winfo ismapped $bwin]} -} {0} - -# Test: srcwin-1.12 -# Desc: mixed->assembly mode change -gdbtk_test srcwin-1.12 "mixed->assembly mode change" { - $srcwin mode "" ASSEMBLY - set twin [$stw test_get twin] - set a [$twin get 1.0 end] - string compare $file1(assembly) $a -} {0} - -# Test: srcwin-1.13 -# Desc: assembly->source mode change -gdbtk_test srcwin-1.13 "assembly->source mode change" { - $srcwin mode "" SOURCE - set twin [$stw test_get twin] - set a [$twin get 1.0 end] - string compare $file1(source) $a -} {0} - - -##### ##### -# # -# SECTION 2: Basic Operations # -# # -##### ##### - -# Test: srcwin-2.1 -# Desc: check contents of filename combobox -gdbtk_test srcwin-2.1 "check contents of filename combobox" { - set statbar [$srcwin test_get _statbar] - set names [$statbar.name listget 0 end] - set r 0 - foreach f {list0.c list1.c list0.h} { - if {[lsearch $names $f] != -1} { - incr r - } - } - set r -} {3} - -# Test: srcwin-2.2 -# Desc: check contents of function combobox -gdbtk_test srcwin-2.2 "check contents of function combobox" { - set names [$statbar.func listget 0 end] - set r 0 - foreach f {main foo unused} { - if {[lsearch $names $f] != -1} { - incr r - } - } - set r -} {3} - -# Test: srcwin-2.3 -# Desc: goto filename -gdbtk_test srcwin-2.3 "goto filename" { - set func [$srcwin test_get _name 1] - $func "" list1.c - set twin [$stw test_get twin] - set file2(source) [$twin get 1.0 end] - expr {![string compare $file1(source) $file2(source)]} -} {0} - -# Test: srcwin-2.4 -# Desc: check contents of function combobox -gdbtk_test srcwin-2.4 "check contents of function combobox" { - set names [$statbar.func listget 0 end] - set r 0 - foreach f {bar long_line oof unused} { - if {[lsearch $names $f] != -1} { - incr r - } - } - set r -} {4} - -# Test: srcwin-2.5 -# Desc: function combobox entry field should be empty after switching to a new file -gdbtk_test srcwin-2.5 "function combobox entry field should be empty" { - set names [$statbar.func get] - string length $names -} {0} - -# Test: srcwin-2.6 -# Desc: goto function -gdbtk_test srcwin-2.6 "goto function bar" { - $srcwin goto_func "" bar - set r 0 - - # now get a dump of all tags and check that only one line is - # marked BROWSE_TAG and no lines are STACK_TAG or PC_TAG. - - # We know that list1.c should have BROWSE_TAG set at index 5.2 - # for function "bar". If list1.c is changed or the layout of the source - # window is changed, this must be updated. - if {![catch {set z [$twin dump -tag 1.0 end]}]} { - foreach {k v i} $z { - if {$k == "tagon"} { - if {$v == "BROWSE_TAG"} { - if {$i == "5.2"} { - incr r - } else { - incr r 5 - } - } - if {$v == "STACK_TAG"} { incr r 10} - if {$v == "PC_TAG"} { incr r 100} - } - } - } else { - set r -1 - } - - if {$r == 1} { - # things are OK so far, so just verify the function name is displayed - # in the combobox entry field. - set names [$statbar.func get] - if {[string compare $names "bar"]} {set r -2} - } - set r -} {1} - -# Test: srcwin-2.7 -# Desc: goto function "oof". This tests that the correct line is highlighted -# with BROWSE_TAG and no other lines are highlighted. It also checks that -# the combobox has the correct function name in it. Finally, list1.c -# has an extremely long line, line 32, that breaks some functions. We verify -# that the GDBtk has the correct line number. - -gdbtk_test srcwin-2.7 "goto function oof" { - $srcwin goto_func "" oof - set r 0 - - # now get a dump of all tags and check that only one line is - # marked BROWSE_TAG and no lines are STACK_TAG or PC_TAG. - - # We know that list1.c should have BROWSE_TAG set at index 32.2 - # for function "oof". If list1.c is changed or the layout of the source - # window is changed, this must be updated. - if {![catch {set z [$twin dump -tag 1.0 end]}]} { - foreach {k v i} $z { - if {$k == "tagon"} { - if {$v == "BROWSE_TAG"} { - if {$i == "32.2"} { - set line_number [$twin get "$i wordstart" "$i wordend"] - if {$line_number == "32"} { - incr r - } else { - incr r -100 - } - } else { - incr r 5 - } - } - if {$v == "STACK_TAG"} {incr r 10} - if {$v == "PC_TAG"} {incr r 100} - } - } - } else { - set r -1 - } - - if {$r == 1} { - # things are OK so far, so just verify the function name is displayed - # in the combobox entry field. - set names [$statbar.func get] - if {[string compare $names "oof"]} {set r -2} - } - set r -} {1} - -# Test: srcwin-2.8 -# Desc: This test issues a next command while browsing list1.c. -# It should display list0.c and highlight the correct line. -gdbtk_test srcwin-2.8 "step while browsing" { - gdb_immediate "next" 1 - set r 0 - set name [$statbar.name get] - set func [$statbar.func get] - - # check contents of name and function comboboxes - if {$name != "list0.c"} {set r -1} - if {$func != "main"} {set r -2} - - # check that correct file is displayed - set twin [$stw test_get twin] - set a [$twin get 1.0 end] - if {[string compare $file1(source) $a]} {set r -3} - - # check for PC_TAG on correct line - if {$r == 0} { - if {![catch {set z [$twin dump -tag 1.0 end]}]} { - foreach {k v i} $z { - if {$k == "tagon"} { - if {$v == "PC_TAG"} { - if {$i == "11.2"} { - incr r - } else { - incr r 5 - } - } - if {$v == "STACK_TAG"} {incr r 10} - if {$v == "BROWSE_TAG"} {incr r 100} - } - } - } else { - set r -4 - } - } - set r -} {1} - -# Test: srcwin-2.9 -# Desc: This test issues a next command while the current -# PC is ready to call a function. It should not go into the function and -# should update the PC highlight correctly. -gdbtk_test srcwin-2.9 "next" { - gdb_immediate "next" 1 - set r 0 - set name [$statbar.name get] - set func [$statbar.func get] - - # check contents of name and function comboboxes - if {$name != "list0.c"} {set r -1} - if {$func != "main"} {set r -2} - - # check that correct file is displayed - set twin [$stw test_get twin] - set a [$twin get 1.0 end] - if {[string compare $file1(source) $a]} {set r -3} - - # check for PC_TAG on correct line - if {$r == 0} { - if {![catch {set z [$twin dump -tag 1.0 end]}]} { - foreach {k v i} $z { - if {$k == "tagon"} { - if {$v == "PC_TAG"} { - if {$i == "12.2"} { - incr r - } else { - incr r 5 - } - } - if {$v == "STACK_TAG"} {incr r 10} - if {$v == "BROWSE_TAG"} {incr r 100} - } - } - } else { - set r -4 - } - } - set r -} {1} - -# Test: srcwin-2.10 -# Desc: This test issues a step command while the current -# PC is ready to call a function. It should step into the function. -gdbtk_test srcwin-2.10 "step" { - gdb_immediate "step" 1 - set r 0 - set name [$statbar.name get] - set func [$statbar.func get] - - # check contents of name and function comboboxes - if {$name != "list0.h"} {set r -1} - if {$func != "foo"} {set r -2} - - # check that a new file is displayed - set twin [$stw test_get twin] - set file3(source) [$twin get 1.0 end] - if {![string compare $file1(source) $file3(source)]} {set r -3} - - # check for PC_TAG on correct line - if {$r == 0} { - if {![catch {set z [$twin dump -tag 1.0 end]}]} { - foreach {k v i} $z { - if {$k == "tagon"} { - if {$v == "PC_TAG"} { - if {$i == "8.2"} { - incr r - } else { - incr r 5 - } - } - if {$v == "STACK_TAG"} {incr r 10} - if {$v == "BROWSE_TAG"} {incr r 100} - } - } - } else { - set r -4 - } - } - set r -} {1} - -# Test: srcwin-2.11 -# Desc: This test issues a break and a continue -gdbtk_test srcwin-2.11 "set BP and continue" { - gdb_immediate "break oof" 1 - gdb_immediate "continue" 1 - set r 0 - set name [$statbar.name get] - set func [$statbar.func get] - - # check contents of name and function comboboxes - if {$name != "list1.c"} {set r -1} - if {$func != "oof"} {set r -2} - - # check that the correct file is displayed - # we must clear the breakpoint first so it doesn't mess up the - # comparison... - gdb_immediate "clear oof" 1 - set twin [$stw test_get twin] - set a [$twin get 1.0 end] - if {[string compare $file2(source) $a]} {set r -3} - - # check for PC_TAG on correct line - if {$r == 0} { - if {![catch {set z [$twin dump -tag 1.0 end]}]} { - foreach {k v i} $z { - if {$k == "tagon"} { - if {$v == "PC_TAG"} { - if {$i == "32.2"} { - incr r - } else { - incr r 5 - } - } - if {$v == "STACK_TAG"} {incr r 10} - if {$v == "BROWSE_TAG"} {incr r 100} - } - } - } else { - set r -4 - } - } - set r -} {1} - -##### ##### -# # -# SECTION 3: Stack Operations # -# # -##### ##### - -# Test: srcwin-3.1 -# Desc: This tests "stack up" -gdbtk_test srcwin-3.1 "stack up (1)" { - $srcwin stack up - set r 0 - set name [$statbar.name get] - set func [$statbar.func get] - - # check contents of name and function comboboxes - if {$name != "list1.c"} {set r -1} - if {$func != "long_line"} {set r -2} - - # check that the correct file is displayed - set twin [$stw test_get twin] - set a [$twin get 1.0 end] - if {[string compare $file2(source) $a]} {set r -3} - - # check for PC_TAG and STACK_TAG on correct lines - if {$r == 0} { - if {![catch {set z [$twin dump -tag 1.0 end]}]} { - foreach {k v i} $z { - if {$k == "tagon"} { - if {$v == "PC_TAG"} { - if {$i == "32.2"} { - incr r - } else { - incr r 5 - } - } - if {$v == "STACK_TAG"} { - if {$i == "22.2"} { - incr r - } else { - incr r 10 - } - } - if {$v == "BROWSE_TAG"} {incr r 100} - } - } - } else { - set r -4 - } - } - set r -} {2} - -# Test: srcwin-3.2 -# Desc: Another "stack up" test -gdbtk_test srcwin-3.2 "stack up (2)" { - $srcwin stack up - set r 0 - set name [$statbar.name get] - set func [$statbar.func get] - - # check contents of name and function comboboxes - if {$name != "list1.c"} {set r -1} - if {$func != "bar"} {set r -2} - - # check that the correct file is displayed - set twin [$stw test_get twin] - set a [$twin get 1.0 end] - if {[string compare $file2(source) $a]} {set r -3} - - # check for PC_TAG and STACK_TAG on correct lines - if {$r == 0} { - if {![catch {set z [$twin dump -tag 1.0 end]}]} { - foreach {k v i} $z { - if {$k == "tagon"} { - if {$v == "PC_TAG"} { - if {$i == "32.2"} { - incr r - } else { - incr r 5 - } - } - if {$v == "STACK_TAG"} { - if {$i == "7.2"} { - incr r - } else { - incr r 10 - } - } - if {$v == "BROWSE_TAG"} {incr r 100} - } - } - } else { - set r -4 - } - } - set r -} {2} - -# Test: srcwin-3.3 -# Desc: Another "stack up" test -gdbtk_test srcwin-3.3 "stack up (3)" { - $srcwin stack up - set r 0 - set name [$statbar.name get] - set func [$statbar.func get] - - # check contents of name and function comboboxes - if {$name != "list0.h"} {set r -1} - if {$func != "foo"} {set r -2} - - # check that the correct file is displayed - set twin [$stw test_get twin] - set a [$twin get 1.0 end] - if {![string compare $file2(source) $a]} {set r -3} - - # check for PC_TAG and STACK_TAG on correct lines - if {$r == 0} { - if {![catch {set z [$twin dump -tag 1.0 end]}]} { - foreach {k v i} $z { - if {$k == "tagon"} { - if {$v == "STACK_TAG"} { - if {$i == "8.2"} { - incr r - } else { - incr r 5 - } - } - if {$v == "PC_TAG"} {incr r 10} - if {$v == "BROWSE_TAG"} {incr r 100} - } - } - } else { - set r -4 - } - } - set r -} {1} - -# Test: srcwin-3.4 -# Desc: Another "stack up" test -gdbtk_test srcwin-3.4 "stack up (4)" { - $srcwin stack up - set r 0 - set name [$statbar.name get] - set func [$statbar.func get] - - # check contents of name and function comboboxes - if {$name != "list0.c"} {set r -1} - if {$func != "main"} {set r -2} - - # check that the correct file is displayed - set twin [$stw test_get twin] - set a [$twin get 1.0 end] - if {[string compare $file1(source) $a]} {set r -3} - - # check for PC_TAG and STACK_TAG on correct lines - if {$r == 0} { - if {![catch {set z [$twin dump -tag 1.0 end]}]} { - foreach {k v i} $z { - if {$k == "tagon"} { - if {$v == "STACK_TAG"} { - if {$i == "12.2"} { - incr r - } else { - incr r 5 - } - } - if {$v == "PC_TAG"} {incr r 10} - if {$v == "BROWSE_TAG"} {incr r 100} - } - } - } else { - set r -4 - } - } - set r -} {1} - -# Test: srcwin-3.5 -# Desc: "stack up" when we are at the top -gdbtk_test srcwin-3.5 "stack up when at the top" { - $srcwin stack up - set r 0 - set name [$statbar.name get] - set func [$statbar.func get] - - # check contents of name and function comboboxes - if {$name != "list0.c"} {set r -1} - if {$func != "main"} {set r -2} - - # check that the correct file is displayed - set twin [$stw test_get twin] - set a [$twin get 1.0 end] - if {[string compare $file1(source) $a]} {set r -3} - - # check for PC_TAG and STACK_TAG on correct lines - if {$r == 0} { - if {![catch {set z [$twin dump -tag 1.0 end]}]} { - foreach {k v i} $z { - if {$k == "tagon"} { - if {$v == "STACK_TAG"} { - if {$i == "12.2"} { - incr r - } else { - incr r 5 - } - } - if {$v == "PC_TAG"} {incr r 10} - if {$v == "BROWSE_TAG"} {incr r 100} - } - } - } else { - set r -4 - } - } - set r -} {1} - -# Test: srcwin-3.6 -# Desc: "stack down" test -gdbtk_test srcwin-3.6 "stack down" { - $srcwin stack down - set r 0 - set name [$statbar.name get] - set func [$statbar.func get] - - # check contents of name and function comboboxes - if {$name != "list0.h"} {set r -1} - if {$func != "foo"} {set r -2} - - # check that the correct file is displayed - set twin [$stw test_get twin] - set a [$twin get 1.0 end] - if {![string compare $file2(source) $a]} {set r -3} - - # check for PC_TAG and STACK_TAG on correct lines - if {$r == 0} { - if {![catch {set z [$twin dump -tag 1.0 end]}]} { - foreach {k v i} $z { - if {$k == "tagon"} { - if {$v == "STACK_TAG"} { - if {$i == "8.2"} { - incr r - } else { - incr r 5 - } - } - if {$v == "PC_TAG"} {incr r 10} - if {$v == "BROWSE_TAG"} {incr r 100} - } - } - } else { - set r -4 - } - } - set r -} {1} - -# Test: srcwin-3.7 -# Desc: "stack bottom" test -gdbtk_test srcwin-3.7 "stack bottom" { - $srcwin stack bottom - set r 0 - set name [$statbar.name get] - set func [$statbar.func get] - - # check contents of name and function comboboxes - if {$name != "list1.c"} {set r -1} - if {$func != "oof"} {set r -2} - - # check that the correct file is displayed - set twin [$stw test_get twin] - set a [$twin get 1.0 end] - if {[string compare $file2(source) $a]} {set r -3} - - # check for PC_TAG on correct line - if {$r == 0} { - if {![catch {set z [$twin dump -tag 1.0 end]}]} { - foreach {k v i} $z { - if {$k == "tagon"} { - if {$v == "PC_TAG"} { - if {$i == "32.2"} { - incr r - } else { - incr r 5 - } - } - if {$v == "STACK_TAG"} {incr r 10} - if {$v == "BROWSE_TAG"} {incr r 100} - } - } - } else { - set r -4 - } - } - set r -} {1} - -# Test: srcwin-3.8 -# Desc: "stack down" when at bottom -gdbtk_test srcwin-3.8 "stack down when at bottom" { - $srcwin stack down - set r 0 - set name [$statbar.name get] - set func [$statbar.func get] - - # check contents of name and function comboboxes - if {$name != "list1.c"} {set r -1} - if {$func != "oof"} {set r -2} - - # check that the correct file is displayed - set twin [$stw test_get twin] - set a [$twin get 1.0 end] - if {[string compare $file2(source) $a]} {set r -3} - - # check for PC_TAG on correct line - if {$r == 0} { - if {![catch {set z [$twin dump -tag 1.0 end]}]} { - foreach {k v i} $z { - if {$k == "tagon"} { - if {$v == "PC_TAG"} { - if {$i == "32.2"} { - incr r - } else { - incr r 5 - } - } - if {$v == "STACK_TAG"} {incr r 10} - if {$v == "BROWSE_TAG"} {incr r 100} - } - } - } else { - set r -4 - } - } - set r -} {1} - -# 4 - BREAKPOINTS - -# Test: srcwin-4.1 -# Desc: Set BP in another file. Tests bp and cache functions -gdbtk_test srcwin-4.1 "set BP in another file" { - gdb_immediate "break foo" 1 - $srcwin goto_func "" foo - set r 0 - set name [$statbar.name get] - set func [$statbar.func get] - - # check contents of name and function comboboxes - if {$name != "list0.h"} {set r -1} - if {$func != "foo"} {set r -2} - - set twin [$stw test_get twin] - - # check for BROWSE_TAG and BP image on correct line - if {$r == 0} { - if {![catch {set z [$twin dump 1.0 end]}]} { - foreach {k v i} $z { - if {$k == "tagon"} { - if {$v == "BROWSE_TAG"} { - if {$i == "8.2"} { - incr r - } else { - incr r 5 - } - } - if {$v == "STACK_TAG"} {incr r 10} - if {$v == "PC_TAG"} {incr r 100} - } elseif {$k == "image"} { - if {$i == "8.0"} { - incr r - } else { - set r -200 - } - } - } - } else { - set r -4 - } - } - - if {$r == 2} { - # clear BP and compare with previous contents. This should succeed, - gdb_immediate "clear foo" 1 - set a [$twin get 1.0 end] - if {[string compare $file3(source) $a]} {set r -3} - } - - set r -} {2} - -# Test: srcwin-4.2 -# Desc: Test temporary BP -gdbtk_test srcwin-4.2 "temporary BP" { - set r 0 - if {[catch {gdb_immediate "tbreak foo" 1} msg]} { - set r -500 - } - set name [$statbar.name get] - set func [$statbar.func get] - - # check contents of name and function comboboxes - if {$name != "list0.h"} {set r -1} - if {$func != "foo"} {set r -2} - - set twin [$stw test_get twin] - - # check for BROWSE_TAG and BP image on correct line - if {$r == 0} { - if {![catch {set z [$twin dump 1.0 end]}]} { - foreach {k v i} $z { - if {$k == "tagon"} { - if {$v == "BROWSE_TAG"} { - if {$i == "8.2"} { - incr r - } else { - incr r 5 - } - } - if {$v == "STACK_TAG"} {incr r 10} - if {$v == "PC_TAG"} {incr r 100} - } elseif {$k == "image"} { - if {$i == "8.0"} { - incr r - } else { - set r -200 - } - } - } - } else { - set r -4 - } - } - - gdb_immediate "continue" 1 - - # now check for PC_TAG and no image - if {$r == 2} { - if {![catch {set z [$twin dump 1.0 end]}]} { - foreach {k v i} $z { - if {$k == "tagon"} { - if {$v == "PC_TAG"} { - if {$i == "8.2"} { - incr r - } else { - incr r 5 - } - } - if {$v == "STACK_TAG"} {incr r 10} - if {$v == "BROWSE_TAG"} {incr r 100} - } elseif {$k == "image"} { - set r -200 - } - } - } else { - set r -4 - } - } - - set r -} {3} - -# Test: srcwin-4.3 -# Desc: Test BP balloons -gdbtk_test srcwin-4.3 "BP Balloons" { - # move pointer out of the way - warp_pointer . 0 0 - set r 0 - gdb_immediate "break 10" 1 - gdb_immediate "tbreak 10" 1 - - set twin [$stw test_get twin] - - # check for BROWSE_TAG and BP image on correct line - if {$r == 0} { - if {![catch {set z [$twin dump 1.0 end]}]} { - foreach {k v i} $z { - if {$k == "tagon"} { - if {$v == "PC_TAG"} { - if {$i == "8.2"} { - incr r - } else { - incr r 5 - } - } - if {$v == "STACK_TAG"} {incr r 10} - if {$v == "BROWSE_TAG"} {incr r 100} - } elseif {$k == "image"} { - if {$i == "10.0"} { - incr r - # we found the bp image, now we will test the bp balloon messages - set balloon [winfo toplevel [namespace tail $srcwin]].__balloon - # shouldn't be mapped yet - if {[winfo ismapped $balloon]} { - set r -3000 - break - } - move_mouse_to $twin [$twin bbox $i] - #wait a second for the balloon message to appear - sleep 1 - if {![winfo ismapped $balloon]} { - set r -4000 - break - } - # read the contents of the balloon and parse it into lines - set a [split [$balloon.label cget -text] \n] - set i 0 - # foreach line parse it and check the type and make sure it is enabled - foreach line $a { - if {[lindex $line 0] == "breakpoint"} {continue} - incr i - set enabled [lindex $line 0] - set bptype [lindex $line 3] - switch $i { - 1 { - if {$bptype != "donttouch"} {set r -1000} - } - 2 { - if {$bptype != "delete"} {set r -2000} - } - } - } - } else { - set r -200 - } - } - } - } else { - set r -4 - } - } - set r -} {2} - -#ManagedWin::open DebugWin - -# Test: srcwin-4.4 -# Desc: Click on line to set BP -gdbtk_test srcwin-4.4 "Click on line to set BP" { - set r 0 - - # click mouse button 1 at index 14.1 - if {![click $twin [$twin bbox 14.1] <Button-1>]} {set r -100} - - # now look for BP at line 14 - foreach bpnum [gdb_get_breakpoint_list] { - set bpinfo [gdb_get_breakpoint_info $bpnum] - lassign $bpinfo file func line pc type enabled disposition \ - ignore_count commands cond thread hit_count - set file [lindex [file split $file] end] - if {$file == "list0.h"} { - if {$line == "14"} { - if {$enabled == "1"} {incr r} - if {$func == "foo"} {incr r} - if {$type == "breakpoint"} {incr r} - if {$disposition == "donttouch"} {incr r} - } - } - } - set r -} {4} - - -# Test: srcwin-4.5 -# Desc: Continue till here popup -gdbtk_test srcwin-4.4 "Continue till here popup" { - set r - set twin [$stw test_get twin] - - # click mouse button 1 at index 12.1 - set b [$twin bbox 12.1] - if {![click $twin $b <ButtonPress-3>]} {set r -100} - - # Hack. Just release the botton 10 pixels to the right and below - # where the press was. This should select the first entry in the - # popup menu, "Continue to Here". This should be made more robust. - set x [expr [lindex $b 0] + [lindex $b 2] / 2 + 10] - set y [expr [lindex $b 1] + [lindex $b 3] / 2 + 10] - if {![click $twin [list $x $y 0 0] <ButtonRelease-3>]} {set r -200} - - # check for PC_TAG on the correct line - if {$r == 0} { - if {![catch {set z [$twin dump 1.0 end]}]} { - foreach {k v i} $z { - if {$k == "tagon"} { - if {$v == "PC_TAG"} { - if {$i == "12.2"} { - incr r - } else { - incr r 5 - } - } - if {$v == "STACK_TAG"} {incr r 10} - if {$v == "BROWSE_TAG"} {incr r 100} - } elseif {$k == "image"} { - switch $i { - 10.0 {incr r} - 12.0 {incr r} - 14.0 {incr r} - default {incr r 1000} - } - } - } - } else { - set r -4 - } - } - # should have seen on PC_TAG at line 12, plus BP images at 10.0, 12.0 and 14.0 - set r -} {4} - -# 5.1 balloon variables -# Test: srcwin-5.1 -# Desc: variable balloon test -# continues to BP at line 14 and checks to see that value was updated -gdbtk_test srcwin-5.1 "variable balloon test" { - # move pointer out of the way - warp_pointer . 0 0 - set r 0 - set twin [$stw test_get twin] - - # move pointer to variable "x" and check balloon - set index [string first "x++" [$twin get 10.0 10.end]] - move_mouse_to $twin [$twin bbox 10.$index] - sleep 1 - if {[winfo ismapped $balloon]} { - if {![string compare "x=6" [$balloon.label cget -text]]} {incr r} - gdb_immediate "continue" 1 - if {![string compare "x=8" [$balloon.label cget -text]]} {incr r} - } else { - set r -1 - } - - set r -} {2} - -# 6.1 mixed mode disassembly of include file -# Test: srcwin-6.1 -# Desc: Some versions of GDBtk can't do mixed-mode disassembly of a function -# that is in an include file. -gdbtk_test srcwin-6.1 "mixed mode disassembly of include file" { - set r 0 - $srcwin mode "" MIXED - - # check contents of name and function comboboxes - set name [$statbar.name get] - set func [$statbar.func get] - if {$name != "list0.h"} {set r -1} - if {$func != "foo"} {set r -2} - - # check contents of source window - set twin [$stw test_get twin] - set text [$twin get 1.0 end] - # Is it correct? I don't know. Guess we look for some pieces of source... - if {[string first "static void" $text] != -1 && - [string first "foo (x)" $text] != -1 && - [string first "bar (x++);" $text] != -1} { - set r 1 - } - - set r -} {1} - -gdbtk_test_done - -# Local variables: -# mode: tcl -# change-log-default-name: "ChangeLog-gdbtk" -# End: diff --git a/gdb/testsuite/gdb.gdbtk/stack1.c b/gdb/testsuite/gdb.gdbtk/stack1.c deleted file mode 100644 index 389260a22a5..00000000000 --- a/gdb/testsuite/gdb.gdbtk/stack1.c +++ /dev/null @@ -1,231 +0,0 @@ -/* Functions defined in other files */ -extern void extern_func1_1 (int a, char *b, unsigned long c); - -/* Functions defined in this file */ -static void static_func_1 (int a, char *b, unsigned long c); -static void static_func_2 (int a, char *b, unsigned long c); -static void static_func_3 (int a, char *b, unsigned long c); -static void static_func_4 (int a, char *b, unsigned long c); -static void static_func_5 (int a, char *b, unsigned long c); -static void static_func_6 (int a, char *b, unsigned long c); -static void static_func_7 (int a, char *b, unsigned long c); -static void static_func_8 (int a, char *b, unsigned long c); -static void static_func_9 (int a, char *b, unsigned long c); -static void static_func_10 (int a, char *b, unsigned long c); -static void static_func_11 (int a, char *b, unsigned long c); -static void static_func_12 (int a, char *b, unsigned long c); -static void static_func_13 (int a, char *b, unsigned long c); -static void static_func_14 (int a, char *b, unsigned long c); -static void static_func_15 (int a, char *b, unsigned long c); - -void func_1 (int a, char *b, unsigned long c); -void func_2 (int a, char *b, unsigned long c); -void func_3 (int a, char *b, unsigned long c); -void func_4 (int a, char *b, unsigned long c); -void func_5 (int a, char *b, unsigned long c); -void func_6 (int a, char *b, unsigned long c); -void func_7 (int a, char *b, unsigned long c); -void func_8 (int a, char *b, unsigned long c); -void func_9 (int a, char *b, unsigned long c); -void func_10 (int a, char *b, unsigned long c); -void func_11 (int a, char *b, unsigned long c); -void func_12 (int a, char *b, unsigned long c); -void func_13 (int a, char *b, unsigned long c); -void func_14 (int a, char *b, unsigned long c); -void func_15 (int a, char *b, unsigned long c); - -int -main (int argc, char *argv[]) -{ - int a; - char *b; - unsigned long c; - - a = 1; - b = "This is a string."; - c = 0xdeadL; - - func_1 (a, b, c); - - exit (0); -} - -void -func_1 (int a, char *b, unsigned long c) -{ - func_2 (a, b, c); -} - -void -func_2 (int a, char *b, unsigned long c) -{ - func_3 (a, b, c); -} - -void -func_3 (int a, char *b, unsigned long c) -{ - func_4 (a, b, c); -} - -void -func_4 (int a, char *b, unsigned long c) -{ - func_5 (a, b, c); -} - -void -func_5 (int a, char *b, unsigned long c) -{ - func_6 (a, b, c); -} - -void -func_6 (int a, char *b, unsigned long c) -{ - func_7 (a, b, c); -} - -void -func_7 (int a, char *b, unsigned long c) -{ - func_8 (a, b, c); -} - -void -func_8 (int a, char *b, unsigned long c) -{ - func_9 (a, b, c); -} - -void -func_9 (int a, char *b, unsigned long c) -{ - func_10 (a, b, c); -} - -void -func_10 (int a, char *b, unsigned long c) -{ - func_11 (a, b, c); -} - -void -func_11 (int a, char *b, unsigned long c) -{ - func_12 (a, b, c); -} - -void -func_12 (int a, char *b, unsigned long c) -{ - func_13 (a, b, c); -} - -void -func_13 (int a, char *b, unsigned long c) -{ - func_14 (a, b, c); -} - -void -func_14 (int a, char *b, unsigned long c) -{ - func_15 (a, b, c); -} - -void -func_15 (int a, char *b, unsigned long c) -{ - static_func_1 (a, b, c); -} - -static void -static_func_1 (int a, char *b, unsigned long c) -{ - static_func_2 (a, b, c); -} - -static void -static_func_2 (int a, char *b, unsigned long c) -{ - static_func_3 (a, b, c); -} - -static void -static_func_3 (int a, char *b, unsigned long c) -{ - static_func_4 (a, b, c); -} - -static void -static_func_4 (int a, char *b, unsigned long c) -{ - static_func_5 (a, b, c); -} - -static void -static_func_5 (int a, char *b, unsigned long c) -{ - static_func_6 (a, b, c); -} - -static void -static_func_6 (int a, char *b, unsigned long c) -{ - static_func_7 (a, b, c); -} - -static void -static_func_7 (int a, char *b, unsigned long c) -{ - static_func_8 (a, b, c); -} - -static void -static_func_8 (int a, char *b, unsigned long c) -{ - static_func_9 (a, b, c); -} - -static void -static_func_9 (int a, char *b, unsigned long c) -{ - static_func_10 (a, b, c); -} - -static void -static_func_10 (int a, char *b, unsigned long c) -{ - static_func_11 (a, b, c); -} - -static void -static_func_11 (int a, char *b, unsigned long c) -{ - static_func_12 (a, b, c); -} - -static void -static_func_12 (int a, char *b, unsigned long c) -{ - static_func_13 (a, b, c); -} - -static void -static_func_13 (int a, char *b, unsigned long c) -{ - static_func_14 (a, b, c); -} - -static void -static_func_14 (int a, char *b, unsigned long c) -{ - static_func_15 (a, b, c); -} - -static void -static_func_15 (int a, char *b, unsigned long c) -{ - extern_func1_1 (a, b, c); -} diff --git a/gdb/testsuite/gdb.gdbtk/stack2.c b/gdb/testsuite/gdb.gdbtk/stack2.c deleted file mode 100644 index db47c469e6e..00000000000 --- a/gdb/testsuite/gdb.gdbtk/stack2.c +++ /dev/null @@ -1,107 +0,0 @@ -/* Functions defined in this file */ -void extern_func1_1 (int, char *, unsigned long); -void extern_func1_2 (int, char *, unsigned long); -void extern_func1_3 (int, char *, unsigned long); -void extern_func1_4 (int, char *, unsigned long); -void extern_func1_5 (int, char *, unsigned long); -void extern_func1_6 (int, char *, unsigned long); -void extern_func1_7 (int, char *, unsigned long); -void extern_func1_8 (int, char *, unsigned long); -void extern_func1_9 (int, char *, unsigned long); -void extern_func1_10 (int, char *, unsigned long); -void extern_func1_11 (int, char *, unsigned long); -void extern_func1_12 (int, char *, unsigned long); -void extern_func1_13 (int, char *, unsigned long); -void extern_func1_14 (int, char *, unsigned long); -void extern_func1_15 (int, char *, unsigned long); - -void -extern_func1_1 (int a, char *b, unsigned long c) -{ - extern_func1_2 (a, b, c); -} - -void -extern_func1_2 (int a, char *b, unsigned long c) -{ - extern_func1_3 (a, b, c); -} - -void -extern_func1_3 (int a, char *b, unsigned long c) -{ - extern_func1_4 (a, b, c); -} - -void -extern_func1_4 (int a, char *b, unsigned long c) -{ - extern_func1_5 (a, b, c); -} - -void -extern_func1_5 (int a, char *b, unsigned long c) -{ - extern_func1_6 (a, b, c); -} - -void -extern_func1_6 (int a, char *b, unsigned long c) -{ - extern_func1_7 (a, b, c); -} - -void -extern_func1_7 (int a, char *b, unsigned long c) -{ - extern_func1_8 (a, b, c); -} - -void -extern_func1_8 (int a, char *b, unsigned long c) -{ - extern_func1_9 (a, b, c); -} - -void -extern_func1_9 (int a, char *b, unsigned long c) -{ - extern_func1_10 (a, b, c); -} - -void -extern_func1_10 (int a, char *b, unsigned long c) -{ - extern_func1_11 (a, b, c); -} - -void -extern_func1_11 (int a, char *b, unsigned long c) -{ - extern_func1_12 (a, b, c); -} - -void -extern_func1_12 (int a, char *b, unsigned long c) -{ - extern_func1_13 (a, b, c); -} - -void -extern_func1_13 (int a, char *b, unsigned long c) -{ - extern_func1_14 (a, b, c); -} - -void -extern_func1_14 (int a, char *b, unsigned long c) -{ - extern_func1_15 (a, b, c); -} - -void -extern_func1_15 (int a, char *b, unsigned long c) -{ - /* THE END */ - return; -} diff --git a/gdb/testsuite/gdb.hp/.Sanitize b/gdb/testsuite/gdb.hp/.Sanitize deleted file mode 100644 index 92af0c4799b..00000000000 --- a/gdb/testsuite/gdb.hp/.Sanitize +++ /dev/null @@ -1,108 +0,0 @@ -# .Sanitize for devo/gdb/testsuite/gdb.hp. - -# Each directory to survive its way into a release will need a file -# like this one called "./.Sanitize". All keyword lines must exist, -# and must exist in the order specified by this file. Each directory -# in the tree will be processed, top down, in the following order. - -# Hash started lines like this one are comments and will be deleted -# before anything else is done. Blank lines will also be squashed -# out. - -# The lines between the "Do-first:" line and the "Things-to-keep:" -# line are executed as a /bin/sh shell script before anything else is -# done in this directory. - -Do-first: - -# All files listed between the "Things-to-keep:" line and the -# "Do-last:" line will be kept. All other files will be removed. -# Directories listed in this section will have their own Sanitize -# called. Directories not listed will be removed in their entirety -# with rm -rf. - -Things-to-keep: - -Makefile.in -ambiguous.cc -ambiguous.exp -attach.c -attach.exp -attach2.c -attach2.exp -average.c -classes-hp.exp -compiler.c -compiler.cc -ctti.exp -ctti-add.cc -ctti-add1.cc -ctti-add2.cc -ctti-add3.cc -dbx.exp -exception.cc -exception.exp -execd-program.c -foll-exec.c -foll-exec.exp -foll-fork.c -foll-fork.exp -foll-vfork.c -foll-vfork.exp -gen-so-thresh.c -hwwatchbus.c -hwwatchbus.exp -inherit-hp.exp -misc-hp.cc -more-steps.c -more-steps.exp -namespace.cc -namespace.exp -optimize.c -optimize.exp -pxdb.c -pxdb.exp -quicksort.c -quicksort.exp -reg-test.exp -reg-test.s -run-hp.c -sized-enum.c -sized-enum.exp -so-thresh.exp -so-thresh.linkopts -so-thresh.mk -so-thresh.sh -start-stop.c -start-stop.exp -sum.c -templ-hp.cc -templ-hp.exp -thr-lib.c -thr-lib.exp -thr-lib.h -thr-liblib.c -thr-stg.exp -vforked-program.c -virtfun-hp.cc -virtfun-hp.exp -watch-cmd.exp -watch-hp.c -watch-hp.exp -xdb.c -xdb0.c -xdb0.h -xdb1.c -xdb1.exp -xdb2.exp -xdb3.exp - -Things-to-lose: - -# The lines between the "Do-last:" line and the end of the file -# are executed as a /bin/sh shell script after everything else is -# done. - -Do-last: - -# eof diff --git a/gdb/testsuite/gdb.hp/ambiguous.cc b/gdb/testsuite/gdb.hp/ambiguous.cc deleted file mode 100644 index 6ee7bc18ea9..00000000000 --- a/gdb/testsuite/gdb.hp/ambiguous.cc +++ /dev/null @@ -1,110 +0,0 @@ - -void marker1() -{ - return; -} - -class A1 { -public: - int x; - int y; -}; - -class A2 { -public: - int x; - int y; -}; - -class A3 { -public: - int x; - int y; -}; - -class X : public A1, public A2 { -public: - int z; -}; - -class L : public A1 { -public: - int z; -}; - -class LV : public virtual A1 { -public: - int z; -}; - -class M : public A2 { -public: - int w; -}; - -class N : public L, public M { -public: - int r; -}; - -class K : public A1 { -public: - int i; -}; - -class KV : public virtual A1 { -public: - int i; -}; - -class J : public K, public L { -public: - int j; -}; - -class JV : public KV, public LV { -public: - int jv; -}; - -class JVA1 : public KV, public LV, public A1 { -public: - int jva1; -}; - -class JVA2 : public KV, public LV, public A2 { -public: - int jva2; -}; - -class JVA1V : public KV, public LV, public virtual A1 { -public: - int jva1v; -}; - -int main() -{ - A1 a1; - A2 a2; - A3 a3; - X x; - L l; - M m; - N n; - K k; - J j; - JV jv; - JVA1 jva1; - JVA2 jva2; - JVA1V jva1v; - - int i; - - i += k.i + m.w + a1.x + a2.x + a3.x + x.z + l.z + n.r + j.j; - - marker1(); - -} - - - diff --git a/gdb/testsuite/gdb.hp/ambiguous.exp b/gdb/testsuite/gdb.hp/ambiguous.exp deleted file mode 100644 index 5b87af36d79..00000000000 --- a/gdb/testsuite/gdb.hp/ambiguous.exp +++ /dev/null @@ -1,216 +0,0 @@ -# Copyright (C) 1998 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - -# Please email any bugs, comments, and/or additions to this file to: -# bug-gdb@prep.ai.mit.edu - -# This file is part of the gdb testsuite - -# tests relating to ambiguous class members -# Written by Satish Pai <pai@apollo.hp.com> 1997-07-28 - -# This file is part of the gdb testsuite - -if $tracelevel then { - strace $tracelevel - } - -# -# test running programs -# - -set prms_id 0 -set bug_id 0 - -set testfile "ambiguous" -set srcfile ${testfile}.cc -set binfile ${objdir}/${subdir}/${testfile} - -if [get_compiler_info ${binfile} "c++"] { - return -1; -} - - -if {[skip_hp_tests $gcc_compiled]} then { continue } - -if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug c++}] != "" } { - gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail." -} - - -gdb_exit -gdb_start -gdb_reinitialize_dir $srcdir/$subdir -gdb_load ${binfile} - - -# -# set it up at a breakpoint so we can play with the variable values -# -if ![runto_main] then { - perror "couldn't run to breakpoint" - continue -} - -send_gdb "break marker1\n" ; gdb_expect -re ".*$gdb_prompt $" - send_gdb "cont\n" - gdb_expect { - -re "Break.* marker1 \\(\\) at .*:$decimal.*$gdb_prompt $" { - send_gdb "up\n" - gdb_expect { - -re ".*$gdb_prompt $" { pass "up from marker1" } - timeout { fail "up from marker1" } - } - } - -re "$gdb_prompt $" { fail "continue to marker1" } - timeout { fail "(timeout) continue to marker1" } - } - -# print out various class objects' members. The values aren't -# important, just check that the warning is emitted at the -# right times. - -# X is derived from A1 and A2; both A1 and A2 have a member 'x' -send_gdb "print x.x\n" -gdb_expect { - -re "warning: x ambiguous; using X::A1::x. Use a cast to disambiguate.\r\n\\$\[0-9\]* = 0\r\n$gdb_prompt $" { - pass "print x.x" - } - -re ".*$gdb_prompt $" { fail "print x.x" } - timeout { fail "(timeout) print x.x" } -} - - -# N is derived from A1 and A2, but not immediately -- two steps -# up in the hierarchy. Both A1 and A2 have a member 'x'. -send_gdb "print n.x\n" -gdb_expect { - -re "warning: x ambiguous; using N::L::A1::x. Use a cast to disambiguate.\r\n\\$\[0-9\]* = 0\r\n$gdb_prompt $" { - pass "print n.x" - } - -re ".*$gdb_prompt $" { fail "print n.x" } - timeout { fail "(timeout) print n.x" } -} - -# J is derived from A1 twice. A1 has a member x. -send_gdb "print j.x\n" -gdb_expect { - -re "warning: x ambiguous; using J::K::A1::x. Use a cast to disambiguate.\r\n\\$\[0-9\]* = 0\r\n$gdb_prompt $" { - pass "print j.x" - } - -re ".*$gdb_prompt $" { fail "print j.x" } - timeout { fail "(timeout) print j.x" } -} - -# JV is derived from A1 but A1 is a virtual base. Should not -# report an ambiguity in this case. -send_gdb "print jv.x\n" -gdb_expect { - -re "warning: x ambiguous.*Use a cast to disambiguate.\r\n\\$\[0-9\]* = 0\r\n$gdb_prompt $" { - fail "print jv.x (ambiguity reported)" - } - -re "\\$\[0-9\]* = 0\r\n$gdb_prompt $" { pass "print jv.x" } - -re ".*$gdb_prompt $" { fail "print jv.x (??)" } - timeout { fail "(timeout) print jv.x" } -} - -# JVA1 is derived from A1; A1 occurs as a virtual base in two -# ancestors, and as a non-virtual immediate base. Ambiguity must -# be reported. -send_gdb "print jva1.x\n" -gdb_expect { - -re "warning: x ambiguous; using JVA1::KV::A1::x. Use a cast to disambiguate.\r\n\\$\[0-9\]* = 0\r\n$gdb_prompt $" { - pass "print jva1.x" - } - -re ".*$gdb_prompt $" { fail "print jva1.x" } - timeout { fail "(timeout) print jva1.x" } -} - -# JVA2 is derived from A1 & A2; A1 occurs as a virtual base in two -# ancestors, and A2 is a non-virtual immediate base. Ambiguity must -# be reported as A1 and A2 both have a member 'x'. -send_gdb "print jva2.x\n" -gdb_expect { - -re "warning: x ambiguous; using JVA2::KV::A1::x. Use a cast to disambiguate.\r\n\\$\[0-9\]* = 0\r\n$gdb_prompt $" { - pass "print jva2.x" - } - -re ".*$gdb_prompt $" { fail "print jva2.x" } - timeout { fail "(timeout) print jva2.x" } -} - -# JVA1V is derived from A1; A1 occurs as a virtual base in two -# ancestors, and also as a virtual immediate base. Ambiguity must -# not be reported. -send_gdb "print jva1v.x\n" -gdb_expect { - -re "warning: x ambiguous.*Use a cast to disambiguate.\r\n\\$\[0-9\]* = 0\r\n$gdb_prompt $" { - fail "print jva1v.x (ambiguity reported)" - } - -re "\\$\[0-9\]* = 0\r\n$gdb_prompt $" { pass "print jva1v.x" } - -re ".*$gdb_prompt $" { fail "print jva1v.x (??)" } - timeout { fail "(timeout) print jva1v.x" } -} - -# Now check for ambiguous bases. - -# J is derived from A1 twice; report ambiguity if a J is -# cast to an A1. -send_gdb "print (A1)j\n" -gdb_expect { - -re "warning: A1 ambiguous; using J::K::A1. Use a cast to disambiguate.\r\n\\$\[0-9\]* = \{x = 0, y = 0\}\r\n$gdb_prompt $" { - pass "print (A1)j" - } - -re ".*$gdb_prompt $" { fail "print (A1)j" } - timeout { fail "(timeout) print (A1)j" } -} - -# JV is derived from A1 twice, but A1 is a virtual base; should -# not report ambiguity when a JV is cast to an A1. -send_gdb "print (A1)jv\n" -gdb_expect { - -re "warning: A1 ambiguous.*Use a cast to disambiguate.\r\n\\$\[0-9\]* = \{x = 0, y = 0\}\r\n$gdb_prompt $" { - fail "print (A1)jv (ambiguity reported)" - } - -re "\\$\[0-9\]* = \{x = 0, y = 0\}\r\n$gdb_prompt $" { pass "print (A1)jv" } - -re ".*$gdb_prompt $" { fail "print (A1)jv (??)" } - timeout { fail "(timeout) print (A1)jv" } -} - -# JVA1 is derived from A1; A1 is a virtual base and also a -# non-virtual base. Must report ambiguity if a JVA1 is cast to an A1. -send_gdb "print (A1)jva1\n" -gdb_expect { - -re "warning: A1 ambiguous; using JVA1::KV::A1. Use a cast to disambiguate.\r\n\\$\[0-9\]* = \{x = 0, y = 0\}\r\n$gdb_prompt $" { - pass "print (A1)jva1" - } - -re ".*$gdb_prompt $" { fail "print (A1)jva1" } - timeout { fail "(timeout) print (A1)jva1" } -} - -# JVA1V is derived from A1; A1 is a virtual base indirectly -# and also directly; must not report ambiguity when a JVA1V is cast to an A1. -send_gdb "print (A1)jva1v\n" -gdb_expect { - -re "warning: A1 ambiguous.*Use a cast to disambiguate.\r\n\\$\[0-9\]* = \{x = 0, y = 0\}\r\n$gdb_prompt $" { - fail "print (A1)jva1v (ambiguity reported)" - } - -re "\\$\[0-9\]* = \{x = 0, y = 0\}\r\n$gdb_prompt $" { pass "print (A1)jva1v" - } - -re ".*$gdb_prompt $" { fail "print (A1)jva1v (??)" } - timeout { fail "(timeout) print (A1)jva1v" } -} - - diff --git a/gdb/testsuite/gdb.hp/attach.c b/gdb/testsuite/gdb.hp/attach.c deleted file mode 100644 index 1aad3c1cc07..00000000000 --- a/gdb/testsuite/gdb.hp/attach.c +++ /dev/null @@ -1,19 +0,0 @@ -/* This program is intended to be started outside of gdb, and then - attached to by gdb. Thus, it simply spins in a loop. The loop - is exited when & if the variable 'should_exit' is non-zero. (It - is initialized to zero in this program, so the loop will never - exit unless/until gdb sets the variable to non-zero.) - */ -#include <stdio.h> - -int should_exit = 0; - -main () -{ - int local_i = 0; - - while (! should_exit) - { - local_i++; - } -} diff --git a/gdb/testsuite/gdb.hp/attach.exp b/gdb/testsuite/gdb.hp/attach.exp deleted file mode 100644 index 372acd05d7e..00000000000 --- a/gdb/testsuite/gdb.hp/attach.exp +++ /dev/null @@ -1,416 +0,0 @@ -# Copyright (C) 1997 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ - -# Please email any bugs, comments, and/or additions to this file to: -# bug-gdb@prep.ai.mit.edu - -# On HP-UX 11.0, this test is causing a process running -# the program "attach" to be left around spinning. -# Until we figure out why, I am commenting out the test -# to avoid polluting tiamat (our 11.0 nightly test machine) -# with these processes. RT -# -# Setting the magic bit in the target app should work. -# I added a "kill", and also a test for the R3 register -# warning. JB -# -if $tracelevel then { - strace $tracelevel - } - -set prms_id 0 -set bug_id 0 - - -# are we on a target board -if ![isnative] then { - return -} - -if { ![istarget "hppa*-*-hpux10.30"] && ![istarget "hppa*-*-hpux11.*"] } { - #setup_xfail "*-*-*" - return 0 -} - -set testfile "attach" -set srcfile ${testfile}.c -set srcfile2 ${testfile}2.c -set binfile ${objdir}/${subdir}/${testfile} -set binfile2 ${objdir}/${subdir}/${testfile}2 -set cleanupfile ${objdir}/${subdir}/${testfile}.awk - -#execute_anywhere "rm -f ${binfile} ${binfile2}" -remote_exec build "rm -f ${binfile} ${binfile2}" -# For debugging this test -# -#log_user 1 - -# Clean out any old files from past runs. -# -remote_exec build "${cleanupfile}" - -# build the first test case -# -if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug}] != "" } { - gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail." -} - -# Build the in-system-call test - -if { [gdb_compile "${srcdir}/${subdir}/${srcfile2}" "${binfile2}" executable {debug}] != "" } { - gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail." -} - -#if { [compile "-E ${srcdir}/${subdir}/compiler.c >> ${objdir}/${subdir}/${testfile}.tmp"] != ""# } { -# perror "Couldn't make ${testfile}.tmp" -# return -1 -#} - -#execute_anywhere "mv ${objdir}/${subdir}/${testfile}.tmp ${binfile}.ci" - -#source ${binfile}.ci - -proc do_attach_tests {} { - global gdb_prompt - global binfile - global srcfile - global testfile - global objdir - global subdir - global timeout - - # Start the program running and then wait for a bit, to be sure - # that it can be attached to. - # - set testpid [eval exec $binfile &] - exec sleep 2 - - # Verify that we cannot attach to nonsense. - # - send_gdb "attach abc\n" - gdb_expect { - -re "Illegal process-id: abc.*$gdb_prompt $"\ - {pass "attach to nonsense is prohibited"} - -re "Attaching to.*$gdb_prompt $"\ - {fail "attach to nonsense is prohibited (bogus pid allowed)"} - -re "$gdb_prompt $" {fail "attach to nonsense is prohibited"} - timeout {fail "(timeout) attach to nonsense is prohibited"} - } - - # Verify that we cannot attach to what appears to be a valid - # process ID, but is a process that doesn't exist. (I don't - # believe any process is ever assigned #0, at least on HPUX.) - # - send_gdb "attach 0\n" - gdb_expect { - # This reponse is expected on HP-UX 10.20 (i.e., ptrace-based). - -re "Attaching to.*, process 0.*No such process.*$gdb_prompt $"\ - {pass "attach to nonexistent process is prohibited"} - # This response is expected on HP-UX 10.30 & 11.0 (i.e., ttrace-based). - -re "Attaching to.*, process 0.*Permission denied.*$gdb_prompt $"\ - {pass "attach to nonexistent process is prohibited"} - -re "$gdb_prompt $" {fail "attach to nonexistent process is prohibited"} - timeout {fail "(timeout) attach to nonexistent process is prohibited"} - } - - # Verify that we can attach to the process by first giving its - # executable name via the file command, and using attach with - # the process ID. - # - # (Actually, the test system appears to do this automatically - # for us. So, we must also be prepared to be asked if we want - # to discard an existing set of symbols.) - # - send_gdb "file $binfile\n" - gdb_expect { - -re "Load new symbol table from.*y or n.*$" { - send_gdb "y\n" - gdb_expect { - -re "Reading symbols from $binfile\.\.\.*done.*$gdb_prompt $"\ - {pass "(re)set file, before attach1"} - -re "$gdb_prompt $" {fail "(re)set file, before attach1"} - timeout {fail "(timeout) (re)set file, before attach1"} - } - } - -re "Reading symbols from $binfile\.\.\.*done.*$gdb_prompt $"\ - {pass "set file, before attach1"} - -re "$gdb_prompt $" {fail "set file, before attach1"} - timeout {fail "(timeout) set file, before attach1"} - } - - send_gdb "attach $testpid\n" - gdb_expect { - -re "Attaching to program.*$binfile, process $testpid.*main.*at .*$srcfile:.*$gdb_prompt $"\ - {pass "attach1, after setting file"} - -re "$gdb_prompt $" {fail "attach1, after setting file"} - timeout {fail "(timeout) attach1, after setting file"} - } - - # Verify that we can "see" the variable "should_exit" in the - # program, and that it is zero. - # - send_gdb "print should_exit\n" - gdb_expect { - -re ".* = 0.*$gdb_prompt $"\ - {pass "after attach1, print should_exit"} - -re "$gdb_prompt $" {fail "after attach1, print should_exit"} - timeout {fail "(timeout) after attach1, print should_exit"} - } - - # Detach the process. - # - send_gdb "detach\n" - gdb_expect { - -re "Detaching from program: .*$binfile.*$gdb_prompt $"\ - {pass "attach1 detach"} - -re "$gdb_prompt $" {fail "attach1 detach"} - timeout {fail "(timeout) attach1 detach"} - } - - # Wait a bit for gdb to finish detaching - # - exec sleep 5 - - # Purge the symbols from gdb's brain. (We want to be certain - # the next attach, which won't be preceded by a "file" command, - # is really getting the executable file without our help.) - # - set old_timeout $timeout - set timeout [expr $timeout + 20] - send_gdb "file\n" - gdb_expect { - -re ".*gdb internal error.*$" { - fail "Internal error, prob. Memory corruption" - } - -re "No exec file now.*Discard symbol table.*y or n.*$" { - send_gdb "y\n" - gdb_expect { - -re "No symbol file now.*$gdb_prompt $"\ - {pass "attach1, purging symbols after detach"} - -re "$gdb_prompt $" {fail "attach1, purging symbols after detach"} - timeout {fail "(timeout) attach1, purging symbols after detach"} - } - } - -re "$gdb_prompt $" {fail "attach1, purging file after detach"} - timeout { - fail "(timeout) attach1, purging file after detach" - } - } - set timeout $old_timeout - - # Verify that we can attach to the process just by giving the - # process ID. - # - send_gdb "attach $testpid\n" - gdb_expect { - -re "Attaching to process $testpid.*Reading symbols from $binfile.*main.*at .*$gdb_prompt $"\ - {pass "attach2"} - -re "$gdb_prompt $" {fail "attach2"} - timeout {fail "(timeout) attach2"} - } - - # Verify that we can modify the variable "should_exit" in the - # program. - # - send_gdb "set should_exit=1\n" - gdb_expect { - -re "$gdb_prompt $" {pass "after attach2, set should_exit"} - timeout {fail "(timeout) after attach2, set should_exit"} - } - - # Verify that the modification really happened. - # - send_gdb "tbreak 19\n" - gdb_expect { - -re "Breakpoint .*at.*$srcfile, line 19.*$gdb_prompt $"\ - {pass "after attach2, set tbreak postloop"} - -re "$gdb_prompt $" {fail "after attach2, set tbreak postloop"} - timeout {fail "(timeout) after attach2, set tbreak postloop"} - } - send_gdb "continue\n" - gdb_expect { - -re "main.*at.*$srcfile:19.*$gdb_prompt $"\ - {pass "after attach2, reach tbreak postloop"} - -re "$gdb_prompt $" {fail "after attach2, reach tbreak postloop"} - timeout {fail "(timeout) after attach2, reach tbreak postloop"} - } - - # Allow the test process to exit, to cleanup after ourselves. - # - send_gdb "continue\n" - gdb_expect { - -re "Program exited normally.*$gdb_prompt $"\ - {pass "after attach2, exit"} - -re "$gdb_prompt $" {fail "after attach2, exit"} - timeout {fail "(timeout) after attach2, exit"} - } - - # Make sure we don't leave a process around to confuse - # the next test run (and prevent the compile by keeping - # the text file busy), in case the "set should_exit" didn't - # work. - # -# execute_anywhere "kill -9 ${testpid}" -remote_exec build "kill -9 ${testpid}" - # Start the program running and then wait for a bit, to be sure - # that it can be attached to. - # - set testpid [eval exec $binfile &] - exec sleep 2 - - # Verify that we can attach to the process, and find its a.out - # when we're cd'd to some directory that doesn't contain the - # a.out. (We use the source path set by the "dir" command.) - # - send_gdb "dir ${objdir}/${subdir}\n" - gdb_expect { - -re ".*Source directories searched: .*$gdb_prompt $"\ - {pass "set source path"} - -re "$gdb_prompt $" {fail "set source path"} - timeout {fail "(timeout) set source path"} - } - - send_gdb "cd /tmp\n" - gdb_expect { - -re ".*Working directory /tmp.*$gdb_prompt $"\ - {pass "cd away from process' a.out"} - -re "$gdb_prompt $" {fail "cd away from process' a.out"} - timeout {fail "(timeout) cd away from process' a.out"} - } - - # Explicitly flush out any knowledge of the previous attachment. - send_gdb "symbol\n" - gdb_expect { - -re ".*Discard symbol table from.*y or n. $"\ - {send_gdb "y\n" - gdb_expect { - -re ".*No symbol file now.*$gdb_prompt $"\ - {pass "before attach3, flush symbols"} - -re "$gdb_prompt $" {fail "before attach3, flush symbols"} - timeout {fail "(timeout) before attach3, flush symbols"} - } - } - -re ".*No symbol file now.*$gdb_prompt $"\ - {pass "before attach3, flush symbols"} - -re "$gdb_prompt $" {fail "before attach3, flush symbols"} - timeout {fail "(timeout) before attach3, flush symbols"} - } - send_gdb "exec\n" - gdb_expect { - -re ".*No exec file now.*$gdb_prompt $"\ - {pass "before attach3, flush exec"} - -re "$gdb_prompt $" {fail "before attach3, flush exec"} - timeout {fail "(timeout) before attach3, flush exec"} - } - - send_gdb "attach $testpid\n" - gdb_expect { - -re "Attaching to process $testpid.*Reading symbols from $binfile.*main.*at .*$gdb_prompt $"\ - {pass "attach when process' a.out not in cwd"} - -re "$gdb_prompt $" {fail "attach when process' a.out not in cwd"} - timeout {fail "(timeout) attach when process' a.out not in cwd"} - } - - send_gdb "kill\n" - gdb_expect { - -re ".*Kill the program being debugged.*y or n. $"\ - {send_gdb "y\n" - gdb_expect { - -re "$gdb_prompt $" {pass "after attach3, exit"} - timeout {fail "(timeout) after attach3, exit"} - } - } - -re "$gdb_prompt $" {fail "after attach3, exit"} - timeout {fail "(timeout) after attach3, exit"} - } -} - -proc do_call_attach_tests {} { - global gdb_prompt - global binfile2 - - # Start the program running and then wait for a bit, to be sure - # that it can be attached to. - # - set testpid [eval exec $binfile2 &] - exec sleep 2 - - # Attach - # - send_gdb "attach $testpid\n" - gdb_expect { - -re ".*warning: reading register.*I.*O error.*$gdb_prompt $" { - fail "attach call, read register 3 error" - } - -re "Attaching to.*process $testpid.*libc.*$gdb_prompt $" { - pass "attach call" - } - -re "$gdb_prompt $" {fail "attach call"} - timeout {fail "(timeout) attach call"} - } - - # See if other registers are problems - # - send_gdb "i r r3\n" - gdb_expect { - -re ".*warning: reading register.*$gdb_prompt $" { - pass "CHFts23490: known bug" - } - -re ".*r3.*$gdb_prompt $" { - pass "Bug fixed, Yayyy!" - } - timeout { fail "timeout on info reg" } - } - - # Get rid of the process - # - gdb_test "p should_exit = 1" ".*" "" - gdb_test "c" ".*Program exited normally.*" "" - - # Be paranoid - # -# execute_anywhere "kill -9 ${testpid}" -remote_exec build "kill -9 ${testpid}" - -} - - -# Start with a fresh gdb -# -gdb_exit -gdb_start -gdb_reinitialize_dir $srcdir/$subdir -gdb_load ${binfile} - -# This is a test of gdb's ability to attach to a running process. -# -do_attach_tests - -# Test attaching when the target is inside a system call -# -gdb_exit -gdb_start -gdb_reinitialize_dir $srcdir/$subdir -do_call_attach_tests - -# Until "set follow-fork-mode" and "catch fork" are implemented on -# other targets... -# -if ![istarget "hppa*-hp-hpux*"] then { - setup_xfail "*-*-*" -} - -return 0 diff --git a/gdb/testsuite/gdb.hp/attach2.c b/gdb/testsuite/gdb.hp/attach2.c deleted file mode 100644 index 8eb7a056746..00000000000 --- a/gdb/testsuite/gdb.hp/attach2.c +++ /dev/null @@ -1,23 +0,0 @@ -/* This program is intended to be started outside of gdb, and then - attached to by gdb. Thus, it simply spins in a loop. The loop - is exited when & if the variable 'should_exit' is non-zero. (It - is initialized to zero in this program, so the loop will never - exit unless/until gdb sets the variable to non-zero.) - */ -#include <stdio.h> -#include <stdlib.h> - -int should_exit = 0; - -main () -{ - int local_i = 0; - - sleep( 10 ); /* System call causes register fetch to fail */ - /* This is a known HPUX "feature" */ - while (! should_exit) - { - local_i++; - } - return (0); -} diff --git a/gdb/testsuite/gdb.hp/attach2.exp b/gdb/testsuite/gdb.hp/attach2.exp deleted file mode 100644 index e298ee93f7a..00000000000 --- a/gdb/testsuite/gdb.hp/attach2.exp +++ /dev/null @@ -1,263 +0,0 @@ -# attach.exp -- Expect script to test attaching to a threaded pgm -# Copyright (C) 1992 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ - -# Please email any bugs, comments, and/or additions to this file to: -# bug-gdb@prep.ai.mit.edu - -# use this to debug: -# -#log_user 1 - -# Temporarily comment out - hanging -#return 0 - -if $tracelevel then { - strace $tracelevel -} - -# Thread stuff is _slow_; prepare for long waits. -# -# Further, this test has some "null" lines designed -# to consume output from gdb that was too late to be -# matched (sequence is "gdb_test" sends; timeout and -# on to next send; result finally comes in; mismatch). -# -# The null command is 'gdb_test "p \$pc" ".*" ""' -# NOTE: this command undoes any up/down stuff! -# -proc pre_timeout { how_long } { - global timeout - - set timeout [expr "$timeout + $how_long"] -} - -proc post_timeout {} { - global timeout - global oldtimeout - - set timeout $oldtimeout - gdb_test "p \$pc" ".*" "" -} - -if { ![istarget "hppa*-*-hpux10.30"] && ![istarget "hppa*-*-hpux11.*"] } { - verbose "HPUX thread test ignored for non-hppa or pre-HP/UX-10.30 targets." - return 0 -} - -# We used to wait 5 seconds , but tiamat is faster than -# hydra...or is it that the OS allocates time differently(?). -# -set delay 5 -if { ![istarget "hppa*-*-hpux11.*"] } { - set delay 45 -} - -set testfile quicksort -set srcfile ${srcdir}/${subdir}/${testfile}.c -set binfile ${objdir}/${subdir}/${testfile} - -if [get_compiler_info ${binfile}] { - return -1 -} - -set oldtimeout $timeout -#set timeout [expr "$timeout + 100"] -set oldverbose $verbose -#set verbose 40 - -# To build the executable we need to link against the thread library. -# -# cc -Ae -g -o quicksort -lpthread quicksort.c -# -#remote_exec build "${srcfile} -Ae -g -lpthread -o ${binfile}" -#gdb_compile "${srcfile} -Ae -g -lpthread -o ${binfile}" - -if {$gcc_compiled == 0} { - set additional_flags "additional_flags=-Ae" -} else { - set additional_flags "" -} - -if { [gdb_compile "${srcdir}/${subdir}/${testfile}.c" "${binfile}.o" object [list debug $additional_flags]] != "" } { - gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail." -} -remote_exec build "ld /usr/ccs/lib/crt0.o ${binfile}.o -lcl -lpthread -lc /opt/langtools/lib/end.o -o ${binfile}" - - -gdb_exit -gdb_start -gdb_reinitialize_dir $srcdir/$subdir - -# Start the application running and get its pid. -# Then we wait for it to get started and attach. -# -set testpid [eval exec $binfile 1 &] -exec sleep $delay - -# Now attach to the file. -# -pre_timeout 100 -gdb_test "attach $testpid" ".*Attaching to process.*Reading symbols from.*done.*" "attach to target" -post_timeout - -# Wait for things to quiesce. -# -exec sleep 0 - -send_gdb "bt\n" - -set do_return 0 -set do_go_to_118 0 -pre_timeout 400 -gdb_expect { - -re ".*sleep.*work_init.*main.*$gdb_prompt $" { - pass "at expected location" - } - -re ".*drand48.*$gdb_prompt $" { - set do_go_to_118 1 - } - -re ".*pthread_mutex_lock.*$gdb_prompt $" { - set do_go_to_118 1 - } - -re ".*pthread_mutex_unlock.*$gdb_prompt $" { - set do_go_to_118 1 - } - -re ".*main.*$gdb_prompt $" { - set do_go_to_118 1 - } - -re ".*No stack.*$gdb_prompt $" { - fail "Failed attach, change wait amount down, rest would fail" - set do_return 1 - } - -re ".*$gdb_prompt $" { - # Who knows? - # - set do_go_to_118 1 - } - timeout { - set do_return 1 - fail "timeout on bt, avoiding rest of test" - } -} -post_timeout - -# Too late; just give up. -# -if { $do_return } { - set timeout $oldtimeout - set verbose $oldverbose - return 0 -} - -# Maybe too early--set a temp break and continue. -# We have to set this on both paths, so that we can -# know what numbers breakpoints will be. -# -gdb_test "tb 118" ".*Breakpoint 1.*118.*" "" -if { $do_go_to_118 } { - pre_timeout 100 - send_gdb "c\n" - gdb_expect { - -re ".*at.*118.*118.*$gdb_prompt $" { - # Ok, just keep going - } - -re ".*Program exited.*$gdb_prompt $" { - fail "Attached too late, set wait amount downwards" - set timeout $oldtimeout - set verbose $oldverbose - return 0 - } - -re ".*$gdb_prompt $" { - fail "Unexpected result on attach" - set timeout $oldtimeout - set verbose $oldverbose - return 0 - } - timeout { - fail "timeout on continue " - } - } - post_timeout -} - -# Look at the threads. -# -pre_timeout 100 -gdb_test "info thread" ".*7.*6.*5.*4.*3.*2.*\\\* 1.*thread.*" "first info thread" -post_timeout - -# We expect to be inside the "sleep" call, so check that. -# -if { [expr "!$do_go_to_118"] } { - gdb_test "up" ".*\#1.*nanosleep.*" "up 1" - gdb_test "up" ".*\#2.*sleep.*" "up 2" - pre_timeout 100 - gdb_test "up" ".*\#3.*work_init.*$testfile.*c:118.*sleep.*" "up 3" - post_timeout -} else { - send_user "Skipped three tests\n" -} - -# Get out of that call. -# -gdb_test "b 120" ".*Breakpoint 2.*120.*" "set bp" -pre_timeout 100 -gdb_test "c" ".*Breakpoint 2.*at.*120.*" "hit bp" -post_timeout - -# Look at the threads. -# -pre_timeout 100 -gdb_test "info thread" ".*7.*6.*5.*4.*3.*2.*1.*thread.*$testfile.*c*120.*" "2nd info thread" -post_timeout - -# Do some more stuff, to make sure we can -# -gdb_test "thread 3" ".*Switching to.*thread.*ksleep.*" "switch thread" - -gdb_test "up" ".*_lwp_cond_timedwait.*" "up 5" -gdb_test "up" ".*pthread_cond_wait.*" "up 6" -gdb_test "up" ".*\#3.*worker.*144.*" "up 7" -gdb_test "up" ".*__pthread_exit.*" "up 8" -gdb_test "up" ".*Initial.*cannot go up.*" "found thread base" - -gdb_test "b 145 thr 3" ".*Breakpoint 3.*145.*" "thread-specific bp" -gdb_test "i b" ".*2.*breakpoint.*at.*120.*3.*breakpoint.*at.*145 thread 3.*" "show thread-specific bp" -gdb_test "del 2" ".*" "" - -gdb_test "c" ".*Breakpoint 3.*145.*" "hit thread-specific bp" -gdb_test "i th" ".*\\\* 3.*145.*" "at correct thread" - -pre_timeout 100 -gdb_test "n" ".*146.*" "next from thread-specific bp" -post_timeout - -gdb_test "d 3" ".*" "" -gdb_test "c" ".*Program exited normally\..*" "run to finish" - -# Done! -# -gdb_exit - -set timeout $oldtimeout -set verbose $oldverbose - -# execute_anywhere "rm -f ${binfile}" -# -return 0 - - diff --git a/gdb/testsuite/gdb.hp/average.c b/gdb/testsuite/gdb.hp/average.c deleted file mode 100644 index 070eaefa27e..00000000000 --- a/gdb/testsuite/gdb.hp/average.c +++ /dev/null @@ -1,39 +0,0 @@ -/* This is a sample program for the HP WDB debugger. */ - -#include <stdio.h> - -#define num 10 - -static int my_list[num] = {3,4,2,0,2,1,8,3,6,7}; - -#ifdef __STDC__ -void print_average(int list[], int low, int high) -#else -void print_average(list, low, high) -int list[], low, high; -#endif - { - int total, num_elements, average; - total = sum(list, low, high); - num_elements = high - low; /* note this is an off-by-one bug */ - - average = total / num_elements; - printf("%10.d\n", average); - } - -#ifdef __STDC__ -int main(void) -#else -main () -#endif -{ - char c; - int first = 0; - int last = num-1; - - /* Try two test cases. */ - print_average (my_list, first, last); - print_average (my_list, first, last - 3); -foo: - exit(0); -} diff --git a/gdb/testsuite/gdb.hp/classes-hp.exp b/gdb/testsuite/gdb.hp/classes-hp.exp deleted file mode 100644 index cb22c96e8fc..00000000000 --- a/gdb/testsuite/gdb.hp/classes-hp.exp +++ /dev/null @@ -1,859 +0,0 @@ -# Copyright (C) 1992, 1994, 1995, 1997 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - -# Please email any bugs, comments, and/or additions to this file to: -# bug-gdb@prep.ai.mit.edu - -# This file was written by Fred Fish. (fnf@cygnus.com) - -set ws "\[\r\n\t \]+" - -if $tracelevel then { - strace $tracelevel -} - - -# Check to see if we have an executable to test. If not, then either we -# haven't tried to compile one, or the compilation failed for some reason. -# In either case, just notify the user and skip the tests in this file. - -set testfile "misc-hp" -set srcfile ${testfile}.cc -set binfile ${objdir}/${subdir}/${testfile} - -if [get_compiler_info ${binfile} "c++"] { - return -1; -} - - -if {[skip_hp_tests $gcc_compiled]} then { continue } - -if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug c++}] != "" } { - gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail." -} - -# -# Test ptype of class objects. -# - -proc test_ptype_class_objects {} { - global gdb_prompt - global ws - - # Note that struct members are public by default, so we don't print - # "public:" for the public members of structs. - # Accept it as an expected failure if gdb just fails to distinguish between - # class and struct, and everything else is OK. - - send_gdb "ptype struct default_public_struct\n" - gdb_expect { - -re "type = struct default_public_struct \{${ws}int a;${ws}int b;\r\n\}\r\n$gdb_prompt $" { - pass "ptype struct default_public_struct" - } - -re "type = class default_public_struct \{\r\n.*int a;${ws}int b;\r\n.*\}\r\n$gdb_prompt $" { - setup_xfail "*-*-*" - fail "ptype struct default_public_struct" - } - -re ".*$gdb_prompt $" { fail "ptype struct default_public_struct" } - timeout { fail "ptype struct default_public_struct (timeout)" ; return } - } - - # Note that struct members are public by default, so we don't print - # "public:" for the public members of structs. - # Accept it as an expected failure if gdb just fails to distinguish between - # class and struct, and everything else is OK. - - send_gdb "ptype struct explicit_public_struct\n" - gdb_expect { - -re "type = struct explicit_public_struct \{${ws}int a;${ws}int b;\r\n.*\}\r\n$gdb_prompt $" { - pass "ptype struct explicit_public_struct" - } - -re "type = class explicit_public_struct \{\r\n.*int a;${ws}int b;\r\n.*\}\r\n$gdb_prompt $" { - setup_xfail "*-*-*" - fail "ptype struct explicit_public_struct" - } - -re ".*$gdb_prompt $" { fail "ptype struct explicit_public_struct" } - timeout { fail "ptype struct explicit_public_struct (timeout)" ; return } - } - - # Accept it as an expected failure if gdb just fails to distinguish between - # class and struct, and everything else is OK. - - setup_xfail_format "DWARF 1" - send_gdb "ptype struct protected_struct\n" - gdb_expect { - -re "type = struct protected_struct \{${ws}protected:${ws}int a;${ws}int b;\r\n\}\r\n$gdb_prompt $" { - pass "ptype struct protected_struct (FIXME)" - } - -re "type = class protected_struct \{${ws}protected:${ws}int a;${ws}int b;\r\n.*\}\r\n$gdb_prompt $" { - setup_xfail "*-*-*" - fail "ptype struct protected_struct (FIXME)" - } - -re ".*$gdb_prompt $" { fail "ptype struct protected_struct" } - timeout { fail "ptype struct protected_struct (timeout)" ; return } - } - - # Accept it as an expected failure if gdb just fails to distinguish between - # class and struct, and everything else is OK. - - setup_xfail_format "DWARF 1" - send_gdb "ptype struct private_struct\n" - gdb_expect { - -re "type = struct private_struct \{${ws}private:${ws}int a;${ws}int b;\r\n\}\r\n$gdb_prompt $" { - pass "ptype struct private_struct (FIXME)" - } - -re "type = class private_struct \{${ws}private:${ws}int a;${ws}int b;\r\n.*\}\r\n$gdb_prompt $" { - setup_xfail "*-*-*" - fail "ptype struct private_struct (FIXME)" - } - -re ".*$gdb_prompt $" { fail "ptype struct private_struct" } - timeout { fail "ptype struct private_struct (timeout)" ; return } - } - - # Accept it as an expected failure if gdb just fails to distinguish between - # class and struct, and everything else is OK. - - setup_xfail_format "DWARF 1" - send_gdb "ptype struct mixed_protection_struct\n" - gdb_expect { - -re "type = struct mixed_protection_struct \{${ws}int a;${ws}int b;${ws}private:${ws}int c;${ws}int d;${ws}protected:${ws}int e;${ws}int f;${ws}public:${ws}int g;${ws}private:${ws}int h;${ws}protected:${ws}int i;\[\r\n\]+\}\[\r\n\]+$gdb_prompt $" { - pass "ptype struct mixed_protection_struct (FIXME)" - } - -re "type = struct mixed_protection_struct \{\r\n\[ \]*public:\r\n\[ \]*int a;\r\n\[ \]*int b;\r\n\[ \]*private:\r\n\[ \]*int c;\r\n\[ \]*int d;\r\n\[ \]*protected:\r\n\[ \]*int e;\r\n\[ \]*int f;\r\n\[ \]*public:\r\n\[ \]*int g;\r\n\[ \]*private:\r\n\[ \]*int h;\r\n\[ \]*protected:\r\n\[ \]*int i;\r\n.*\}\r\n$gdb_prompt $" { - pass "ptype struct mixed_protection_struct (extra public)" - } - -re "type = class mixed_protection_struct \{${ws}public:${ws}int a;${ws}int b;${ws}private:${ws}int c;${ws}int d;${ws}protected:${ws}int e;${ws}int f;${ws}public:${ws}int g;${ws}private:${ws}int h;${ws}protected:${ws}int i;\r\n.*\}\r\n$gdb_prompt $" { - setup_xfail "*-*-*" - fail "ptype struct mixed_protection_struct (FIXME)" - } - -re ".*$gdb_prompt $" { fail "ptype struct mixed_protection_struct" } - timeout { fail "ptype struct mixed_protection_struct (timeout)" ; return } - } - - # Accept it as an expected failure if gdb just fails to distinguish between - # class and struct, and everything else is OK. - - send_gdb "ptype class public_class\n" - gdb_expect { - -re "type = class public_class \{${ws}public:${ws}int a;${ws}int b;\r\n.*\}\r\n$gdb_prompt $" { - pass "ptype class public_class (FIXME)" - } - -re "type = struct public_class \{${ws}int a;${ws}int b;\r\n\}\r\n$gdb_prompt $" { - setup_xfail "*-*-*" - fail "ptype class public_class (FIXME)" - } - -re ".*$gdb_prompt $" { fail "ptype class public_class" } - timeout { fail "ptype class public_class (timeout)" ; return } - } - - send_gdb "ptype class protected_class\n" - gdb_expect { - -re "type = class protected_class \{${ws}protected:${ws}int a;${ws}int b;\r\n.*\}\r\n$gdb_prompt $" { - pass "ptype class protected_class" - } - -re "type = struct protected_class \{${ws}int a;${ws}int b;\r\n\}\r\n$gdb_prompt $" { - setup_xfail "*-*-*" - fail "ptype class protected_class" - } - -re ".*$gdb_prompt $" { fail "ptype class protected_class" } - timeout { fail "ptype class protected_class (timeout)" ; return } - } - - # Accept it as an expected failure if gdb just emits a superflous "private:" - # attribute, since classes default to private and for consistency with - # structs (where we don't print the "public:" attribute) we don't print - # the "private:" attribute. - - setup_xfail_format "DWARF 1" - send_gdb "ptype class default_private_class\n" - gdb_expect { - -re "type = class default_private_class \{${ws}int a;${ws}int b;\r\n.*\}\r\n$gdb_prompt $" { - pass "ptype class default_private_class (FIXME)" - } - -re "type = class default_private_class \{${ws}private:${ws}int a;${ws}int b;\r\n.*\}\r\n$gdb_prompt $" { - setup_xfail "*-*-*" - fail "ptype class default_private_class (FIXME)" - } - -re ".*$gdb_prompt $" { fail "ptype class default_private_class" } - timeout { fail "ptype class default_private_class (timeout)" ; return } - } - - send_gdb "ptype class explicit_private_class\n" - gdb_expect { - -re "type = class explicit_private_class \{${ws}private:${ws}int a;${ws}int b;\r\n.*\}\r\n$gdb_prompt $" { - pass "ptype class explicit_private_class" - } - -re "type = class explicit_private_class \{\r\n\[ \]*int a;\r\n\[ \]*int b;\r\n.*\}\r\n$gdb_prompt $" { - pass "ptype class explicit_private_class (OK for HP aCC)" - } - -re "type = struct explicit_private_class \{${ws}int a;${ws}int b;\r\n.*\}\r\n$gdb_prompt $" { - setup_xfail "*-*-*" - fail "ptype class explicit_private_class" - } - -re ".*$gdb_prompt $" { fail "ptype class explicit_private_class" } - timeout { fail "ptype class explicit_private_class (timeout)" ; return } - } - - send_gdb "ptype class mixed_protection_class\n" - gdb_expect { - -re "type = class mixed_protection_class \{${ws}public:${ws}int a;${ws}int b;${ws}private:${ws}int c;${ws}int d;${ws}protected:${ws}int e;${ws}int f;${ws}public:${ws}int g;${ws}private:${ws}int h;${ws}protected:${ws}int i;\r\n.*\}\r\n$gdb_prompt $" { - pass "ptype class mixed_protection_class" - } - -re "type = struct mixed_protection_class \{${ws}int a;${ws}int b;${ws}int c;${ws}int d;${ws}int e;${ws}int f;${ws}int g;${ws}int h;${ws}int i;\r\n.*\}\r\n$gdb_prompt $" { - setup_xfail "*-*-*" - fail "ptype class mixed_protection_class" - } - -re ".*$gdb_prompt $" { fail "ptype class mixed_protection_class" } - timeout { fail "ptype class mixed_protection_class (timeout)" ; return } - } - - # This class does not use any C++-specific features, so it's fine for - # it to print as "struct". - send_gdb "ptype class A\n" - gdb_expect { - -re "type = (class|struct) A \{(${ws}public:|)${ws}int a;${ws}int x;((${ws}A & operator=\\(A const &\\);)|(${ws}A\\(A const &\\);)|(${ws}A\\(void\\);))*${ws}\}\r\n$gdb_prompt $" { - pass "ptype class A" - } - -re ".*$gdb_prompt $" { - fail "ptype class A" - } - timeout { - fail "ptype class A (timeout)" - return - } - } - - setup_xfail_format "DWARF 1" - send_gdb "ptype class B\n" - gdb_expect { - -re "type = class B : public A \{${ws}public:${ws}int b;${ws}int x;${ws}B & operator=\\(B const &\\);${ws}B\\(B const &\\);${ws}B\\(void\\);${ws}\}\r\n$gdb_prompt $" { - pass "ptype class B" - } - -re "type = class B : public A \{${ws}public:${ws}int b;${ws}int x;((${ws}B & operator=\\(B const &\\);)|(${ws}B\\(B const &\\);)|(${ws}B\\(void\\);))*${ws}\}\r\n$gdb_prompt $" { - pass "ptype class B (obsolescent gcc or gdb)" - } - -re ".*$gdb_prompt $" { - fail "ptype class B" - } - timeout { - fail "ptype class B (timeout)" - return - } - } - - setup_xfail_format "DWARF 1" - send_gdb "ptype class C\n" - gdb_expect { - -re "type = class C : public A \{${ws}public:${ws}int c;${ws}int x;${ws}C & operator=\\(C const &\\);${ws}C\\(C const &\\);${ws}C\\(void\\);${ws}\}\r\n$gdb_prompt $" { - pass "ptype class C" - } - -re "type = class C : public A \{${ws}public:${ws}int c;${ws}int x;((${ws}C & operator=\\(C const &\\);)|(${ws}C\\(C const &\\);)|(${ws}C\\(void\\);))*${ws}\}\r\n$gdb_prompt $" { - pass "ptype class C (obsolescent gcc or gdb)" - } - -re ".*$gdb_prompt $" { - fail "ptype class C" - } - timeout { - fail "ptype class C (timeout)" - return - } - } - - setup_xfail_format "DWARF 1" - send_gdb "ptype class D\n" - gdb_expect { - -re "type = class D : public B, public C \{${ws}public:${ws}int d;${ws}int x;${ws}D & operator=\\(D const &\\);${ws}D\\(D const &\\);${ws}D\\(void\\);${ws}\}\r\n$gdb_prompt $" { - pass "ptype class D" - } - -re "type = class D : public B, public C \{${ws}public:${ws}int d;${ws}int x;((${ws}D & operator=\\(D const &\\);)|(${ws}D\\(D const &\\);)|(${ws}D\\(void\\);))*${ws}\}\r\n$gdb_prompt $" { - pass "ptype class D (obsolescent gcc or gdb)" - } - -re ".*$gdb_prompt $" { - fail "ptype class D" - } - timeout { - fail "ptype class D (timeout)" - return - } - } - - setup_xfail_format "DWARF 1" - send_gdb "ptype class E\n" - gdb_expect { - -re "type = class E : public D \{${ws}public:${ws}int e;${ws}int x;${ws}E & operator=\\(E const &\\);${ws}E\\(E const &\\);${ws}E\\(void\\);${ws}\}\r\n$gdb_prompt $" { - pass "ptype class E" - } - -re "type = class E : public D \{${ws}public:${ws}int e;${ws}int x;((${ws}E & operator=\\(E const &\\);)|(${ws}E\\(E const &\\);)|(${ws}E\\(void\\);))*${ws}\}\r\n$gdb_prompt $" { - pass "ptype class E" - } - -re ".*$gdb_prompt $" { - fail "ptype class E" - } - timeout { - fail "ptype class E (timeout)" - return - } - } - - send_gdb "ptype class vA\n" - gdb_expect { - -re "type = (class|struct) vA \{(${ws}public:|)${ws}int va;${ws}int vx;${ws}vA & operator=\\(vA const &\\);${ws}vA\\(vA const &\\);${ws}vA\\(void\\);${ws}\}\r\n$gdb_prompt $" { - pass "ptype class vA" - } - -re "type = (class|struct) vA \{(${ws}public:|)${ws}int va;${ws}int vx;((${ws}vA & operator=\\(vA const &\\);)|(${ws}vA\\(vA const &\\);)|(${ws}vA\\(void\\);))*${ws}\}\r\n$gdb_prompt $" { - pass "ptype class vA (obsolescent gcc or gdb)" - } - -re ".*$gdb_prompt $" { - fail "ptype class vA" - } - timeout { - fail "ptype class vA (timeout)" - return - } - } - - # Accept the form with embedded GNU style mangled virtual table constructs - # for now, but with a FIXME. At some future point, gdb should use a - # portable representation for the virtual table constructs. - - setup_xfail_format "DWARF 1" - send_gdb "ptype class vB\n" - gdb_expect { - -re "type = class vB : public virtual vA \{${ws}private:${ws}vA \\*_vb.vA;${ws}public:${ws}int vb;${ws}int vx;${ws}vB & operator=\\(vB const &\\);${ws}vB\\(int, vB const &\\);${ws}vB\\(int\\);${ws}\}\r\n$gdb_prompt $" { - setup_xfail "*-*-*" - fail "ptype class vB (FIXME: non-portable virtual table constructs)" - } - -re "type = class vB : public virtual vA \{\r\n\[ \]*public:\r\n\[ \]*int vb;\r\n\[ \]*int vx;\[\r\n\t \]+\}\r\n$gdb_prompt $" { - pass "ptype class vB (aCC)" - } - -re "type = class vB : public virtual vA \{${ws}private:${ws}vA \\*_vb.vA;${ws}public:${ws}int vb;${ws}int vx;((${ws}vB & operator=\\(vB const &\\);)|(${ws}vB\\(int, vB const &\\);)|(${ws}vB\\(int\\);))*${ws}\}\r\n$gdb_prompt $" { - setup_xfail "*-*-*" - fail "ptype class vB (FIXME) (obsolescent gcc or gdb)" - } - -re ".*$gdb_prompt $" { - fail "ptype class vB" - } - timeout { - fail "ptype class vB (timeout)" - return - } - } - - # Accept the form with embedded GNU style mangled virtual table constructs - # for now, but with a FIXME. At some future point, gdb should use a - # portable representation for the virtual table constructs. - - setup_xfail_format "DWARF 1" - send_gdb "ptype class vC\n" - gdb_expect { - -re "type = class vC : public virtual vA \{${ws}private:${ws}vA \\*_vb.vA;${ws}public:${ws}int vc;${ws}int vx;${ws}vC & operator=\\(vC const &\\);${ws}vC\\(int, vC const &\\);${ws}vC\\(int\\);${ws}\}\r\n$gdb_prompt $" { - setup_xfail "*-*-*" - fail "ptype class vC (FIXME: non-portable virtual table constructs)" - } - -re "type = class vC : public virtual vA \{\r\n\[ \]*public:\r\n\[ \]*int vc;\r\n\[ \]*int vx;\[\r\n\t \]+\}\r\n$gdb_prompt $" { - pass "ptype class vC (aCC)" - } - -re "type = class vC : public virtual vA \{${ws}private:${ws}vA \\*_vb.vA;${ws}public:${ws}int vc;${ws}int vx;((${ws}vC & operator=\\(vC const &\\);)|(${ws}vC\\(int, vC const &\\);)|(${ws}vC\\(int\\);))*${ws}\}\r\n$gdb_prompt $" { - setup_xfail "*-*-*" - fail "ptype class vC (FIXME) (obsolescent gcc or gdb)" - } - -re ".*$gdb_prompt $" { - fail "ptype class vC" - } - timeout { - fail "ptype class vC (timeout)" - return - } - } - - # Accept the form with embedded GNU style mangled virtual table constructs - # for now, but with a FIXME. At some future point, gdb should use a - # portable representation for the virtual table constructs. - - setup_xfail_format "DWARF 1" - send_gdb "ptype class vD\n" - gdb_expect { - -re "type = class vD : public virtual vB, public virtual vC \{${ws}private:${ws}vC \\*_vb.vC;${ws}vB \\*_vb.vB;${ws}public:${ws}int vd;${ws}int vx;${ws}vD & operator=\\(vD const &\\);${ws}vD\\(int, vD const &\\);${ws}vD\\(int\\);${ws}\}\r\n$gdb_prompt $" { - setup_xfail "*-*-*" - fail "ptype class vD (FIXME: non-portable virtual table constructs)" - } - -re "type = class vD : public virtual vB, public virtual vC \{\r\n\[ \]*public:\r\n\[ \]*int vd;\r\n\[ \]*int vx;\[\r\n\t \]+\}\r\n$gdb_prompt $" { - pass "ptype class vD (aCC)" - } - -re "type = class vD : public virtual vB, public virtual vC \{${ws}private:${ws}vC \\*_vb.vC;${ws}vB \\*_vb.vB;${ws}public:${ws}int vd;${ws}int vx;((${ws}vD & operator=\\(vD const &\\);)|(${ws}vD\\(int, vD const &\\);)|(${ws}vD\\(int\\);))*${ws}\}\r\n$gdb_prompt $" { - setup_xfail "*-*-*" - fail "ptype class vD (FIXME) (obsolescent gcc or gdb)" - } - -re ".*$gdb_prompt $" { - fail "ptype class vD" - } - timeout { - fail "ptype class vD (timeout)" - return - } - } - - # Accept the form with embedded GNU style mangled virtual table constructs - # for now, but with a FIXME. At some future point, gdb should use a - # portable representation for the virtual table constructs. - - setup_xfail_format "DWARF 1" - send_gdb "ptype class vE\n" - gdb_expect { - -re "type = class vE : public virtual vD \{${ws}private:${ws}vD \\*_vb.vD;${ws}public:${ws}int ve;${ws}int vx;${ws}vE & operator=\\(vE const &\\);${ws}vE\\(int, vE const &\\);${ws}vE\\(int\\);${ws}\}\r\n$gdb_prompt $" { - setup_xfail "*-*-*" - fail "ptype class vE (FIXME: non-portable virtual table constructs)" - } - -re "type = class vE : public virtual vD \{\r\n\[ \]*public:\r\n\[ \]*int ve;\r\n\[ \]*int vx;\[\r\n\t \]+\}\r\n$gdb_prompt $" { - pass "ptype class vE (aCC)" - } - -re "type = class vE : public virtual vD \{${ws}private:${ws}vD \\*_vb.vD;${ws}public:${ws}int ve;${ws}int vx;((${ws}vE & operator=\\(vE const &\\);)|(${ws}vE\\(int, vE const &\\);)|(${ws}vE\\(int\\);))*${ws}\}\r\n$gdb_prompt $" { - setup_xfail "*-*-*" - fail "ptype class vE (FIXME) (obsolescent gcc or gdb)" - } - -re ".*$gdb_prompt $" { - fail "ptype class vE" - } - timeout { - fail "ptype class vE (timeout)" - return - } - } - - setup_xfail_format "DWARF 1" - send_gdb "ptype class Base1\n" - gdb_expect { - -re "type = class Base1 \{${ws}public:${ws}int x;${ws}Base1 & operator=\\(Base1 const &\\);${ws}Base1\\(Base1 const &\\);${ws}Base1\\(int\\);${ws}\}\r\n$gdb_prompt $" { - pass "ptype class Base1" - } - -re "type = class Base1 \{${ws}public:${ws}int x;((${ws}Base1 & operator=\\(Base1 const &\\);)|(${ws}Base1\\(Base1 const &\\);)|(${ws}Base1\\(int\\);))*${ws}\}\r\n$gdb_prompt $" { - pass "ptype class Base1 (obsolescent gcc or gdb)" - } - -re ".*$gdb_prompt $" { - fail "ptype class Base1" - } - timeout { - fail "ptype class Base1 (timeout)" - return - } - } - - setup_xfail_format "DWARF 1" - send_gdb "ptype class Foo\n" - gdb_expect { - -re "type = class Foo \{\r\n\[ \]*public:\r\n\[ \]*int x;\r\n\[ \]*int y;\r\n\[ \]*static int st;\r\n\r\n\[ \]*Foo\\(int, int\\);\r\n\[ \]*int operator!.void.;\r\n\[ \]*operator int.void.;\r\n\[ \]*int times.int.;\r\n\}\r\n$gdb_prompt $" { - pass "ptype class Foo(aCC)" - } - -re "type = class Foo \{${ws}public:${ws}int x;${ws}int y;${ws}static int st;${ws}Foo & operator=\\(Foo const &\\);${ws}Foo\\(Foo const &\\);${ws}Foo\\(int, int\\);${ws}int operator!\\(void\\);${ws}int operator int\\(void\\);${ws}int times\\(int\\);${ws}\}\r\n$gdb_prompt $" { - pass "ptype class Foo" - } - -re "type = class Foo \{${ws}public:${ws}int x;${ws}int y;${ws}static int st;((${ws}Foo & operator=\\(Foo const &\\);)|(${ws}Foo\\(Foo const &\\);)|(${ws}Foo\\(int, int\\);)|(${ws}int operator!\\(void\\);)|(${ws}int operator int\\(void\\);)|(${ws}int times\\(int\\);))*${ws}\}\r\n$gdb_prompt $" { - pass "ptype class Foo (obsolescent gcc or gdb)" - } - -re ".*$gdb_prompt $" { - fail "ptype class Foo" - } - timeout { - fail "ptype class Foo (timeout)" - return - } - } - - setup_xfail_format "DWARF 1" - send_gdb "ptype class Bar\n" - gdb_expect { - -re "type = class Bar : public Base1, public Foo \{${ws}public:${ws}int z;${ws}Bar & operator=\\(Bar const &\\);${ws}Bar\\(Bar const &\\);${ws}Bar\\(int, int, int\\);${ws}\}\r\n$gdb_prompt $" { - pass "ptype class Bar" - } - -re "type = class Bar : public Base1, public Foo \{${ws}public:${ws}int z;((${ws}Bar & operator=\\(Bar const &\\);)|(${ws}Bar\\(Bar const &\\);)|(${ws}Bar\\(int, int, int\\);))*${ws}\}\r\n$gdb_prompt $" { - pass "ptype class Bar (obsolescent gcc or gdb)" - } - -re ".*$gdb_prompt $" { - fail "ptype class Bar" - } - timeout { - fail "ptype class Bar (timeout)" - return - } - } -} - -# -# Test simple access to class members. -# - -proc test_non_inherited_member_access {} { - global gdb_prompt - - # Print non-inherited members of g_A. - - gdb_test "print g_A.a" ".* = 1" "g_A.a incorrect" - - gdb_test "print g_A.x" ".* = 2" "g_A.x incorrect" - - # Print non-inherited members of g_B. - - gdb_test "print g_B.b" ".* = 5" "g_B.b incorrect" - - gdb_test "print g_B.x" ".* = 6" "g_B.x incorrect" - - # Print non-inherited members of g_C. - - gdb_test "print g_C.c" ".* = 9" "g_C.c incorrect" - - gdb_test "print g_C.x" ".* = 10" "g_C.x incorrect" - - # Print non-inherited members of g_D. - - gdb_test "print g_D.d" ".* = 19" "g_D.d incorrect" - - gdb_test "print g_D.x" ".* = 20" "g_D.x incorrect" - - # Print non-inherited members of g_E. - - gdb_test "print g_E.e" ".* = 31" "g_E.e incorrect" - - gdb_test "print g_E.x" ".* = 32" "g_E.x incorrect" -} - -# -# Try access to non-members that are members of another class. -# Should give errors. -# - -proc test_wrong_class_members {} { - global gdb_prompt - - gdb_test "print g_A.b" "There is no member( or method|) named b." "print g_A.b should be error" - - gdb_test "print g_B.c" "There is no member( or method|) named c." "print g_B.c should be error" - - gdb_test "print g_B.d" "There is no member( or method|) named d." "print g_B.d should be error" - - gdb_test "print g_C.b" "There is no member( or method|) named b." "print g_C.b should be error" - - gdb_test "print g_C.d" "There is no member( or method|) named d." "print g_C.d should be error" - - gdb_test "print g_D.e" "There is no member( or method|) named e." "print g_D.e should be error" -} - -# -# Try access to non-members that are not members of any class. -# Should give errors. -# - -proc test_nonexistant_members {} { - global gdb_prompt - - gdb_test "print g_A.y" "There is no member( or method|) named y." "print g_A.y should be error" - - gdb_test "print g_B.z" "There is no member( or method|) named z." "print g_B.z should be error" - - gdb_test "print g_C.q" "There is no member( or method|) named q." "print g_C.q should be error" - - gdb_test "print g_D.p" "There is no member( or method|) named p." "print g_D.p should be error" -} - -# -# Pointers to class members -# - -proc test_pointers_to_class_members {} { - global gdb_prompt - global decimal - - gdb_test "print Bar::z" ".* = .int\[ \]*\[( \]*Bar::&\[)\]+\[ \]*Bar::z" "print Bar::z" - - gdb_test "print &Foo::x" ".* = .int\[ \]*\[( \]*Foo::\[*)\]+\[ \]*&Foo::x" "print &Foo::x" - - gdb_test "print (int)&Foo::x" ".* = 0" "print (int)&Foo::x" - - send_gdb "print (int)&Bar::y == 2*sizeof(int)\n" - gdb_expect { - -re ".* = true\r\n$gdb_prompt $" { - pass "print (int)&Bar::y == 2*sizeof(int)" - } - -re "There is no field named y.*$gdb_prompt $" { - setup_xfail "*-*-*" - fail "print (int)&Bar::y == 2*sizeof(int)" - } - -re ".*$gdb_prompt $" { fail "print (int)&Bar::y == 2*sizeof(int)" } - timeout { fail "print (int)&Bar::y == 2*sizeof(int) (timeout)" ; return } - } - - send_gdb "next\n" - setup_xfail "*-*-*" - gdb_expect { - -re "$decimal\[ \t\]+inheritance3 \[)(\]+;\r\n$gdb_prompt $" {} - -re ".*$gdb_prompt $" { fail "next to inheritance3" ; return } - } - clear_xfail "*-*-*" - - setup_xfail_format "DWARF 1" - gdb_test "print (int)pmi == sizeof(int)" ".* = false" "print (int)pmi == sizeof(int)" -} - -# -# Test static members. -# - -proc test_static_members {} { - global gdb_prompt - global hex - - send_gdb "print Foo::st\n" - gdb_expect { - -re ".* = 100\r\n$gdb_prompt $" { - pass "print Foo::st" - } - -re "There is no field named st.*$gdb_prompt $" { - setup_xfail "*-*-*" - fail "print Foo::st" - } - -re ".*$gdb_prompt $" { fail "print Foo::st" } - timeout { fail "print Foo::st (timeout)" ; return } - } - - send_gdb "set foo.st = 200\n" - gdb_expect { - -re ".*$gdb_prompt $" {} - } - - send_gdb "print bar.st\n" - gdb_expect { - -re ".* = 200\r\n$gdb_prompt $" { - pass "print bar.st" - } - -re "There is no member( or method|) named st.*$gdb_prompt $" { - setup_xfail "*-*-*" - fail "print bar.st" - } - -re ".*$gdb_prompt $" { fail "print bar.st" } - timeout { fail "print bar.st (timeout)" ; return } - } - - send_gdb "print &foo.st\n" - gdb_expect { - -re ".* = .int \[*)\]+ $hex\r\n$gdb_prompt $" { - pass "print &foo.st" - } - -re "There is no member( or method|) named st.*$gdb_prompt $" { - setup_xfail "*-*-*" - fail "print &foo.st" - } - -re ".*$gdb_prompt $" { fail "print &foo.st" } - timeout { fail "print &foo.st (timeout)" ; return } - } - - set got_bar_st 0 - send_gdb "print &Bar::st\n" - gdb_expect { - -re ".* = .int \[*)\]+ $hex\r\n$gdb_prompt $" { - pass "print &Bar::st" - set got_bar_st 1 - } - -re "There is no field named st.*$gdb_prompt $" { - setup_xfail "*-*-*" - fail "print &Bar::st" - } - -re ".*$gdb_prompt $" { fail "print &Bar::st" } - timeout { fail "print &Bar::st (timeout)" ; return } - } - - if $got_bar_st then { - gdb_test "print *\$" ".* = 200" "print *\$" - } - - gdb_test "set print static-members off" "" - gdb_test "print csi" \ - "{x = 10, y = 20}" \ - "print csi without static members" - gdb_test "print cnsi" \ - "{x = 30, y = 40}" \ - "print cnsi without static members" - - gdb_test "set print static-members on" "" - setup_xfail_format "DWARF 1" - gdb_test "print csi" \ - "{x = 10, y = 20, static null = {x = 0, y = 0, static null = <same as static member of an already seen type>}}" \ - "print csi with static members" - setup_xfail_format "DWARF 1" - gdb_test "print cnsi" \ - "{x = 30, y = 40, static null = {x = 0, y = 0, static null = <same as static member of an already seen type>, static yy = {z = 5, static xx = {x = 1, y = 2, static null = <same as static member of an already seen type>, static yy = <same as static member of an already seen type>}}}, static yy = <same as static member of an already seen type>}" \ - "print cnsi with static members" -} - -proc do_tests {} { - global prms_id - global bug_id - global subdir - global objdir - global srcdir - global binfile - global gdb_prompt - - set prms_id 0 - set bug_id 0 - - # Start with a fresh gdb. - - gdb_exit - gdb_start - gdb_reinitialize_dir $srcdir/$subdir - gdb_load $binfile - - send_gdb "set language c++\n" - gdb_expect -re "$gdb_prompt $" - send_gdb "set width 0\n" - gdb_expect -re "$gdb_prompt $" - - # Get the debug format for the compiled test case. - - if [ runto_main ] then { - get_debug_format - } - - test_ptype_class_objects - - if [ runto 'inheritance2(void)' ] then { - test_non_inherited_member_access - test_wrong_class_members - test_nonexistant_members - } - - if [istarget "mips-idt-*"] then { - # Restart because IDT/SIM runs out of file descriptors. - gdb_exit - gdb_start - gdb_reinitialize_dir $srcdir/$subdir - gdb_load $binfile - } - - if [ runto_main ] then { - test_pointers_to_class_members - test_static_members - } - - if [istarget "mips-idt-*"] then { - # Restart because IDT/SIM runs out of file descriptors. - gdb_exit - gdb_start - gdb_reinitialize_dir $srcdir/$subdir - gdb_load $binfile - } - - if [ runto marker_reg1 ] then { - - gdb_test "finish" "Run till exit from.*" "finish from marker_reg1" - - send_gdb "print v.method ()\n" - gdb_expect { - -re "= 82.*$gdb_prompt $" { - pass "calling method for small class" - } - -re "Address requested for identifier .v. which is in a register.*$gdb_prompt $" { - setup_xfail "*-*-*" 2972 - fail "calling method for small class" - } - -re ".*$gdb_prompt $" { fail "calling method for small class" } - timeout { fail "calling method for small class (timeout)" } - eof { fail "calling method for small class (eof)" } - } - } - -} - -do_tests - - -# Some additional tests for enums inside classes - - -# set a breakpoint and go there -send_gdb "break 498\n" -gdb_expect { - -re "Breakpoint \[0-9\] at.*$gdb_prompt $" { pass "set break 498" } - -re "$gdb_prompt $" { fail "set break 498" } - timeout { fail "(timeout) set break 498" } -} -send_gdb "continue\n" -gdb_expect { - -re "Continuing\\.\r\n\r\nBreakpoint \[0-9\]*, main....at ${srcdir}/${subdir}/${srcfile}:498\r\n498.*\r\n$gdb_prompt $" { pass "continue" } - -re "$gdb_prompt $" { fail "continue" } - timeout { fail "(timeout) continue" } -} - -# print the object -send_gdb "print obj_with_enum\n" -gdb_expect { - -re "\\$\[0-9\]* = \\{priv_enum = red, x = 0\\}.*$gdb_prompt $" { pass "print obj_with_enum (1)" } - -re "$gdb_prompt $" { fail "print obj_with_enum (1)" } - timeout { fail "(timeout) print obj_with_enum (1)" } -} - -send_gdb "next\n" -gdb_expect { - -re "$gdb_prompt $" { pass "next" } - timeout { fail "(timeout) next" } -} - -# print the object again -send_gdb "print obj_with_enum\n" -gdb_expect { - -re "\\$\[0-9\]* = \\{priv_enum = green, x = 0\\}.*$gdb_prompt $" { pass "print obj_with_enum (2)" } - -re "$gdb_prompt $" { fail "print obj_with_enum (2)" } - timeout { fail "(timeout) print obj_with_enum (2)" } -} - -# print out the enum member -send_gdb "print obj_with_enum.priv_enum\n" -gdb_expect { - -re "\\$\[0-9\]* = green.*$gdb_prompt $" { pass "print obj_with_enum.priv_enum" } - -re "$gdb_prompt $" { fail "print obj_with_enum.priv_enum" } - timeout { fail "(timeout) print obj_with_enum.priv_enum" } -} - -# ptype on the enum member -send_gdb "ptype obj_with_enum.priv_enum\n" -gdb_expect { - -re "type = enum ClassWithEnum::PrivEnum \\{red, green, blue, yellow = 42\\}.*$gdb_prompt $" { pass "ptype obj_with_enum.priv_enum" } - -re "$gdb_prompt $" { fail "ptype obj_with_enum.priv_enum" } - timeout { fail "(timeout) ptype obj_with_enum.priv_enum" } -} - -# ptype on the object -send_gdb "ptype obj_with_enum\n" -gdb_expect { - -re "type = class ClassWithEnum \\{\r\n\[ \t\]*public:\r\n\[ \t\]*enum ClassWithEnum::PrivEnum priv_enum;\r\n\[ \t\]*int x;\r\n\\}\r\n$gdb_prompt $" { pass "ptype obj_with_enum" } - -re "$gdb_prompt $" { fail "ptype obj_with_enum" } - timeout { fail "(timeout) ptype obj_with_enum" } -} - -send_gdb "print (ClassWithEnum::PrivEnum) 42\n" -gdb_expect { - -re "\\$\[0-9\]* = yellow.*$gdb_prompt $" { pass "print (ClassWithEnum::PrivEnum) 42" } - -re "$gdb_prompt $" { fail "print (ClassWithEnum::PrivEnum) 42" } - timeout { fail "(timeout) print (ClassWithEnum::PrivEnum) 42" } -} - - -send_gdb "maint demangle inheritance1__Fv\n" -gdb_expect { - -re "inheritance1\\(void\\).*$gdb_prompt $" { pass "demangle" } - -re ".*$gdb_prompt $" { fail "demangle" } - timeout { fail "(timeout) demangle" } -} - diff --git a/gdb/testsuite/gdb.hp/compiler.c b/gdb/testsuite/gdb.hp/compiler.c deleted file mode 100644 index 8eb0d47dd19..00000000000 --- a/gdb/testsuite/gdb.hp/compiler.c +++ /dev/null @@ -1,31 +0,0 @@ -/* Often the behavior of any particular test depends upon what compiler was - used to compile the test. As each test is compiled, this file is - preprocessed by the same compiler used to compile that specific test - (different tests might be compiled by different compilers, particularly - if compiled at different times), and used to generate a *.ci (compiler - info) file for that test. - - I.E., when callfuncs is compiled, a callfuncs.ci file will be generated, - which can then be sourced by callfuncs.exp to give callfuncs.exp access - to information about the compilation environment. - - TODO: It might be a good idea to add expect code that tests each - definition made with 'set" to see if one already exists, and if so - warn about conflicts if it is being set to something else. */ - -/* This needs to be kept in sync with whatis.c and gdb.exp(get_compiler_info). - If this ends up being hairy, we could use a common header file. */ - -#if defined (__STDC__) || defined (_AIX) -set signed_keyword_not_used 0 -#else -set signed_keyword_not_used 1 -#endif - -#if defined (__GNUC__) -set gcc_compiled __GNUC__ -#else -set gcc_compiled 0 -#endif - -return 0 diff --git a/gdb/testsuite/gdb.hp/compiler.cc b/gdb/testsuite/gdb.hp/compiler.cc deleted file mode 100644 index aa35c7510ff..00000000000 --- a/gdb/testsuite/gdb.hp/compiler.cc +++ /dev/null @@ -1,34 +0,0 @@ -/* Often the behavior of any particular test depends upon what compiler was - used to compile the test. As each test is compiled, this file is - preprocessed by the same compiler used to compile that specific test - (different tests might be compiled by different compilers, particularly - if compiled at different times), and used to generate a *.ci (compiler - info) file for that test. - - I.E., when callfuncs is compiled, a callfuncs.ci file will be generated, - which can then be sourced by callfuncs.exp to give callfuncs.exp access - to information about the compilation environment. - - TODO: It might be a good idea to add expect code that tests each - definition made with 'set" to see if one already exists, and if so - warn about conflicts if it is being set to something else. */ - -#if defined(__GNUC__) && __GNUC__ >= 2 && __GNUC_MINOR__ >= 6 -set supports_template_debugging 1 -#else -set supports_template_debugging 0 -#endif - -#if defined(__cplusplus) -set supports_template_debugging 1 -#else -set supports_template_debugging 0 -#endif - -#if defined (__GNUC__) -set gcc_compiled __GNUC__ -#else -set gcc_compiled 0 -#endif - -return 0 diff --git a/gdb/testsuite/gdb.hp/ctti-add.cc b/gdb/testsuite/gdb.hp/ctti-add.cc deleted file mode 100644 index 1f50fae24c1..00000000000 --- a/gdb/testsuite/gdb.hp/ctti-add.cc +++ /dev/null @@ -1,29 +0,0 @@ -template<class T> T add(T v1, T v2) -{ - T v3; - v3 = v1; - v3 += v2; - return v3; - } - -int main() -{ - char c; - int i; - float f; - extern void add1(); - extern void subr2(); - extern void subr3(); - - c = 'a'; - i = 2; - f = 4.5; - - c = add(c, c); - i = add(i, i); - f = add(f, f); - - add1(); - subr2(); - subr3(); -} diff --git a/gdb/testsuite/gdb.hp/ctti-add1.cc b/gdb/testsuite/gdb.hp/ctti-add1.cc deleted file mode 100644 index 7113ecea421..00000000000 --- a/gdb/testsuite/gdb.hp/ctti-add1.cc +++ /dev/null @@ -1,16 +0,0 @@ -template<class T> T add(T v1, T v2); - -void add1() -{ - char c; - int i; - float f; - - c = 'b'; - i = 3; - f = 6.5; - - c = add(c, c); - i = add(i, i); - f = add(f, f); -} diff --git a/gdb/testsuite/gdb.hp/ctti-add2.cc b/gdb/testsuite/gdb.hp/ctti-add2.cc deleted file mode 100644 index d0d9891fb2f..00000000000 --- a/gdb/testsuite/gdb.hp/ctti-add2.cc +++ /dev/null @@ -1,22 +0,0 @@ -template<class T> T add2(T v1, T v2) -{ - T v3; - v3 = v1; - v3 += v2; - return v3; -} - -void subr2() -{ - char c; - int i; - float f; - - c = 'b'; - i = 3; - f = 6.5; - - c = add2(c, c); - i = add2(i, i); - f = add2(f, f); -} diff --git a/gdb/testsuite/gdb.hp/ctti-add3.cc b/gdb/testsuite/gdb.hp/ctti-add3.cc deleted file mode 100644 index 7ba1b019f16..00000000000 --- a/gdb/testsuite/gdb.hp/ctti-add3.cc +++ /dev/null @@ -1,33 +0,0 @@ -template<class T> T add3(T v1, T v2) -{ - T v3; - v3 = v1; - v3 += v2; - return v3; -} - -template<class T> T add4(T v1, T v2) -{ - T v3; - v3 = v1; - v3 += v2; - return v3; -} - -void subr3() -{ - char c; - int i; - float f; - - c = 'b'; - i = 3; - f = 6.5; - - c = add3(c, c); - i = add3(i, i); - f = add3(f, f); - c = add4(c, c); - i = add4(i, i); - f = add4(f, f); -} diff --git a/gdb/testsuite/gdb.hp/ctti.exp b/gdb/testsuite/gdb.hp/ctti.exp deleted file mode 100644 index e53210dda0b..00000000000 --- a/gdb/testsuite/gdb.hp/ctti.exp +++ /dev/null @@ -1,269 +0,0 @@ -# Copyright (C) 1998 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - -# Please email any bugs, comments, and/or additions to this file to: -# bug-gdb@prep.ai.mit.edu - - -# This file is part of the gdb testsuite -# file written by Elena Zannoni (ezannoni@cygnus.com) -# -# source files ctti-add.cc, ctti-add1.cc, ctti-add2.cc, ctti-add3.cc -# - - -if $tracelevel then { - strace $tracelevel -} - - -# Check to see if we have an executable to test. If not, then either we -# haven't tried to compile one, or the compilation failed for some reason. -# In either case, just notify the user and skip the tests in this file. - -set testfile "ctti-add" -set srcfile ${testfile}.cc -set srcfile1 ${testfile}1.cc -set srcfile2 ${testfile}2.cc -set srcfile3 ${testfile}3.cc -set binfile ${objdir}/${subdir}/${testfile} - -if [get_compiler_info ${binfile} "c++"] { - return -1; -} - - -if {[skip_hp_tests $gcc_compiled]} then { continue } - -#if { [gdb_compile "${srcdir}/${subdir}/${srcfile} ${srcdir}/${subdir}/${srcfile1} ${srcdir}/${subdir}/${srcfile2} ${srcdir}/${subdir}/${srcfile3}" "${binfile}" executable {debug c++}] != "" } { -# gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail." -#} - -set cmdline "$CXX ${srcdir}/${subdir}/${srcfile} ${srcdir}/${subdir}/${srcfile1} ${srcdir}/${subdir}/${srcfile2} ${srcdir}/${subdir}/${srcfile3} -g -o ${binfile}" - -remote_exec build $cmdline - -gdb_exit -gdb_start -gdb_reinitialize_dir $srcdir/$subdir -gdb_load ${binfile} - - - -if ![runto_main] then { - perror "couldn't run to breakpoint" - continue -} - - -send_gdb "n\n" -gdb_expect { - -re "$decimal.*i = 2;.*$gdb_prompt $" { - pass "next " - } - -re ".*$gdb_prompt $" { fail "next " } - timeout { fail "next " } - } - - -send_gdb "n\n" -gdb_expect { - -re "$decimal.*f = 4.5;.*$gdb_prompt $" { - pass "next " - } - -re ".*$gdb_prompt $" { fail "next " } - timeout { fail "next " } - } - -send_gdb "n\n" -gdb_expect { - -re "$decimal.*c = add\\(c, c\\);.*$gdb_prompt $" { - pass "next " - } - -re ".*$gdb_prompt $" { fail "next " } - timeout { fail "next " } - } - -send_gdb "n\n" -gdb_expect { - -re "$decimal.*i = add\\(i, i\\);.*$gdb_prompt $" { - pass "next " - } - -re ".*$gdb_prompt $" { fail "next " } - timeout { fail "next " } - } - -send_gdb "n\n" -gdb_expect { - -re "$decimal.*f = add\\(f, f\\);.*$gdb_prompt $" { - pass "next " - } - -re ".*$gdb_prompt $" { fail "next " } - timeout { fail "next " } - } - -send_gdb "n\n" -gdb_expect { - -re "$decimal.*add1\\(\\);.*$gdb_prompt $" { - pass "next " - } - -re ".*$gdb_prompt $" { fail "next " } - timeout { fail "next " } - } - -send_gdb "print c\n" -gdb_expect { - -re ".$decimal = -62.*\r\n$gdb_prompt $" { - pass "print value of c" - } - -re ".*$gdb_prompt $" { fail "print value of c" } - timeout { fail "(timeout) print value of c" } - } - - -send_gdb "print f\n" -gdb_expect { - -re ".$decimal = 9\r\n$gdb_prompt $" { - pass "print value of f" - } - -re ".*$gdb_prompt $" { fail "print value of f" } - timeout { fail "(timeout) print value of f" } - } - - -send_gdb "print i\n" -gdb_expect { - -re ".$decimal = 4\r\n$gdb_prompt $" { - pass "print value of i" - } - -re ".*$gdb_prompt $" { fail "print value of i" } - timeout { fail "(timeout) print value of i" } - } - - - -send_gdb "print add<int>(2,2)\n" -gdb_expect { - -re ".$decimal = 4\r\n$gdb_prompt $" { - pass "print value of add<int>(2,2)" - } - -re ".*$gdb_prompt $" { fail "print value of add<int>(2,2)" } - timeout { fail "(timeout) print value of add<int>(2,2)" } - } - -send_gdb "print add<float>(2.3,2.3)\n" -gdb_expect { - -re ".$decimal = 4\\.5\[0-9\]+\r\n$gdb_prompt $" { - pass "print value of add<float>(2.3,2.3)" - } - -re ".*$gdb_prompt $" { fail "print value of add<float>(2.3,2.3)" } - timeout { fail "(timeout) print value of add<float>(2.3,2.3)" } - } - -send_gdb "print add<char>('A','A')\n" -gdb_expect { - -re ".$decimal = -126.*202.\r\n$gdb_prompt $" { - pass "print value of add<char>('A','A')" - } - -re ".*$gdb_prompt $" { fail "print value of add<char>('A','A')" } - timeout { fail "(timeout) print value of add<char>('A','A')" } - } - - -send_gdb "print add2<int>(2,2)\n" -gdb_expect { - -re ".$decimal = 4\r\n$gdb_prompt $" { - pass "print value of add2<int>(2,2)" - } - -re ".*$gdb_prompt $" { fail "print value of add2<int>(2,2)" } - timeout { fail "(timeout) print value of add2<int>(2,2)" } - } - -send_gdb "print add2<float>(2.3,2.3)\n" -gdb_expect { - -re ".$decimal = 4\\.5\[0-9\]+\r\n$gdb_prompt $" { - pass "print value of add2<float>(2.3,2.3)" - } - -re ".*$gdb_prompt $" { fail "print value of add2<float>(2.3,2.3)" } - timeout { fail "(timeout) print value of add2<float>(2.3,2.3)" } - } - -send_gdb "print add2<char>('A','A')\n" -gdb_expect { - -re ".$decimal = -126.*202.\r\n$gdb_prompt $" { - pass "print value of add2<char>('A','A')" - } - -re ".*$gdb_prompt $" { fail "print value of add2<char>('A','A')" } - timeout { fail "(timeout) print value of add2<char>('A','A')" } - } - -send_gdb "print add3<int>(2,2)\n" -gdb_expect { - -re ".$decimal = 4\r\n$gdb_prompt $" { - pass "print value of add3<int>(2,2)" - } - -re ".*$gdb_prompt $" { fail "print value of add3<int>(2,2)" } - timeout { fail "(timeout) print value of add3<int>(2,2)" } - } - -send_gdb "print add3<float>(2.3,2.3)\n" -gdb_expect { - -re ".$decimal = 4\\.5\[0-9\]+\r\n$gdb_prompt $" { - pass "print value of add3<float>(2.3,2.3)" - } - -re ".*$gdb_prompt $" { fail "print value of add3<float>(2.3,2.3)" } - timeout { fail "(timeout) print value of add3<float>(2.3,2.3)" } - } - -send_gdb "print add3<char>('A','A')\n" -gdb_expect { - -re ".$decimal = -126.*202.\r\n$gdb_prompt $" { - pass "print value of add3<char>('A','A')" - } - -re ".*$gdb_prompt $" { fail "print value of add3<char>('A','A')" } - timeout { fail "(timeout) print value of add3<char>('A','A')" } - } - -send_gdb "print add4<int>(2,2)\n" -gdb_expect { - -re ".$decimal = 4\r\n$gdb_prompt $" { - pass "print value of add4<int>(2,2)" - } - -re ".*$gdb_prompt $" { fail "print value of add4<int>(2,2)" } - timeout { fail "(timeout) print value of add4<int>(2,2)" } - } - -send_gdb "print add4<float>(2.3,2.3)\n" -gdb_expect { - -re ".$decimal = 4\\.5\[0-9\]+\r\n$gdb_prompt $" { - pass "print value of add4<float>(2.3,2.3)" - } - -re ".*$gdb_prompt $" { fail "print value of add4<float>(2.3,2.3)" } - timeout { fail "(timeout) print value of add4<float>(2.3,2.3)" } - } - -send_gdb "print add4<char>('A','A')\n" -gdb_expect { - -re ".$decimal = -126.*202.\r\n$gdb_prompt $" { - pass "print value of add4<char>('A','A')" - } - -re ".*$gdb_prompt $" { fail "print value of add4<char>('A','A')" } - timeout { fail "(timeout) print value of add4<char>('A','A')" } - } - - -gdb_exit -return 0 diff --git a/gdb/testsuite/gdb.hp/dbx.exp b/gdb/testsuite/gdb.hp/dbx.exp deleted file mode 100644 index 66f24e90a59..00000000000 --- a/gdb/testsuite/gdb.hp/dbx.exp +++ /dev/null @@ -1,222 +0,0 @@ -# Copyright (C) 1998 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ - -# Please email any bugs, comments, and/or additions to this file to: -# bug-gdb@prep.ai.mit.edu - - -if $tracelevel then { - strace $tracelevel -} - - -set testfile1 "average" -set testfile2 "sum" -set testfile "dbx-test" -set binfile1 ${objdir}/${subdir}/${testfile1} -set binfile2 ${objdir}/${subdir}/${testfile2} -set binfile ${objdir}/${subdir}/${testfile} - - - -if { [gdb_compile "${srcdir}/${subdir}/average.c" "${binfile1}.o" object {debug}] != "" } { - gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail." -} - -if { [gdb_compile "${srcdir}/${subdir}/sum.c" "${binfile2}.o" object {debug}] != "" } { - gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail." -} - -if { [gdb_compile "${binfile1}.o ${binfile2}.o" ${binfile} executable {debug}] != "" } { - gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail." -} - -if [get_compiler_info ${binfile}] { - return -1; -} -if {[skip_hp_tests $gcc_compiled]} then { continue } - -proc dbx_reinitialize_dir { subdir } { - global gdb_prompt - - send_gdb "use\n" - gdb_expect { - -re "Reinitialize source path to empty.*y or n. " { - send_gdb "y\n" - gdb_expect { - -re "Source directories searched.*$gdb_prompt $" { - send_gdb "use $subdir\n" - gdb_expect { - -re "Source directories searched.*$gdb_prompt $" { - verbose "Dir set to $subdir" - } - -re ".*$gdb_prompt $" { - perror "Dir \"$subdir\" failed." - } - } - } - -re ".*$gdb_prompt $" { - perror "Dir \"$subdir\" failed." - } - } - } - -re ".*$gdb_prompt $" { - perror "Dir \"$subdir\" failed." - } - } -} - -# In "testsuite/config/unix-gdb.exp", the routine "gdb_load" -# is defined as "gdb_file_cmd". The binding of "gdb_file_cmd" -# is done at invocation time. Before this file is processed, -# it binds to the definition in "testsuite/lib/gdb.exp"; after -# this file is processed, it binds to this definition. -# TCL lets us overrides a previous routine definition without a -# warning (isn't that special?). -# -# This means that tests before use "file" to load a target, and -# tests afterwards use the pair "symbol-file" "exec-file". -# -# I'm leaving it as it is for now because at the moment it -# is the only test we have of the use of the combination of -# "symbol-file" and "exec-file" to load a debugging target (the -# other definition uses "file". -# -# Symbol-file and exec-file should be tested explicitly, not -# as a side effect of running a particular test (in this case, -# "testsuite/gdb.compat/dbx.exp"). -# -# -proc gdb_file_cmd {arg } { - global verbose - global loadpath - global loadfile - global GDB - global gdb_prompt - global spawn_id - upvar timeout timeout - - send_gdb "symbol-file $arg\n" - gdb_expect { - -re "Reading symbols from.*done.*$gdb_prompt $" { - verbose "\t\tLoaded $arg into the $GDB" - send_gdb "exec-file $arg\n" - return 0 - } - -re "has no symbol-table.*$gdb_prompt $" { - perror "$arg wasn't compiled with \"-g\"" - return -1 - } - -re "A program is being debugged already.*Kill it.*y or n. $" { - send_gdb "y\n" - verbose "\t\tKilling previous program being debugged" - exp_continue - } - -re "Load new symbol table from \".*\".*y or n. $" { - send_gdb "y\n" - gdb_expect { - -re "Reading symbols from.*done.*$gdb_prompt $" { - verbose "\t\tLoaded $arg with new symbol table into $GDB" - return 0 - } - timeout { - perror "(timeout) Couldn't load $arg, other program already loaded." - return -1 - } - } - } - -re ".*No such file or directory.*$gdb_prompt $" { - perror "($arg) No such file or directory\n" - return -1 - } - -re "$gdb_prompt $" { - perror "couldn't load $arg into $GDB." - return -1 - } - timeout { - perror "couldn't load $arg into $GDB (timed out)." - return -1 - } - eof { - # This is an attempt to detect a core dump, but seems not to - # work. Perhaps we need to match .* followed by eof, in which - # expect does not seem to have a way to do that. - perror "couldn't load $arg into $GDB (end of file)." - return -1 - } - } -} - -# -#test_breakpoints -# -proc test_breakpoints { } { - gdb_test "stop in main" "Breakpoint.*at.*: file.*average\.c, line 31\." - gdb_test "status" "Num.*Type.*Disp.*Enb.*Address.*What\r\n1\[ \r\]+breakpoint\[ \r\]+keep y.*in main at.*average\.c:31.*" - gdb_test "stop at 36" "Breakpoint.*at.*: file.*average\.c, line 36.*" - gdb_test "stop in 36" "Usage: stop in <function . address>" - gdb_test "stop at main" "Usage: stop at <line>" -} - -# -#test_assign -# -proc test_assign { } { - gdb_test "run" "" - gdb_test "assign first=1" "" - gdb_test "print first" ".1 = 1" -} - -# -#test_whereis -# -proc test_whereis { } { - gdb_test "whereis my_list" "All variables matching regular expression \"my_list\":\r\n\r\nFile.*average\.c:\r\nstatic int my_list\\\[10\\\];" -} - -# -#test_func -# -proc test_func { } { - gdb_test "cont" "" - gdb_test "step" "" - gdb_test "func sum" "'sum' not within current stack frame\." - gdb_test "stop in sum" "Breakpoint.*at.*: file.*sum\.c, line 11\." - gdb_test "cont" - gdb_test "func print_average" ".*in print_average.*\\(list=.*, low=0, high=6\\).*at.*average\.c:17\r\n17\[ \t\]+total = sum\\(list, low, high\\);" -} - -# Start with a fresh gdb. - -gdb_exit -global GDBFLAGS -set saved_gdbflags $GDBFLAGS - -set GDBFLAGS "$GDBFLAGS --dbx" -gdb_start -dbx_reinitialize_dir $srcdir/$subdir -gdb_load ${binfile} -send_gdb "set width 0\n" -gdb_expect -re "$gdb_prompt $" -test_breakpoints -test_assign -test_whereis -gdb_test "file average.c:1" "1\[ \t\]+/. This is a sample program.*" -test_func - -gdb_exit -set GDBFLAGS $saved_gdbflags -return 0 diff --git a/gdb/testsuite/gdb.hp/exception.cc b/gdb/testsuite/gdb.hp/exception.cc deleted file mode 100644 index 27459329a8b..00000000000 --- a/gdb/testsuite/gdb.hp/exception.cc +++ /dev/null @@ -1,48 +0,0 @@ -// Test file for exception handling support. - -#include <iostream.h> - -int foo (int i) -{ - if (i < 32) - throw (int) 13; - else - return i * 2; -} - -extern "C" int bar (int k, unsigned long eharg, int flag); - -int bar (int k, unsigned long eharg, int flag) -{ - cout << "k is " << k << " eharg is " << eharg << " flag is " << flag << endl; - return 1; -} - -int main() -{ - int j; - - try { - j = foo (20); - } - catch (int x) { - cout << "Got an except " << x << endl; - } - - try { - try { - j = foo (20); - } - catch (int x) { - cout << "Got an except " << x << endl; - throw; - } - } - catch (int y) { - cout << "Got an except (rethrown) " << y << endl; - } - - // Not caught - foo (20); - -} diff --git a/gdb/testsuite/gdb.hp/exception.exp b/gdb/testsuite/gdb.hp/exception.exp deleted file mode 100644 index 4cafbdcd001..00000000000 --- a/gdb/testsuite/gdb.hp/exception.exp +++ /dev/null @@ -1,408 +0,0 @@ -# Copyright (C) 1997, 1998 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - -# Please email any bugs, comments, and/or additions to this file to: -# bug-gdb@prep.ai.mit.edu - -# -# tests for exception-handling support -# Written by Satish Pai <pai@apollo.hp.com> 1997-07-23 - -# This file is part of the gdb testsuite - -# Note: These tests are geared to the HP aCC compiler, -# which has an idiosyncratic way of emitting debug info -# for exceptions -- it uses a callback mechanism, which -# is different from the way g++ records exception info -# for debugging - -# The tests are in two parts; the first part deals with -# statically linked (archive-bound) executables, and the -# second part repeats those tests with dynamically linked -# (shared bound) executables. (In the latter case we use -# a different mechanism to get the address of the notification -# hook in the C++ support library.) The tests themselves are -# the same in both parts. -# -# IMPORTANT: -# --------- -# IF YOU CHANGE A TEST IN ONE PART MAKE SURE YOU CHANGE IT -# -------------------------------------------------------- -# IN THE OTHER PART TOO! -# ---------------------- - - - -if $tracelevel then { - strace $tracelevel - } - - -# -# test running programs -# - -# Part I : Archive-bound executables -# ---------------------------------- - -set testfile "exception" -set srcfile ${testfile}.cc -set binfile ${objdir}/${subdir}/${testfile} - -if [get_compiler_info ${binfile} "c++"] { - return -1; -} - - -if {[skip_hp_tests $gcc_compiled]} then { continue } - -set cmdline "$CXX ${srcdir}/${subdir}/${srcfile} +A -Wl,-a,archive -g -o ${binfile}" - -remote_exec build $cmdline - -# Start with a fresh gdb - -set prms_id 0 -set bug_id 0 - -gdb_exit -gdb_start -gdb_reinitialize_dir $srcdir/$subdir -gdb_load ${binfile} - -if ![runto_main] then { - perror "couldn't run to breakpoint" - continue -} - -# Set a catch catchpoint - -send_gdb "catch catch\n" -gdb_expect { - -re "Catchpoint \[0-9\]* \\(catch\\)\r\n$gdb_prompt $" { - pass "catch catch (static executable)" - } - -re ".*$gdb_prompt $" { fail "catch catch (static executable)" } - timeout { fail "(timeout) catch catch (static executable)" } -} - -# Set a throw catchpoint - -send_gdb "catch throw\n" -gdb_expect { - -re "Catchpoint \[0-9\]* \\(throw\\)\r\n$gdb_prompt $" { - pass "catch throw (static executable)" - } - -re ".*$gdb_prompt $" { fail "catch throw (static executable)" } - timeout { fail "(timeout) catch throw (static executable)" } -} - -# The catchpoints should be listed in the list of breakpoints. - -send_gdb "info break\n" -gdb_expect { - -re ".*\[0-9\]*\[ \]*catch catch\[ \]*keep y\[ \]*exception catch\[ \]*\r\n\[0-9\]*\[ \]*catch throw\[ \]*keep y\[ \]*exception throw\[ \]*\r\n$gdb_prompt $" { - pass "info break with catchpoints (static executable)" - } - -re ".*$gdb_prompt $" { fail "info break (static executable)" } - timeout { fail "(timeout) info break (static executable)" } -} - -# Info catch currently does not work with HP aCC. No easy way to -# list the active handlers on the stack. - -send_gdb "info catch\n" -gdb_expect { - -re "Info catch not supported with this target/compiler combination.\r\n$gdb_prompt $" { - pass "info catch (static executable)" - } - -re ".*$gdb_prompt $" { fail "info catch (static executable)" } - timeout { fail "(timeout) info catch (static executable)" } -} - -# Get the first exception thrown - -send_gdb "continue\n" -gdb_expect { - -re "Continuing.*Catchpoint \[0-9\]* \\(exception thrown\\), throw location.*exception\\.cc:8, catch location .*exception\\.cc:28\r\n.*$gdb_prompt $" { - pass "caught a throw (static executable)" - } - -re ".*$gdb_prompt $" { fail "didn't catch a throw (static executable)" } - timeout { fail "(timeout) after continue -- didn't catch a throw? (static executable)" } -} - -send_gdb "backtrace\n" -gdb_expect { - -re "#0\[ \]*__d_eh_break.*\r\n#1\[ \]*$hex in __d_eh_notify_callback \\(eh_type=__EH_NOTIFY_THROW.*\r\n#2\[ \]*$hex in __eh_notify_throw.*\r\n#3\[ \]*$hex in foo \\(i=20\\) at .*exception\\.cc:8\r\n#4\[ \]*$hex in main.* at .*exception\\.cc:26\r\n$gdb_prompt $" { - pass "backtrace after throw (static executable)" - } - -re ".*$gdb_prompt $" { fail "backtrace after throw (static executable)" } - timeout { fail "(timeout) backtrace after throw (static executable)" } -} - -# Now intercept it when it is caught. - -send_gdb "continue\n" -gdb_expect { - -re "Continuing.*Catchpoint \[0-9\]* \\(exception caught\\), throw location.*exception\\.cc:8, catch location .*exception\\.cc:28\r\n.*$gdb_prompt $" { - pass "caught a catch (static executable)" - } - -re ".*$gdb_prompt $" { fail "didn't catch a catch (static executable)" } - timeout { fail "(timeout) after continue -- didn't catch a catch? (static executable)" } -} - -send_gdb "backtrace\n" -gdb_expect { - -re "#0\[ \]*__d_eh_break.*\r\n#1\[ \]*$hex in __d_eh_notify_callback \\(eh_type=__EH_NOTIFY_CATCH.*\r\n.*\r\n#3\[ \]*$hex in __throw__.*\r\n#4\[ \]*$hex in foo \\(i=20\\) at .*exception.cc:8\r\n#5\[ \]*$hex in main.* at .*exception.cc:26\r\n$gdb_prompt $" { - pass "backtrace after catch (static executable)" - } - -re ".*$gdb_prompt $" { fail "backtrace after catch (static executable)" } - timeout { fail "(timeout) backtrace after catch (static executable)" } -} - -send_gdb "continue\n" -gdb_expect { - -re "Continuing\\.\r\nGot.*\r\nCatchpoint \[0-9\]* \\(exception thrown\\), throw location.*exception\\.cc:8, catch location .*exception\\.cc:36\r\n.*$gdb_prompt $" { - pass "caught a throw (2) (static executable)" - } - -re ".*$gdb_prompt $" { fail "didn't catch a throw (2) (static executable)" } - timeout { fail "(timeout) after continue -- didn't catch a throw (2)? (static executable)" } -} - -send_gdb "continue\n" -gdb_expect { - -re "Continuing.*Catchpoint \[0-9\]* \\(exception caught\\), throw location.*exception\\.cc:8, catch location .*exception\\.cc:36\r\n.*$gdb_prompt $" { - pass "caught a catch (2) (static executable)" - } - -re ".*$gdb_prompt $" { fail "didn't catch a catch (2) (static executable)" } - timeout { fail "(timeout) after continue -- didn't catch a catch (2)? (static executable)" } -} - -# Now the exception will be rethrown. - -send_gdb "continue\n" -gdb_expect { - -re "Continuing\\.\r\nGot.*\r\nCatchpoint \[0-9\]* \\(exception thrown\\), throw location.*exception\\.cc:38, catch location .*exception\\.cc:41\r\n.*$gdb_prompt $" { - pass "caught a rethrow (static executable)" - } - -re ".*$gdb_prompt $" { fail "didn't catch a rethrow (static executable)" } - timeout { fail "(timeout) after continue -- didn't catch a rethrow? (static executable)" } -} - -send_gdb "continue\n" -gdb_expect { - -re "Continuing.*Catchpoint \[0-9\]* \\(exception caught\\), throw location.*exception\\.cc:38, catch location .*exception\\.cc:41\r\n.*$gdb_prompt $" { - pass "caught a catch (3) (static executable)" - } - -re ".*$gdb_prompt $" { fail "didn't catch a catch (3) (static executable)" } - timeout { fail "(timeout) after continue -- didn't catch a catch (3)? (static executable)" } -} - -send_gdb "backtrace\n" -gdb_expect { - -re "#0\[ \]*__d_eh_break.*\r\n#1\[ \]*$hex in __d_eh_notify_callback \\(eh_type=__EH_NOTIFY_CATCH.*\r\n.*\r\n#3\[ \]*$hex in __rethrow.*\r\n#4\[ \]*$hex in main.* at .*exception\\.cc:38\r\n#5\[ \]*$hex in foo \\(i=20\\) at .*exception.cc:8\r\n#6\[ \]*$hex in main.* at .*exception.cc:34\r\n$gdb_prompt $" { - pass "backtrace after catch (3) (static executable)" - } - -re ".*$gdb_prompt $" { fail "backtrace after catch (3) (static executable)" } - timeout { fail "(timeout) backtrace after catch (3) (static executable)" } -} - -# Now the exception will be thrown, but not catch-able anywhere. - -send_gdb "continue\n" -gdb_expect { - -re "Continuing\\.\r\nGot.*\r\nCatchpoint \[0-9\]* \\(exception thrown\\), throw location.*exception\\.cc:8, catch location unknown\r\n.*$gdb_prompt $" { - pass "caught an uncatchable throw (static executable)" - } - -re ".*$gdb_prompt $" { fail "didn't catch an uncatchable throw (static executable)" } - timeout { fail "(timeout) after continue -- didn't catch an uncatchable throw? (static executable)" } -} - -# Part II : Shared-bound executables -# ---------------------------------- - -# Start with a fresh gdb -gdb_exit -gdb_start -gdb_reinitialize_dir $srcdir/$subdir - -set prms_id 0 -set bug_id 0 - -set testfile "exception" -set srcfile ${testfile}.cc -set binfile ${objdir}/${subdir}/${testfile} - -if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug c++}] != "" } { - gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will a -utomatically fail." -} - - -gdb_exit -gdb_start -gdb_reinitialize_dir $srcdir/$subdir -gdb_load ${binfile} - - -if ![runto_main] then { - perror "couldn't run to breakpoint" - continue -} - -# Set a catch catchpoint - -send_gdb "catch catch\n" -gdb_expect { - -re "Catchpoint \[0-9\]* \\(catch\\)\r\n$gdb_prompt $" { - pass "catch catch (dynamic executable)" - } - -re ".*$gdb_prompt $" { fail "catch catch (dynamic executable)" } - timeout { fail "(timeout) catch catch (dynamic executable)" } -} - -# Set a throw catchpoint - -send_gdb "catch throw\n" -gdb_expect { - -re "Catchpoint \[0-9\]* \\(throw\\)\r\n$gdb_prompt $" { - pass "catch throw (dynamic executable)" - } - -re ".*$gdb_prompt $" { fail "catch throw (dynamic executable)" } - timeout { fail "(timeout) catch throw (dynamic executable)" } -} - -# The catchpoints should be listed in the list of breakpoints. - -send_gdb "info break\n" -gdb_expect { - -re ".*\[0-9\]*\[ \]*catch catch\[ \]*keep y\[ \]*exception catch\[ \]*\r\n\[0-9\]*\[ \]*catch throw\[ \]*keep y\[ \]*exception throw\[ \]*\r\n$gdb_prompt $" { - pass "info break with catchpoints (dynamic executable)" - } - -re ".*$gdb_prompt $" { fail "info break (dynamic executable)" } - timeout { fail "(timeout) info break (dynamic executable)" } -} - -# Info catch currently does not work with HP aCC. No easy way to -# list the active handlers on the stack. - -send_gdb "info catch\n" -gdb_expect { - -re "Info catch not supported with this target/compiler combination.\r\n$gdb_prompt $" { - pass "info catch (dynamic executable)" - } - -re ".*$gdb_prompt $" { fail "info catch (dynamic executable)" } - timeout { fail "(timeout) info catch (dynamic executable)" } -} - -# Get the first exception thrown - -send_gdb "continue\n" -gdb_expect { - -re "Continuing.*Catchpoint \[0-9\]* \\(exception thrown\\), throw location.*exception\\.cc:8, catch location .*exception\\.cc:28\r\n.*$gdb_prompt $" { - pass "caught a throw (dynamic executable)" - } - -re ".*$gdb_prompt $" { fail "didn't catch a throw (dynamic executable)" } - timeout { fail "(timeout) after continue -- didn't catch a throw? (dynamic executable)" } -} - -send_gdb "backtrace\n" -gdb_expect { - -re "#0\[ \]*__d_eh_break.*\r\n#1\[ \]*$hex in __d_eh_notify_callback \\(eh_type=__EH_NOTIFY_THROW.*\r\n#2\[ \]*$hex in __eh_notify_throw.*\r\n#3\[ \]*$hex in foo \\(i=20\\) at .*exception\\.cc:8\r\n#4\[ \]*$hex in main.* at .*exception\\.cc:26\r\n$gdb_prompt $" { - pass "backtrace after throw (dynamic executable)" - } - -re ".*$gdb_prompt $" { fail "backtrace after throw (dynamic executable)" } - timeout { fail "(timeout) backtrace after throw (dynamic executable)" } -} - -# Now intercept it when it is caught. - -send_gdb "continue\n" -gdb_expect { - -re "Continuing.*Catchpoint \[0-9\]* \\(exception caught\\), throw location.*exception\\.cc:8, catch location .*exception\\.cc:28\r\n.*$gdb_prompt $" { - pass "caught a catch (dynamic executable)" - } - -re ".*$gdb_prompt $" { fail "didn't catch a catch (dynamic executable)" } - timeout { fail "(timeout) after continue -- didn't catch a catch? (dynamic executable)" } -} - -send_gdb "backtrace\n" -gdb_expect { - -re "#0\[ \]*__d_eh_break.*\r\n#1\[ \]*$hex in __d_eh_notify_callback \\(eh_type=__EH_NOTIFY_CATCH.*\r\n.*\r\n#3\[ \]*$hex in __throw__.*\r\n#4\[ \]*$hex in foo \\(i=20\\) at .*exception.cc:8\r\n#5\[ \]*$hex in main.* at .*exception.cc:26\r\n$gdb_prompt $" { - pass "backtrace after catch (dynamic executable)" - } - -re ".*$gdb_prompt $" { fail "backtrace after catch (dynamic executable)" } - timeout { fail "(timeout) backtrace after catch (dynamic executable)" } -} - -send_gdb "continue\n" -gdb_expect { - -re "Continuing\\.\r\nGot.*\r\nCatchpoint \[0-9\]* \\(exception thrown\\), throw location.*exception\\.cc:8, catch location .*exception\\.cc:36\r\n.*$gdb_prompt $" { - pass "caught a throw (2) (dynamic executable)" - } - -re ".*$gdb_prompt $" { fail "didn't catch a throw (2) (dynamic executable)" } - timeout { fail "(timeout) after continue -- didn't catch a throw (2)? (dynamic executable)" } -} - -send_gdb "continue\n" -gdb_expect { - -re "Continuing.*Catchpoint \[0-9\]* \\(exception caught\\), throw location.*exception\\.cc:8, catch location .*exception\\.cc:36\r\n.*$gdb_prompt $" { - pass "caught a catch (2) (dynamic executable)" - } - -re ".*$gdb_prompt $" { fail "didn't catch a catch (2) (dynamic executable)" } - timeout { fail "(timeout) after continue -- didn't catch a catch (2)? (dynamic executable)" } -} - -# Now the exception will be rethrown. - -send_gdb "continue\n" -gdb_expect { - -re "Continuing\\.\r\nGot.*\r\nCatchpoint \[0-9\]* \\(exception thrown\\), throw location.*exception\\.cc:38, catch location .*exception\\.cc:41\r\n.*$gdb_prompt $" { - pass "caught a rethrow (dynamic executable)" - } - -re ".*$gdb_prompt $" { fail "didn't catch a rethrow (dynamic executable)" } - timeout { fail "(timeout) after continue -- didn't catch a rethrow? (dynamic executable)" } -} - -send_gdb "continue\n" -gdb_expect { - -re "Continuing.*Catchpoint \[0-9\]* \\(exception caught\\), throw location.*exception\\.cc:38, catch location .*exception\\.cc:41\r\n.*$gdb_prompt $" { - pass "caught a catch (3) (dynamic executable)" - } - -re ".*$gdb_prompt $" { fail "didn't catch a catch (3) (dynamic executable)" } - timeout { fail "(timeout) after continue -- didn't catch a catch (3)? (dynamic executable)" } -} - -send_gdb "backtrace\n" -gdb_expect { - -re "#0\[ \]*__d_eh_break.*\r\n#1\[ \]*$hex in __d_eh_notify_callback \\(eh_type=__EH_NOTIFY_CATCH.*\r\n.*\r\n#3\[ \]*$hex in __rethrow.*\r\n#4\[ \]*$hex in main.* at .*exception\\.cc:38\r\n#5\[ \]*$hex in foo \\(i=20\\) at .*exception.cc:8\r\n#6\[ \]*$hex in main.* at .*exception.cc:34\r\n$gdb_prompt $" { - pass "backtrace after catch (3) (dynamic executable)" - } - -re ".*$gdb_prompt $" { fail "backtrace after catch (3) (dynamic executable)" } - timeout { fail "(timeout) backtrace after catch (3) (dynamic executable)" } -} - -# Now the exception will be thrown, but not catch-able anywhere. - -send_gdb "continue\n" -gdb_expect { - -re "Continuing\\.\r\nGot.*\r\nCatchpoint \[0-9\]* \\(exception thrown\\), throw location.*exception\\.cc:8, catch location unknown\r\n.*$gdb_prompt $" { - pass "caught an uncatchable throw (dynamic executable)" - } - -re ".*$gdb_prompt $" { fail "didn't catch an uncatchable throw (dynamic executable)" } - timeout { fail "(timeout) after continue -- didn't catch an uncatchable throw? (dynamic executable)" } -} - diff --git a/gdb/testsuite/gdb.hp/execd-program.c b/gdb/testsuite/gdb.hp/execd-program.c deleted file mode 100644 index 0320991062d..00000000000 --- a/gdb/testsuite/gdb.hp/execd-program.c +++ /dev/null @@ -1,28 +0,0 @@ -#include <stdio.h> - -/* There is a global_i in follow_exec, which exec's us. We - should not be able to see that other definition of global_i - after we are exec'd. - */ -int global_i = 0; - -main (argc, argv) - int argc; - char * argv[]; -{ - /* There is a local_j in follow_exec, which exec's us. We - should not be able to see that other definition of local_j - after we are exec'd. - */ - int local_j = argc; - char * s; - - printf ("Hello from execd_program...\n"); - if (argc != 2) - { - printf ("expected one string argument\n"); - exit (-1); - } - s = argv[1]; - printf ("argument received: %s\n", s); -} diff --git a/gdb/testsuite/gdb.hp/foll-exec.c b/gdb/testsuite/gdb.hp/foll-exec.c deleted file mode 100644 index c51fa52dcfd..00000000000 --- a/gdb/testsuite/gdb.hp/foll-exec.c +++ /dev/null @@ -1,35 +0,0 @@ -#include <stdio.h> - -int global_i = 100; - -main () -{ - int local_j = global_i+1; - int local_k = local_j+1; - - printf ("follow-exec is about to execlp(execd-program)...\n"); - - execlp ("gdb.hp/execd-program", - "gdb.hp/execd-program", - "execlp arg1 from follow-exec", - (char *)0); - - printf ("follow-exec is about to execl(execd-program)...\n"); - - execl ("gdb.hp/execd-program", - "gdb.hp/execd-program", - "execl arg1 from follow-exec", - "execl arg2 from follow-exec", - (char *)0); - - { - static char * argv[] = { - "gdb.hp/execd-program", - "execv arg1 from follow-exec", - 0}; - - printf ("follow-exec is about to execv(execd-program)...\n"); - - execv ("gdb.hp/execd-program", argv); - } -} diff --git a/gdb/testsuite/gdb.hp/foll-exec.exp b/gdb/testsuite/gdb.hp/foll-exec.exp deleted file mode 100644 index f7d6089931c..00000000000 --- a/gdb/testsuite/gdb.hp/foll-exec.exp +++ /dev/null @@ -1,412 +0,0 @@ -# Copyright (C) 1997 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ - -# Please email any bugs, comments, and/or additions to this file to: -# bug-gdb@prep.ai.mit.edu - -if $tracelevel then { - strace $tracelevel - } - -set prms_id 0 -set bug_id 0 - -# are we on a target board -if ![isnative] then { - return -} - -if {![istarget "hppa*-*-hpux10.30"] && ![istarget "hppa*-*-hpux11.*"]} { - #setup_xfail "*-*.*" - return 0 -} - -set testfile "foll-exec" -set testfile2 "execd-program" -set srcfile ${testfile}.c -set srcfile2 ${testfile2}.c -set binfile ${objdir}/${subdir}/${testfile} -set binfile2 ${objdir}/${subdir}/${testfile2} - -# build the first test case -#if { [compile "-g -DNO_PROTOTYPES ${srcdir}/${subdir}/${srcfile2} -o ${binfile2} "] != "" } { -# perror "Couldn't compile ${srcfile2}" -# return -1 -#} -if { [gdb_compile "${srcdir}/${subdir}/${srcfile2}" "${binfile2}" executable {debug}] != "" } { - gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail." -} - -#if { [compile "-g ${srcdir}/${subdir}/${srcfile} -o ${binfile} "] != "" } { -# execute_anywhere "rm -f ${objdir}/${subdir}/${testfile}.tmp" - # built the second test case since we can't use prototypes -# warning "Prototypes not supported, rebuilding with -DNO_PROTOTYPES" -# execute_anywhere "echo set prototypes 0 > ${objdir}/${subdir}/${testfile}.tmp" -# if { [compile "-g -DNO_PROTOTYPES ${srcdir}/${subdir}/${srcfile} -o ${binfile} "] != "" } { -# perror "Couldn't compile ${testfile}.c" -# return -1 -# } -#} - -if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug}] != "" } { - gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail." -} - - -# Until "catch exec" is implemented on other targets... -# -if ![istarget "hppa*-hp-hpux*"] then { - setup_xfail "*-*-*" -} - -proc zap_session {} { - global gdb_prompt - global binfile - - send_gdb "kill\n" - gdb_expect { - -re ".*Kill the program being debugged.*y or n. $" { - send_gdb "y\n" - send_gdb "file $binfile\n" - gdb_expect { - -re ".*Load new symbol table from.*y or n. $" { - send_gdb "y\n" - gdb_expect { - -re "Reading symbols from.*$gdb_prompt $" {} - timeout { fail "loading symbols (timeout)"; return } - } - } - -re ".*gdb_prompt $" {} - timeout { fail "loading symbols (timeout)"; return } - } - } - -re ".*$gdb_prompt $" {} - timeout { fail "killing inferior (timeout)" ; return } - } -} - -proc do_exec_tests {} { - global gdb_prompt - global binfile - global srcfile - global srcfile2 - global testfile - global testfile2 - - # Start the program running, and stop at main. - # - if ![runto_main] then { - perror "Couldn't run ${testfile}" - return - } - - # Verify that we can see various global and local variables - # in this program, and that they have expected values. Some - # of these variables are also declared in the program we'll - # exec in a moment. - # - send_gdb "next 3\n" - gdb_expect { - -re "12.*execlp.*$gdb_prompt $"\ - {pass "step to exec call"} - -re "$gdb_prompt $" {fail "step to exec call"} - timeout {fail "(timeout) step to exec call"} - } - send_gdb "print global_i\n" - gdb_expect { - -re ".* = 100.*$gdb_prompt $"\ - {pass "print follow-exec/global_i"} - -re "$gdb_prompt $" {fail "print follow-exec/global_i"} - timeout {fail "(timeout) print follow-exec/global_i"} - } - send_gdb "print local_j\n" - gdb_expect { - -re ".* = 101.*$gdb_prompt $"\ - {pass "print follow-exec/local_j"} - -re "$gdb_prompt $" {fail "print follow-exec/local_j"} - timeout {fail "(timeout) print follow-exec/local_j"} - } - send_gdb "print local_k\n" - gdb_expect { - -re ".* = 102.*$gdb_prompt $"\ - {pass "print follow-exec/local_k"} - -re "$gdb_prompt $" {fail "print follow-exec/local_k"} - timeout {fail "(timeout) print follow-exec/local_k"} - } - - # Try stepping through an execlp call, without catching it. - # We should stop in execd-program, at its first statement. - # - send_gdb "next\n" - gdb_expect { - -re "Executing new program: .*${testfile2}.*${srcfile2}:17.*int local_j = argc;.*$gdb_prompt $"\ - {pass "step through execlp call"} - -re "$gdb_prompt $" {fail "step through execlp call"} - timeout {fail "(timeout) step through execlp call"} - } - - # Verify that we can see the variables defined in the newly-exec'd - # program, and CANNOT see those defined in the exec'ing program. - # - send_gdb "next\n" - gdb_expect { - -re "20.*printf.*$gdb_prompt $"\ - {pass "step after execlp call"} - -re "$gdb_prompt $" {fail "step after execlp call"} - timeout {fail "(timeout) step after execlp call"} - } - send_gdb "print global_i\n" - gdb_expect { - -re ".* = 0.*$gdb_prompt $"\ - {pass "print execd-program/global_i (after execlp)"} - -re "$gdb_prompt $" {fail "print execd-program/global_i (after execlp)"} - timeout {fail "(timeout) print execd-program/global_i (after execlp)"} - } - send_gdb "print local_j\n" - gdb_expect { - -re ".* = 2.*$gdb_prompt $"\ - {pass "print execd-program/local_j (after execlp)"} - -re "$gdb_prompt $" {fail "print execd-program/local_j (after execlp)"} - timeout {fail "(timeout) print execd-program/local_j (after execlp)"} - } - send_gdb "print local_k\n" - gdb_expect { - -re "No symbol \"local_k\" in current context.*$gdb_prompt $"\ - {pass "print follow-exec/local_k (after execlp)"} - -re "$gdb_prompt $" {fail "print follow-exec/local_k (after execlp)"} - timeout {fail "(timeout) print follow-exec/local_k (after execlp)"} - } - - # Explicitly kill this program, or a subsequent rerun actually runs - # the exec'd program, not the original program... - zap_session - - # Start the program running, and stop at main. - # - if ![runto_main] then { - perror "Couldn't run ${testfile} (2nd try)" - return - } - - # Verify that we can catch an exec event, and then continue - # to follow through the exec. (Since there's a breakpoint on - # "main", it'll also be transferred to the exec'd program, - # and we expect to stop there.) - # - send_gdb "catch exec\n" - gdb_expect { - -re "Catchpoint .*(exec).*$gdb_prompt $"\ - {pass "set catch exec"} - -re "$gdb_prompt $" {fail "set catch exec"} - timeout {fail "(timeout) set catch exec"} - } - - # Verify that the catchpoint is mentioned in an "info breakpoints", - # and further that the catchpoint mentions no program name. - # - send_gdb "info breakpoints\n" - gdb_expect { - -re ".*catch exec.*keep y.*$gdb_prompt $"\ - {pass "info shows catchpoint without exec pathname"} - -re ".*catch exec.*program \"\".*$gdb_prompt $"\ - {fail "info shows catchpoint without exec pathname"} - -re "$gdb_prompt $" {fail "info shows catchpoint without exec pathname"} - timeout {fail "(timeout) info shows catchpoint without exec pathname"} - } - - send_gdb "continue\n" - gdb_expect { - -re ".*Executing new program:.*${testfile2}.*Catchpoint .*(exec\'d .*${testfile2}).*in .START..*$gdb_prompt $"\ - {pass "hit catch exec"} - -re "$gdb_prompt $" {fail "hit catch exec"} - timeout {fail "(timeout) hit catch exec"} - } - - # Verify that the catchpoint is mentioned in an "info breakpoints", - # and further that the catchpoint managed to capture the exec'd - # program's name. - # - send_gdb "info breakpoints\n" - gdb_expect { - -re ".*catch exec .*program \".*${testfile2}\".*$gdb_prompt $"\ - {pass "info shows catchpoint exec pathname"} - -re "$gdb_prompt $" {fail "info shows catchpoint exec pathname"} - timeout {fail "(timeout) info shows catchpoint exec pathname"} - } - - # Verify that we can continue from the catchpoint, and land in the - # main of the newly-exec'd program. - # - send_gdb "continue\n" - gdb_expect { - -re ".*${srcfile2}:17.*$gdb_prompt $"\ - {pass "continue after hit catch exec"} - -re "$gdb_prompt $" {fail "continue after hit catch exec"} - timeout {fail "(timeout) continue after hit catch exec"} - } - - # Explicitly kill this program, or a subsequent rerun actually runs - # the exec'd program, not the original program... - zap_session - - # Start the program running, and stop at main. - # - if ![runto_main] then { - perror "Couldn't run ${testfile} (3rd try)" - return - } - - # Verify that we can follow through follow an execl() - # call. (We must jump around earlier exec* calls.) - # - send_gdb "tbreak 19\n" - gdb_expect { - -re "Breakpoint .*file .*${srcfile}, line 19.*$gdb_prompt $"\ - {pass "prepare to jump to execl call"} - -re "$gdb_prompt $" {fail "prepare to jump to execl call"} - timeout {fail "(timeout) prepare to jump to execl call"} - } - send_gdb "jump 19\n" - gdb_expect { - -re "main.* at .*${srcfile}:19.*$gdb_prompt $"\ - {pass "jump to execl call"} - -re "$gdb_prompt $" {fail "jump to execl call"} - timeout {fail "(timeout) jump to execl call"} - } - # Note that stepping through an exec call causes the step-count - # to be reset to zero. I.e.: you may specify "next 2" at the - # call, but you'll actually stop at the first breakpoint set in - # the newly-exec'd program, not after the remaining step-count - # reaches zero. - # - send_gdb "next 2\n" - gdb_expect { - -re "Executing new program: .*${testfile2}.*${srcfile2}:17.*int local_j = argc;.*$gdb_prompt $"\ - {pass "step through execl call"} - -re "$gdb_prompt $" {fail "step through execl call"} - timeout {fail "(timeout) step through execl call"} - } - send_gdb "next\n" - gdb_expect { - -re "20.*printf.*$gdb_prompt $"\ - {pass "step after execl call"} - -re "$gdb_prompt $" {fail "step after execl call"} - timeout {fail "(timeout) step after execl call"} - } - - # Verify that we can print a local variable (which happens to be - # assigned the value of main's argc). - # - send_gdb "print local_j\n" - gdb_expect { - -re ".* = 3.*$gdb_prompt $"\ - {pass "print execd-program/local_j (after execl)"} - -re "$gdb_prompt $" {fail "print execd-program/local_j (after execl)"} - timeout {fail "(timeout) print execd-program/local_j (after execl)"} - } - - # Explicitly kill this program, or a subsequent rerun actually runs - # the exec'd program, not the original program... - zap_session - - # Start the program running, and stop at main. - # - if ![runto_main] then { - perror "Couldn't run ${testfile} (4th try)" - return - } - - # Verify that we can follow through follow an execv() - # call. (We must jump around earlier exec* calls.) - # - send_gdb "tbreak 33\n" - gdb_expect { - -re "Breakpoint .*file .*${srcfile}, line 33.*$gdb_prompt $"\ - {pass "prepare to jump to execv call"} - -re "$gdb_prompt $" {fail "prepare to jump to execv call"} - timeout {fail "(timeout) prepare to jump to execv call"} - } - send_gdb "jump 33\n" - gdb_expect { - -re "main.* at .*${srcfile}:33.*$gdb_prompt $"\ - {pass "jump to execv call"} - -re "$gdb_prompt $" {fail "jump to execv call"} - timeout {fail "(timeout) jump to execv call"} - } - send_gdb "next\n" - gdb_expect { - -re "Executing new program: .*${testfile2}.*${srcfile2}:17.*int local_j = argc;.*$gdb_prompt $"\ - {pass "step through execv call"} - -re "$gdb_prompt $" {fail "step through execv call"} - timeout {fail "(timeout) step through execv call"} - } - send_gdb "next\n" - gdb_expect { - -re "20.*printf.*$gdb_prompt $"\ - {pass "step after execv call"} - -re "$gdb_prompt $" {fail "step after execv call"} - timeout {fail "(timeout) step after execv call"} - } - - # Verify that we can print a local variable (which happens to be - # assigned the value of main's argc). - # - send_gdb "print local_j\n" - gdb_expect { - -re ".* = 2.*$gdb_prompt $"\ - {pass "print execd-program/local_j (after execv)"} - -re "$gdb_prompt $" {fail "print execd-program/local_j (after execv)"} - timeout {fail "(timeout) print execd-program/local_j (after execv)"} - } - - # Explicitly kill this program, or a subsequent rerun actually runs - # the exec'd program, not the original program... - zap_session - - # Start the program running, and stop at main. - # - if ![runto_main] then { - perror "Couldn't run ${testfile} (4th try)" - return - } - - # Verify that we can just continue and thereby follow through an - # exec call. (Since the breakpoint on "main" is reset, we should - # just stop in main of the newly-exec'd program.) - # - send_gdb "continue\n" - gdb_expect { - -re "Executing new program: .*${testfile2}.*${srcfile2}:17.*int local_j = argc;.*$gdb_prompt $"\ - {pass "continue through exec"} - -re "$gdb_prompt $" {fail "continue through exec"} - timeout {fail "(timeout) continue through exec"} - } -} - -# Start with a fresh gdb - -gdb_exit -gdb_start -gdb_reinitialize_dir $srcdir/$subdir -gdb_load ${binfile} - - -# This is a test of gdb's ability to follow a process through a -# Unix exec() system call. -# -do_exec_tests - -return 0 diff --git a/gdb/testsuite/gdb.hp/foll-fork.c b/gdb/testsuite/gdb.hp/foll-fork.c deleted file mode 100644 index 89f92ae22fe..00000000000 --- a/gdb/testsuite/gdb.hp/foll-fork.c +++ /dev/null @@ -1,25 +0,0 @@ -#include <stdio.h> - -void callee (i) - int i; -{ - printf("callee: %d\n", i); -} - -main () -{ - int pid; - int v = 5; - - pid = fork (); - if (pid == 0) - { - v++; - /* printf ("I'm the child!\n"); */ - } - else - { - v--; - /* printf ("I'm the proud parent of child #%d!\n", pid); */ - } -} diff --git a/gdb/testsuite/gdb.hp/foll-fork.exp b/gdb/testsuite/gdb.hp/foll-fork.exp deleted file mode 100644 index 7231764f3b4..00000000000 --- a/gdb/testsuite/gdb.hp/foll-fork.exp +++ /dev/null @@ -1,385 +0,0 @@ -# Copyright (C) 1997 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ - -# Please email any bugs, comments, and/or additions to this file to: -# bug-gdb@prep.ai.mit.edu - -if $tracelevel then { - strace $tracelevel - } - -set prms_id 0 -set bug_id 0 - -# are we on a target board -if ![isnative] then { - return -} - -if {![istarget "hppa*-*-hpux10.30"] && ![istarget "hppa*-*-hpux11.*"]} { - #setup_xfail "*-*.*" - return 0 -} - -set testfile "foll-fork" -set srcfile ${testfile}.c -set binfile ${objdir}/${subdir}/${testfile} - -# build the first test case -#if { [compile "-g ${srcdir}/${subdir}/${srcfile} -o ${binfile} "] != "" } { -# execute_anywhere "rm -f ${objdir}/${subdir}/${testfile}.tmp" - # built the second test case since we can't use prototypes -# warning "Prototypes not supported, rebuilding with -DNO_PROTOTYPES" -# execute_anywhere "echo set prototypes 0 > ${objdir}/${subdir}/${testfile}.tmp" -# if { [compile "-g -DNO_PROTOTYPES ${srcdir}/${subdir}/${srcfile} -o ${binfile} "] != "" } { -# perror "Couldn't compile ${testfile}.c" -# return -1 -# } -#} - -if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug}] != "" } { - gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail." -} - - - -# Until "set follow-fork-mode" and "catch fork" are implemented on -# other targets... -# -if ![istarget "hppa*-hp-hpux*"] then { - setup_xfail "*-*-*" -} - -proc default_fork_parent_follow {} { - global gdb_prompt - - send_gdb "show follow\n" - gdb_expect { - -re "Debugger response to a program call of fork or vfork is \"parent\"..*$gdb_prompt $"\ - {pass "default show parent follow, no catchpoints"} - -re "$gdb_prompt $" {fail "default show parent follow, no catchpoints"} - timeout {fail "(timeout) default show parent follow, no catchpoints"} - } - send_gdb "next 2\n" - gdb_expect { - -re "Detaching after fork from.*$gdb_prompt $"\ - {pass "default parent follow, no catchpoints"} - -re "$gdb_prompt $" {fail "default parent follow, no catchpoints"} - timeout {fail "(timeout) default parent follow, no catchpoints" } - } - # The child has been detached; allow time for any output it might - # generate to arrive, so that output doesn't get confused with - # any expected debugger output from a subsequent testpoint. - # - exec sleep 1 -} - -proc explicit_fork_parent_follow {} { - global gdb_prompt - - send_gdb "set follow parent\n" - gdb_expect { - -re "$gdb_prompt $" {pass "set follow parent"} - timeout {fail "(timeout) set follow parent"} - } - send_gdb "show follow\n" - gdb_expect { - -re "Debugger response to a program call of fork or vfork is \"parent\"..*$gdb_prompt $"\ - {pass "explicit show parent follow, no catchpoints"} - -re "$gdb_prompt $" {fail "explicit show parent follow, no catchpoints"} - timeout {fail "(timeout) explicit show parent follow, no catchpoints"} - } - send_gdb "next 2\n" - gdb_expect { - -re "Detaching after fork from.*$gdb_prompt $"\ - {pass "explicit parent follow, no catchpoints"} - -re "$gdb_prompt $" {fail "explicit parent follow, no catchpoints"} - timeout {fail "(timeout) explicit parent follow, no catchpoints"} - } - # The child has been detached; allow time for any output it might - # generate to arrive, so that output doesn't get confused with - # any expected debugger output from a subsequent testpoint. - # - exec sleep 1 -} - -proc explicit_fork_child_follow {} { - global gdb_prompt - - send_gdb "set follow child\n" - gdb_expect { - -re "$gdb_prompt $" {pass "set follow child"} - timeout {fail "(timeout) set follow child"} - } - send_gdb "show follow\n" - gdb_expect { - -re "Debugger response to a program call of fork or vfork is \"child\"..*$gdb_prompt $"\ - {pass "explicit show child follow, no catchpoints"} - -re "$gdb_prompt $" {fail "explicit show child follow, no catchpoints"} - timeout {fail "(timeout) explicit show child follow, no catchpoints"} - } - send_gdb "next 2\n" - gdb_expect { - -re "Detaching from program:.*Attaching after fork to.*$gdb_prompt $"\ - {pass "explicit child follow, no catchpoints"} - -re "$gdb_prompt $" {fail "explicit child follow, no catchpoints"} - timeout {fail "(timeout) explicit child follow, no catchpoints"} - } - # The child has been detached; allow time for any output it might - # generate to arrive, so that output doesn't get confused with - # any gdb_expected debugger output from a subsequent testpoint. - # - exec sleep 1 -} - -proc catch_fork_child_follow {} { - global gdb_prompt - - send_gdb "catch fork\n" - gdb_expect { - -re "Catchpoint .*(fork).*$gdb_prompt $"\ - {pass "explicit child follow, set catch fork"} - -re "$gdb_prompt $" {fail "explicit child follow, set catch fork"} - timeout {fail "(timeout) explicit child follow, set catch fork"} - } - - # Verify that the catchpoint is mentioned in an "info breakpoints", - # and further that the catchpoint mentions no process id. - # - send_gdb "info breakpoints\n" - gdb_expect { - -re ".*catch fork.*keep y.*$gdb_prompt $"\ - {pass "info shows catchpoint without pid"} - -re ".*catch fork.*process .*$gdb_prompt $"\ - {fail "info shows catchpoint without pid"} - -re "$gdb_prompt $" {fail "info shows catchpoint without pid"} - timeout {fail "(timeout) info shows catchpoint without pid"} - } - - send_gdb "continue\n" - gdb_expect { - -re "Catchpoint.*(forked process.*),.*in _fork_sys.*$gdb_prompt $"\ - {pass "explicit child follow, catch fork"} - -re "$gdb_prompt $" {fail "explicit child follow, catch fork"} - timeout {fail "(timeout) explicit child follow, catch fork"} - } - - # Verify that the catchpoint is mentioned in an "info breakpoints", - # and further that the catchpoint managed to capture a process id. - # - send_gdb "info breakpoints\n" - gdb_expect { - -re ".*catch fork .*process \[0-9\]+.*$gdb_prompt $"\ - {pass "info shows catchpoint pid"} - -re "$gdb_prompt $" {fail "info shows catchpoint pid"} - timeout {fail "(timeout) info shows catchpoint pid"} - } - - send_gdb "set follow child\n" - gdb_expect { - -re "$gdb_prompt $" {pass "set follow child"} - timeout {fail "(timeout) set follow child"} - } - send_gdb "tbreak 15\n" - gdb_expect { - -re "Breakpoint.*, line 15.*$gdb_prompt $"\ - {pass "set follow child, tbreak"} - -re "$gdb_prompt $" {fail "set follow child, tbreak"} - timeout {fail "(timeout) set follow child, tbreak"} - } - send_gdb "continue\n" - gdb_expect { - -re ".*Detaching from program:.*Attaching after fork to.* at .*15.*$gdb_prompt $"\ - {pass "set follow child, hit tbreak"} - -re "$gdb_prompt $" {fail "set follow child, hit tbreak"} - timeout {fail "(timeout) set follow child, hit tbreak"} - } - # The child has been detached; allow time for any output it might - # generate to arrive, so that output doesn't get confused with - # any expected debugger output from a subsequent testpoint. - # - exec sleep 1 - send_gdb "delete breakpoints\n" - gdb_expect { - -re "Delete all breakpoints.*$" { - send_gdb "y\n" - gdb_expect { - -re "$gdb_prompt $"\ - {pass "set follow child, cleanup"} - timeout {fail "(timeout) set follow child, cleanup"} - } - } - -re "$gdb_prompt $" {fail "set follow child, cleanup"} - timeout {fail "(timeout) set follow child, cleanup"} - } -} - -proc tcatch_fork_parent_follow {} { - global gdb_prompt - - send_gdb "catch fork\n" - gdb_expect { - -re "Catchpoint .*(fork).*$gdb_prompt $"\ - {pass "explicit parent follow, set tcatch fork"} - -re "$gdb_prompt $" {fail "explicit parent follow, set tcatch fork"} - timeout {fail "(timeout) explicit parent follow, set tcatch fork"} - } -# ??rehrauer: I don't yet know how to get the id of the tcatch -# via this script, so that I can add a -do list to it. For now, -# do the follow stuff after the catch happens. - - send_gdb "continue\n" - gdb_expect { - -re ".*in _fork_sys.*$gdb_prompt $"\ - {pass "explicit parent follow, tcatch fork"} - -re "$gdb_prompt $" {fail "explicit parent follow, tcatch fork"} - timeout {fail "(timeout) explicit parent follow, tcatch fork"} - } - send_gdb "set follow parent\n" - gdb_expect { - -re "$gdb_prompt $" {pass "set follow parent"} - timeout {fail "(timeout) set follow parent"} - } - send_gdb "tbreak 15\n" - gdb_expect { - -re "Breakpoint.*, line 15.*$gdb_prompt $"\ - {pass "set follow parent, tbreak"} - -re "$gdb_prompt $" {fail "set follow parent, tbreak"} - timeout {fail "(timeout) set follow child, tbreak"} - } - send_gdb "continue\n" - gdb_expect { - -re ".*Detaching after fork from.* at .*15.*$gdb_prompt $"\ - {pass "set follow parent, hit tbreak"} - -re "$gdb_prompt $" {fail "set follow parent, hit tbreak"} - timeout {fail "(timeout) set follow parent, hit tbreak"} - } - # The child has been detached; allow time for any output it might - # generate to arrive, so that output doesn't get confused with - # any expected debugger output from a subsequent testpoint. - # - exec sleep 1 - send_gdb "delete breakpoints\n" - gdb_expect { - -re "Delete all breakpoints.*$" { - send_gdb "y\n" - gdb_expect { - -re "$gdb_prompt $"\ - {pass "set follow parent, cleanup"} - timeout {fail "(timeout) set follow parent, cleanup"} - } - } - -re "$gdb_prompt $" {fail "set follow parent, cleanup"} - timeout {fail "(timeout) set follow parent, cleanup"} - } -} - -proc do_fork_tests {} { - global gdb_prompt - - # Verify that help is available for "set follow-fork-mode". - # - send_gdb "help set follow-fork-mode\n" - gdb_expect { - -re "Set debugger response to a program call of fork or vfork..* -A fork or vfork creates a new process. follow-fork-mode can be:.* -.*parent - the original process is debugged after a fork.* -.*child - the new process is debugged after a fork.* -.*ask - the debugger will ask for one of the above choices.* -For \"parent\" or \"child\", the unfollowed process will run free..* -By default, the debugger will follow the parent process..*$gdb_prompt $"\ - { pass "help set follow" } - -re "$gdb_prompt $" { fail "help set follow" } - timeout { fail "(timeout) help set follow" } - } - - # Verify that we can set follow-fork-mode, using an abbreviation - # for both the flag and its value. - # - send_gdb "set follow ch\n" - send_gdb "show fol\n" - gdb_expect { - -re "Debugger response to a program call of fork or vfork is \"child\".*$gdb_prompt $"\ - {pass "set follow, using abbreviations"} - timeout {fail "(timeout) set follow, using abbreviations"} - } - - # Verify that we cannot set follow-fork-mode to nonsense. - # - send_gdb "set follow chork\n" - gdb_expect { - -re "Undefined item: \"chork\".*$gdb_prompt $"\ - {pass "set follow to nonsense is prohibited"} - -re "$gdb_prompt $" {fail "set follow to nonsense is prohibited"} - timeout {fail "(timeout) set follow to nonsense is prohibited"} - } - send_gdb "set follow parent\n" - gdb_expect { - -re "$gdb_prompt $" {pass "set follow to nonsense is prohibited (reset parent)"} - timeout {fail "set follow to nonsense is prohibited (reset parent)"} - } - - # Test the default behaviour, which is to follow the parent of a - # fork, and detach from the child. Do this without catchpoints. - # - if [runto_main] then { default_fork_parent_follow } - - # Test the ability to explicitly follow the parent of a fork, and - # detach from the child. Do this without catchpoints. - # - if [runto_main] then { explicit_fork_parent_follow } - - # Test the ability to follow the child of a fork, and detach from - # the parent. Do this without catchpoints. - # - if [runto_main] then { explicit_fork_child_follow } - - # Test the ability to follow both child and parent of a fork. Do - # this without catchpoints. - # ??rehrauer: NYI. Will add testpoints here when implemented. - # - - # Test the ability to have the debugger ask the user at fork-time - # whether to follow the parent, child or both. Do this without - # catchpoints. - # ??rehrauer: NYI. Will add testpoints here when implemented. - # - - # Test the ability to catch a fork, specify that the child be - # followed, and continue. Make the catchpoint permanent. - # - if [runto_main] then { catch_fork_child_follow } - - # Test the ability to catch a fork, specify via a -do clause that - # the parent be followed, and continue. Make the catchpoint temporary. - # - if [runto_main] then { tcatch_fork_parent_follow } -} - -# Start with a fresh gdb - -gdb_exit -gdb_start -gdb_reinitialize_dir $srcdir/$subdir -gdb_load ${binfile} - - -# This is a test of gdb's ability to follow the parent, child or both -# parent and child of a Unix fork() system call. -# -do_fork_tests - -return 0 diff --git a/gdb/testsuite/gdb.hp/foll-vfork.c b/gdb/testsuite/gdb.hp/foll-vfork.c deleted file mode 100644 index c7e6cd32909..00000000000 --- a/gdb/testsuite/gdb.hp/foll-vfork.c +++ /dev/null @@ -1,15 +0,0 @@ -#include <stdio.h> - -main () -{ - int pid; - - pid = vfork (); - if (pid == 0) { - printf ("I'm the child!\n"); - execlp ("gdb.hp/vforked-program", "gdb.hp/vforked-program", (char *)0); - } - else { - printf ("I'm the proud parent of child #%d!\n", pid); - } -} diff --git a/gdb/testsuite/gdb.hp/foll-vfork.exp b/gdb/testsuite/gdb.hp/foll-vfork.exp deleted file mode 100644 index 26c6981f974..00000000000 --- a/gdb/testsuite/gdb.hp/foll-vfork.exp +++ /dev/null @@ -1,381 +0,0 @@ -# Copyright (C) 1997 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ - -# Please email any bugs, comments, and/or additions to this file to: -# bug-gdb@prep.ai.mit.edu - -if $tracelevel then { - strace $tracelevel - } - -set prms_id 0 -set bug_id 0 - -# are we on a target board -if ![isnative] then { - return -} - -if {![istarget "hppa*-*-hpux10.30"] && ![istarget "hppa*-*-hpux11.*"]} { - #setup_xfail "*-*.*" - return 0 -} - -set testfile "foll-vfork" -set testfile2 "vforked-program" -set srcfile ${testfile}.c -set srcfile2 ${testfile2}.c -set binfile ${objdir}/${subdir}/${testfile} -set binfile2 ${objdir}/${subdir}/${testfile2} - -# build the first test case -#execute_anywhere "echo set prototypes 1 > ${objdir}/${subdir}/${testfile}.tmp" -#if { [compile "-g -DNO_PROTOTYPES ${srcdir}/${subdir}/${srcfile2} -o ${binfile2} "] != "" } { -# perror "Couldn't compile ${srcfile2}" -# return -1 -#} - -if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug}] != "" } { - gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail." -} - -#if { [compile "-g ${srcdir}/${subdir}/${srcfile} -o ${binfile} "] != "" } { -# execute_anywhere "rm -f ${objdir}/${subdir}/${testfile}.tmp" - # built the second test case since we can't use prototypes -# warning "Prototypes not supported, rebuilding with -DNO_PROTOTYPES" -# execute_anywhere "echo set prototypes 0 > ${objdir}/${subdir}/${testfile}.tmp" -# if { [compile "-g -DNO_PROTOTYPES ${srcdir}/${subdir}/${srcfile} -o ${binfile} "] != "" } { -# perror "Couldn't compile ${testfile}.c" -# return -1 -# } -#} - -if { [gdb_compile "${srcdir}/${subdir}/${srcfile2}" "${binfile2}" executable {debug}] != "" } { - gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail." -} - - -# Until "set follow-fork-mode" and "catch vfork" are implemented on -# other targets... -# -if ![istarget "hppa*-hp-hpux*"] then { - setup_xfail "*-*-*" -} - - -# A few of these tests require a little more time than the standard -# timeout allows. -set oldtimeout $timeout -set timeout [expr "$timeout + 10"] - -proc vfork_parent_follow_through_step {} { - global gdb_prompt - - send_gdb "set follow parent\n" - gdb_expect { - -re "$gdb_prompt $" {pass "set follow parent, vfork through step"} - timeout {fail "set follow parent, vfork through step"} - } - send_gdb "next\n" - gdb_expect { - -re "Detaching after fork from.*8.*$gdb_prompt $"\ - {pass "vfork parent follow, through step"} - -re "$gdb_prompt $" {fail "vfork parent follow, through step"} - timeout {fail "(timeout) vfork parent follow, through step" } - } - # The child has been detached; allow time for any output it might - # generate to arrive, so that output doesn't get confused with - # any gdb_expected debugger output from a subsequent testpoint. - # - exec sleep 1 -} - -proc vfork_parent_follow_to_bp {} { - global gdb_prompt - - send_gdb "set follow parent\n" - gdb_expect { - -re "$gdb_prompt $" {pass "set follow parent, vfork to bp"} - timeout {fail "set follow parent, vfork to bp"} - } - send_gdb "break 13\n" - gdb_expect { - -re "$gdb_prompt $" {pass "break, vfork to bp"} - timeout {fail "break, vfork to bp"} - } - send_gdb "continue\n" - gdb_expect { - -re ".*Detaching after fork from process.*Breakpoint.*13.*$gdb_prompt $"\ - {pass "vfork parent follow, to bp"} - -re "$gdb_prompt $" {fail "vfork parent follow, to bp"} - timeout {fail "(timeout) vfork parent follow, to bp" } - } - # The child has been detached; allow time for any output it might - # generate to arrive, so that output doesn't get confused with - # any expected debugger output from a subsequent testpoint. - # - exec sleep 1 -} - -proc vfork_and_exec_child_follow_to_main_bp {} { - global gdb_prompt - global binfile - - send_gdb "set follow child\n" - gdb_expect { - -re "$gdb_prompt $" {pass "set follow child, vfork and exec to main bp"} - timeout {fail "set follow child, vfork and exec to main bp"} - } - send_gdb "continue\n" - gdb_expect { - -re "Detaching from program.*Attaching after fork to.*Executing new program.*Breakpoint.*vforked-program.c:5.*$gdb_prompt $"\ - {pass "vfork and exec child follow, to main bp"} - -re "$gdb_prompt $" {fail "vfork and exec child follow, to main bp"} - timeout {fail "(timeout) vfork and exec child follow, to main bp" } - } - # The parent has been detached; allow time for any output it might - # generate to arrive, so that output doesn't get confused with - # any gdb_expected debugger output from a subsequent testpoint. - # - exec sleep 1 - - # Explicitly kill this child, or a subsequent rerun actually runs - # the exec'd child, not the original program... - send_gdb "kill\n" - gdb_expect { - -re ".*Kill the program being debugged.*y or n. $" { - send_gdb "y\n" - send_gdb "file $binfile\n" - gdb_expect { - -re ".*Load new symbol table from.*y or n. $" { - send_gdb "y\n" - gdb_expect { - -re "Reading symbols from.*$gdb_prompt $" {} - timeout { fail "loading symbols (timeout)"; return } - } - } - -re ".*gdb_prompt $" {} - timeout { fail "loading symbols (timeout)"; return } - } - } - -re ".*$gdb_prompt $" {} - timeout { fail "killing inferior (timeout)" ; return } - } -} - -proc vfork_and_exec_child_follow_through_step {} { - global gdb_prompt - global binfile - -# This test cannot be performed prior to HP-UX 10.30, because ptrace-based -# debugging of a vforking program basically doesn't allow the child to do -# things like hit a breakpoint between a vfork and exec. This means that -# saying "set follow child; next" at a vfork() call won't work, because -# the implementation of "next" sets a "step resume" breakpoint at the -# return from the vfork(), which the child will hit on its way to exec'ing. -# - if { ![istarget "hppa*-*-hpux10.30"] && ![istarget "hppa*-*-hpux11.*"] } { - verbose "vfork child-following next test ignored for non-hppa or pre-HP/UX-10.30 targets." - return 0 - } - - send_gdb "set follow child\n" - gdb_expect { - -re "$gdb_prompt $" {pass "set follow child, vfork and exec through step"} - timeout {fail "set follow child, vfork and exec through step"} - } - send_gdb "next\n" - gdb_expect { - -re "Detaching from program.*Attaching after fork to.*Executing new program.*Breakpoint.*vforked_program.c:5.*$gdb_prompt $"\ - {pass "vfork and exec child follow, through step"} - -re "$gdb_prompt $" {fail "vfork and exec child follow, through step"} - timeout {fail "(timeout) vfork and exec child follow, through step" } - } - # The parent has been detached; allow time for any output it might - # generate to arrive, so that output doesn't get confused with - # any expected debugger output from a subsequent testpoint. - # - exec sleep 1 - - # Explicitly kill this child, or a subsequent rerun actually runs - # the exec'd child, not the original program... - send_gdb "kill\n" - gdb_expect { - -re ".*Kill the program being debugged.*y or n. $" { - send_gdb "y\n" - send_gdb "file $binfile\n" - gdb_expect { - -re ".*Load new symbol table from.*y or n. $" { - send_gdb "y\n" - gdb_expect { - -re "Reading symbols from.*$gdb_prompt $" {} - timeout { fail "loading symbols (timeout)"; return } - } - } - -re ".*gdb_prompt $" {} - timeout { fail "loading symbols (timeout)"; return } - } - } - -re ".*$gdb_prompt $" {} - timeout { fail "killing inferior (timeout)" ; return } - } -} - -proc tcatch_vfork_then_parent_follow {} { - global gdb_prompt - global srcfile - - send_gdb "set follow parent\n" - gdb_expect { - -re "$gdb_prompt $" {pass "set follow parent, tcatch vfork"} - timeout {fail "set follow parent, tcatch vfork"} - } - send_gdb "tcatch vfork\n" - gdb_expect { - -re "Catchpoint .*(vfork).*$gdb_prompt $"\ - {pass "vfork parent follow, set tcatch vfork"} - -re "$gdb_prompt $" {fail "vfork parent follow, set tcatch vfork"} - timeout {fail "(timeout) vfork parent follow, set tcatch vfork"} - } - send_gdb "continue\n" -# HP-UX 10.20 seems to stop you in "vfork", while more recent HP-UXs -# stop you in "_vfork". - gdb_expect { - -re "0x\[0-9a-fA-F\]*.*vfork.*$gdb_prompt $"\ - {pass "vfork parent follow, tcatch vfork"} - -re "0x\[0-9a-fA-F\]*.*_vfork.*$gdb_prompt $"\ - {pass "vfork parent follow, tcatch vfork"} - -re "$gdb_prompt $" {fail "vfork parent follow, tcatch vfork"} - timeout {fail "(timeout) vfork parent follow, tcatch vfork"} - } - send_gdb "finish\n" - gdb_expect { - -re "Run till exit from.*vfork.*0x\[0-9a-fA-F\]* in main .* at .*${srcfile}:7.*$gdb_prompt $"\ - {pass "vfork parent follow, finish after tcatch vfork"} - -re "$gdb_prompt $" {fail "vfork parent follow, finish after tcatch vfork"} - timeout {fail "(timeout) vfork parent follow, finish after tcatch vfork" } - } - # The child has been detached; allow time for any output it might - # generate to arrive, so that output doesn't get confused with - # any expected debugger output from a subsequent testpoint. - # - exec sleep 1 -} - -proc tcatch_vfork_then_child_follow {} { - global gdb_prompt - global srcfile2 - - send_gdb "set follow child\n" - gdb_expect { - -re "$gdb_prompt $" {pass "set follow child, tcatch vfork"} - timeout {fail "set follow child, tcatch vfork"} - } - send_gdb "tcatch vfork\n" - gdb_expect { - -re "Catchpoint .*(vfork).*$gdb_prompt $"\ - {pass "vfork child follow, set tcatch vfork"} - -re "$gdb_prompt $" {fail "vfork child follow, set tcatch vfork"} - timeout {fail "(timeout) vfork child follow, set tcatch vfork"} - } - send_gdb "continue\n" -# HP-UX 10.20 seems to stop you in "vfork", while more recent HP-UXs -# stop you in "_vfork". - gdb_expect { - -re "0x\[0-9a-fA-F\]*.*vfork.*$gdb_prompt $"\ - {pass "vfork child follow, tcatch vfork"} - -re "0x\[0-9a-fA-F\]*.*_vfork.*$gdb_prompt $"\ - {pass "vfork child follow, tcatch vfork"} - -re "$gdb_prompt $" {fail "vfork child follow, tcatch vfork"} - timeout {fail "(timeout) vfork child follow, tcatch vfork"} - } - send_gdb "finish\n" - gdb_expect { - -re "Run till exit from.*vfork.*${srcfile2}:5.*$gdb_prompt $"\ - {pass "vfork child follow, finish after tcatch vfork"} - -re "$gdb_prompt $" {fail "vfork child follow, finish after tcatch vfork"} - timeout {fail "(timeout) vfork child follow, finish after tcatch vfork" } - } - # The parent has been detached; allow time for any output it might - # generate to arrive, so that output doesn't get confused with - # any expected debugger output from a subsequent testpoint. - # - exec sleep 1 -} - -proc do_vfork_and_exec_tests {} { - global gdb_prompt - - # Try following the parent process by stepping through a call to - # vfork. Do this without catchpoints. - if [runto_main] then { vfork_parent_follow_through_step } - - # Try following the parent process by setting a breakpoint on the - # other side of a vfork, and running to that point. Do this - # without catchpoints. - if [runto_main] then { vfork_parent_follow_to_bp } - - # Try following the child process by just continuing through the - # vfork, and letting the parent's breakpoint on "main" be auto- - # magically reset in the child. - # - if [runto_main] then { vfork_and_exec_child_follow_to_main_bp } - - # Try following the child process by stepping through a call to - # vfork. The child also executes an exec. Since the child cannot - # be debugged until after it has exec'd, and since there's a bp on - # "main" in the parent, and since the bp's for the parent are - # recomputed in the exec'd child, the step through a vfork should - # land us in the "main" for the exec'd child, too. - # - if [runto_main] then { vfork_and_exec_child_follow_through_step } - - # Try catching a vfork, and stepping out to the parent. - # - if [runto_main] then { tcatch_vfork_then_parent_follow } - - # Try catching a vfork, and stepping out to the child. - # - if [runto_main] then { tcatch_vfork_then_child_follow } - - # Test the ability to follow both child and parent of a vfork. Do - # this without catchpoints. - # ??rehrauer: NYI. Will add testpoints here when implemented. - # - - # Test the ability to have the debugger ask the user at vfork-time - # whether to follow the parent, child or both. Do this without - # catchpoints. - # ??rehrauer: NYI. Will add testpoints here when implemented. - # -} - -# Start with a fresh gdb - -gdb_exit -gdb_start -gdb_reinitialize_dir $srcdir/$subdir -gdb_load ${binfile} - - -# This is a test of gdb's ability to follow the parent or child -# of a Unix vfork() system call. (The child will subsequently -# call a variant of a Unix exec() system call.) -# -do_vfork_and_exec_tests - -set timeout $oldtimeout -return 0 diff --git a/gdb/testsuite/gdb.hp/gen-so-thresh.c b/gdb/testsuite/gdb.hp/gen-so-thresh.c deleted file mode 100644 index c1a3eb580c5..00000000000 --- a/gdb/testsuite/gdb.hp/gen-so-thresh.c +++ /dev/null @@ -1,229 +0,0 @@ -/* - * Program to generate the so-thresh testcase, - * including associated linked-against shared libraries. - * Build as: - * - * cc -g -o gen-so-thresh gen-so-thresh.c - * - * Invoke as: - * - * gen-so-thresh - * - * It will put all the code in the current directory ("."). - * - * A makefile can also be generated if the -makemake option is used. - * To use the makefile: - * - * make -f so-thresh.mk all - * - * The name of the application is - * - * so-thresh - * - * (Revised from a program by John Bishop. --rehrauer) - */ - -#include <stdio.h> -#include <sys/stat.h> -#include <sys/fcntl.h> - -int main (argc, argv) -int argc; -char **argv; -{ -#define NUMBER_OF_INT_VARS 1500 -#define NUMBER_OF_LIBS 3 - int lib_num = NUMBER_OF_LIBS; - int i; - int i2; - FILE *main_file; - FILE *lib_file; - FILE *make_file; - FILE *link_file; - - char testcase_name [1000]; - char linkfile_name [1000]; - char makefile_name [1000]; - char mainfile_name [1000]; - - char file_name[100]; - /* - * 0123456789 <-- length of field - * "./fil0000000002.c"; <-- typical filename - * 12345678901234567890 <-- length of string - * 10 20 - * ^where null goes - */ - char file_name_core[100]; - - /* Verify input. - */ - if ((argc < 1) || (argc > 2) || (argv == NULL) || - ((argc == 2) && (strcmp (argv[1], "-makemake") != 0))) - { - printf ("** Syntax: %s [-makemake]\n", argv[0]); - return; - } - - if (strncmp (argv[0], "gen-", 4) != 0) - { - printf ("** This tool expected to be named \"gen-something\"\n"); - return; - } - strcpy (testcase_name, argv[0]+4); - - strcpy (linkfile_name, testcase_name); - strcat (linkfile_name, ".linkopts"); - link_file = fopen (linkfile_name, "w"); - fprintf (link_file, "# Linker options for %s test\n", testcase_name); - - /* Generate the makefile, if requested. - */ - if (argc == 2) - { - strcpy (makefile_name, testcase_name); - strcat (makefile_name, ".mk.new"); - make_file = fopen (makefile_name, "w"); - printf (" Note: New makefile (%s) generated.\n", makefile_name); - printf (" May want to update existing makefile, if any.\n"); - fprintf (make_file, "# Generated automatically by %s\n", argv[0]); - fprintf (make_file, "# Make file for %s test\n", testcase_name); - fprintf (make_file, "\n"); - fprintf (make_file, "CFLAGS = +DA1.1 -g\n"); - fprintf (make_file, "\n"); - fprintf (make_file, "# This is how to build this generator.\n"); - fprintf (make_file, "%s.o: %s.c\n", argv[0], argv[0]); - fprintf (make_file, "\t$(CC) $(CFLAGS) -o %s.o -c %s.c\n", argv[0], argv[0]); - fprintf (make_file, "%s: %s.o\n", argv[0], argv[0]); - fprintf (make_file, "\t$(CC) $(CFLAGS) -o %s %s.o\n", argv[0], argv[0]); - fprintf (make_file, "\n"); - fprintf (make_file, "# This is how to run this generator.\n"); - fprintf (make_file, "# This target should be made before the 'all' target,\n"); - fprintf (make_file, "# to ensure that the shlib sources are all available.\n"); - fprintf (make_file, "require_shlibs: %s\n", argv[0]); - for (i=0; i < lib_num; i++) - { - fprintf (make_file, "\tif ! [ -a lib%2.2d_%s.c ] ; then \\\n", i, testcase_name); - fprintf (make_file, "\t %s ; \\\n", argv[0]); - fprintf (make_file, "\tfi\n"); - } - fprintf (make_file, "\n"); - fprintf (make_file, "# This is how to build all the shlibs.\n"); - fprintf (make_file, "# Be sure to first make the require_shlibs target!\n"); - for (i=0; i < lib_num; i++) - { - fprintf (make_file, "lib%2.2d_%s.o: lib%2.2d_%s.c\n", i, testcase_name, i, testcase_name); - fprintf (make_file, "\t$(CC) $(CFLAGS) +Z -o lib%2.2d_%s.o -c lib%2.2d_%s.c\n", i, testcase_name, i, testcase_name); - fprintf (make_file, "lib%2.2d-%s.sl: lib%2.2d-%s.o\n", i, testcase_name, i, testcase_name); - fprintf (make_file, "\t$(LD) $(LDFLAGS) -b -o lib%2.2d-%s.sl lib%2.2d-%s.o\n", i, testcase_name, i, testcase_name); - } - fprintf (make_file, "\n"); -fprintf (make_file, "# For convenience, here's names for all pieces of all shlibs.\n"); - fprintf (make_file, "SHLIB_SOURCES = \\\n"); - for (i=0; i < lib_num-1; i++) - fprintf (make_file, "\tlib%2.2d-%s.c \\\n", i, testcase_name); - fprintf (make_file, "\tlib%2.2d-%s.c\n", lib_num-1, testcase_name); - fprintf (make_file, "SHLIB_OBJECTS = $(SHLIB_SOURCES:.c=.o)\n"); - fprintf (make_file, "SHLIBS = $(SHLIB_SOURCES:.c=.sl)\n"); - fprintf (make_file, "SHLIB_NAMES = $(SHLIB_SOURCES:.c=)\n"); - fprintf (make_file, "EXECUTABLES = $(SHLIBS) %s %s\n", argv[0], testcase_name); - fprintf (make_file, "OBJECT_FILES = $(SHLIB_OBJECTS) %s.o %s.o\n", argv[0], testcase_name); - fprintf (make_file, "\n"); - fprintf (make_file, "shlib_objects: $(SHLIB_OBJECTS)\n"); - fprintf (make_file, "shlibs: $(SHLIBS)\n"); - fprintf (make_file, "\n"); - fprintf (make_file, "# This is how to build the debuggable testcase that uses the shlibs.\n"); - fprintf (make_file, "%s.o: %s.c\n", testcase_name, testcase_name); - fprintf (make_file, "\t$(CC) $(CFLAGS) -o %s.o -c %s.c\n", testcase_name, testcase_name); - fprintf (make_file, "%s: shlibs %s.o\n", testcase_name, testcase_name); - fprintf (make_file, "\t$(LD) $(LDFLAGS) -o %s -lc -L. ", testcase_name); - fprintf (make_file, "-c %s /opt/langtools/lib/end.o /lib/crt0.o %s.o\n", linkfile_name, testcase_name); - fprintf (make_file, "\n"); - fprintf (make_file, "# Yeah, but you should first make the require_shlibs target!\n"); - fprintf (make_file, "all: %s %s\n", testcase_name, argv[0]); - fprintf (make_file, "\n"); - fprintf (make_file, "# To remove everything built via this makefile...\n"); - fprintf (make_file, "clean:\n"); - /* Do this carefully, to avoid hitting silly HP-UX ARG_MAX limits... */ - fprintf (make_file, "\trm -f lib0*-%s.*\n", testcase_name); - fprintf (make_file, "\trm -f lib1*-%s.*\n", testcase_name); - fprintf (make_file, "\trm -f lib2*-%s.*\n", testcase_name); - fprintf (make_file, "\trm -f lib3*-%s.*\n", testcase_name); - fprintf (make_file, "\trm -f lib4*-%s.*\n", testcase_name); - fprintf (make_file, "\trm -f lib5*-%s.*\n", testcase_name); - fprintf (make_file, "\trm -f lib6*-%s.*\n", testcase_name); - fprintf (make_file, "\trm -f lib7*-%s.*\n", testcase_name); - fprintf (make_file, "\trm -f lib8*-%s.*\n", testcase_name); - fprintf (make_file, "\trm -f lib9*-%s.*\n", testcase_name); - fprintf (make_file, "\trm -f %s %s %s %s.c\n", argv[0], testcase_name, linkfile_name, testcase_name); - fprintf (make_file, "\n"); - fclose (make_file); - } - - /* Generate the code for the libraries. - */ - for (i=0; i < lib_num; i++) { - - /* Generate the names for the library. - */ - sprintf (file_name, "lib%2.2d-%s.c", i, testcase_name); - sprintf (file_name_core, "lib%2.2d-%s", i, testcase_name); - - /* Generate the source code. - */ - lib_file = fopen (file_name, "w"); - fprintf (lib_file, "/* Shared library file number %d */\n", i); - fprintf (lib_file, "#include <stdio.h>\n\n"); - fprintf (lib_file, "/* The following variables largely exist to bloat this library's debug info. */\n"); - fprintf (lib_file, "static char c_static_buf_%d [100];\n", i); - for (i2=0; i2<NUMBER_OF_INT_VARS; i2++) - fprintf (lib_file, "int i_%d_%d;\n", i, i2); - fprintf (lib_file, "\nint r_%d ()\n", i); - fprintf (lib_file, "{\n"); - for (i2=0; i2<NUMBER_OF_INT_VARS; i2++) - fprintf (lib_file, " i_%d_%d = %d*%d;\n", i, i2, i2, i2); - fprintf (lib_file, " return 1;\n"); - fprintf (lib_file, "}\n\n"); - fprintf (lib_file, "/* end of generated file */\n"); - fclose (lib_file); - - /* Add a linker options line - */ - fprintf (link_file, "-l%2.2d-%s\n", i, testcase_name); - } - - /* Generate the "main" file. - */ - strcpy (mainfile_name, testcase_name); - strcat (mainfile_name, ".c"); - main_file = fopen (mainfile_name, "w"); - fprintf (main_file, "/* Generated test progam with %d shared libraries. */\n\n", - lib_num); - fprintf (main_file, "#include <stdio.h>\n\n"); - - for (i = 0; i < lib_num; i++) { - fprintf (main_file, "extern int r_%d();\n", i); - } - - fprintf (main_file, "\n"); - fprintf (main_file, "int main()\n"); - fprintf (main_file, "{\n"); - fprintf (main_file, " int accum;\n"); - fprintf (main_file, " int lib_num = %d;\n", lib_num); - - for (i = 0; i < lib_num; i++) { - fprintf (main_file, " accum += r_%d();\n", i); - } - - fprintf (main_file, " printf( \"Final value: %%d, should be %%d\\n\", accum, lib_num );\n\n"); - fprintf (main_file, " return 0;\n"); - fprintf (main_file, "}\n\n"); - fprintf (main_file, "/* end of generated file */\n"); - fclose (main_file); - - /* Finish up the link file and the build file - */ - fclose (link_file); -} - -/* End of file */ diff --git a/gdb/testsuite/gdb.hp/hwwatchbus.c b/gdb/testsuite/gdb.hp/hwwatchbus.c deleted file mode 100644 index 7a02c9b4498..00000000000 --- a/gdb/testsuite/gdb.hp/hwwatchbus.c +++ /dev/null @@ -1,9 +0,0 @@ -/* This program raises a SIGBUS signal on HP-UX when the - pointer "bogus_p" is dereferenced. - */ -int * bogus_p = (int *)3; - -main() -{ - *bogus_p = 0xdeadbeef; -} diff --git a/gdb/testsuite/gdb.hp/hwwatchbus.exp b/gdb/testsuite/gdb.hp/hwwatchbus.exp deleted file mode 100644 index d4899a997e2..00000000000 --- a/gdb/testsuite/gdb.hp/hwwatchbus.exp +++ /dev/null @@ -1,84 +0,0 @@ -# Copyright (C) 1997, 1998 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ - -# Please email any bugs, comments, and/or additions to this file to: -# bug-gdb@prep.ai.mit.edu - -if $tracelevel then { - strace $tracelevel - } - -set prms_id 0 -set bug_id 0 - -# are we on a target board -if ![isnative] then { - return -} - -if { ![istarget "hppa*-*-hpux10.30"] && ![istarget "hppa*-*-hpux11.*"] } { - verbose "HPUX h/w watch test ignored for non-hppa or pre-HP/UX-10.30 targets." - return 0 -} - -set testfile "hwwatchbus" -set srcfile ${testfile}.c -set binfile ${objdir}/${subdir}/${testfile} - -# build the first test case -if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug}] != "" } { - gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail." -} - -if [get_compiler_info ${binfile}] { - return -1 -} - -# Start with a fresh gdb - -gdb_exit -gdb_start -gdb_reinitialize_dir $srcdir/$subdir -gdb_load ${binfile} - - -# We ought to be able to set a hardware watchpoint, step, and -# get a SIGBUS signal reported. -# -if ![runto_main] then { - fail "can't run to main" - return 0 -} - -send_gdb "watch bogus_p\n" -gdb_expect { - -re "Hardware watchpoint \[0-9\]*: bogus_p.*$gdb_prompt $"\ - {pass "set h/w watchpoint"} - -re "$gdb_prompt $"\ - {fail "set h/w watchpoint"} - timeout {fail "(timeout) set h/w watchpoint"} -} - -send_gdb "step\n" -gdb_expect { - -re "Program received signal SIGBUS, Bus error.* in main .*${srcfile}:8.*$gdb_prompt $"\ - {pass "see real SIGBUS when h/w watchpoint set"} - -re "$gdb_prompt $"\ - {fail "see real SIGBUS when h/w watchpoint set"} - timeout {fail "(timeout) see real SIGBUS when h/w watchpoint set"} -} - -return 0 diff --git a/gdb/testsuite/gdb.hp/inherit-hp.exp b/gdb/testsuite/gdb.hp/inherit-hp.exp deleted file mode 100644 index 645358ec0da..00000000000 --- a/gdb/testsuite/gdb.hp/inherit-hp.exp +++ /dev/null @@ -1,849 +0,0 @@ -# Copyright (C) 1992, 1993, 1994, 1997 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - -# Please email any bugs, comments, and/or additions to this file to: -# bug-gdb@prep.ai.mit.edu - -# This file was written by Fred Fish. (fnf@cygnus.com) - -set ws "\[\r\n\t \]+" - -if $tracelevel then { - strace $tracelevel -} - -# Check to see if we have an executable to test. If not, then either we -# haven't tried to compile one, or the compilation failed for some reason. -# In either case, just notify the user and skip the tests in this file. -# Note - create separate "inherit" executable from misc.cc - -set testfile "inherit-hp" -set srcfile misc-hp.cc -set binfile ${objdir}/${subdir}/${testfile} - -if [get_compiler_info ${binfile} "c++"] { - return -1; -} - - -if {[skip_hp_tests $gcc_compiled]} then { continue } - - -if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug c++}] != "" } { - gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail." -} - -# -# Single inheritance, print individual members. -# - -proc test_print_si_members {} { - # Print all members of g_A using fully qualified form. - - gdb_test "print g_A.A::a" ".* = 1" "print g_A.A::a" - - gdb_test "print g_A.A::x" ".* = 2" "print g_A.A::x" - - # Print members of g_A using nonambiguous compact form. - - gdb_test "print g_A.a" ".* = 1" "print g_A.a" - - gdb_test "print g_A.x" ".* = 2" "print g_A.x" - - # Print all members of g_B using fully qualified form. - - gdb_test "print g_B.A::a" ".* = 3" "print g_B.A::a" - - gdb_test "print g_B.A::x" ".* = 4" "print g_B.A::x" - - gdb_test "print g_B.B::b" ".* = 5" "print g_B.B::b" - - gdb_test "print g_B.B::x" ".* = 6" "print g_B.B::x" - - # Print members of g_B using nonambiguous compact form. - - setup_xfail_format "DWARF 1" - gdb_test "print g_B.a" ".* = 3" "print g_B.a" - - gdb_test "print g_B.b" ".* = 5" "print g_B.b" - - gdb_test "print g_B.x" ".* = 6" "print g_B.x" - - # Print all members of g_C using fully qualified form. - - gdb_test "print g_C.A::a" ".* = 7" "print g_C.A::a" - - gdb_test "print g_C.A::x" ".* = 8" "print g_C.A::x" - - gdb_test "print g_C.C::c" ".* = 9" "print g_C.C::c" - - gdb_test "print g_C.C::x" ".* = 10" "print g_C.C::x" - - # Print members of g_C using nonambiguous compact form. - - setup_xfail_format "DWARF 1" - gdb_test "print g_C.a" ".* = 7" "print g_C.a" - - gdb_test "print g_C.c" ".* = 9" "print g_C.c" - - gdb_test "print g_C.x" ".* = 10" "print g_C.x" -} - -# -# Single inheritance, print type definitions. -# - -proc test_ptype_si {} { - global gdb_prompt - global ws - - # Print class A as a type. - - send_gdb "ptype A\n" - gdb_expect { - -re "type = class A \{\r\n.*\[ \]*int a;\r\n\[ \]*int x;\r\n.*\[ \]*\}\r\n$gdb_prompt $" { - pass "ptype A (FIXME)" - } - -re "type = struct A \{\r\n\[ \]*int a;\r\n\[ \]*int x;\r\n\[ \]*\}\r\n$gdb_prompt $" { - setup_xfail "*-*-*" - fail "ptype A (FIXME)" - } - -re ".*$gdb_prompt $" { fail "ptype A" } - timeout { fail "ptype A (timeout)" ; return } - } - - # Print class A as an explicit class. - - send_gdb "ptype class A\n" - gdb_expect { - -re "type = class A \{\r\n.*\[ \]*int a;\r\n\[ \]*int x;\r\n.*\[ \]*\}\r\n$gdb_prompt $" { - pass "ptype class A (FIXME)" - } - -re "type = struct A \{\r\n\[ \]*int a;\r\n\[ \]*int x;\r\n\[ \]*\}\r\n$gdb_prompt $" { - setup_xfail "*-*-*" - fail "ptype class A (FIXME)" - } - -re ".*$gdb_prompt $" { fail "ptype class A" } - timeout { fail "ptype class A (timeout)" ; return } - } - - # Print type of an object of type A. - - send_gdb "ptype g_A\n" - gdb_expect { - -re "type = class A \{\r\n.*\[ \]*int a;\r\n\[ \]*int x;\r\n.*\[ \]*\}\r\n$gdb_prompt $" { - pass "ptype g_A (FIXME)" - } - -re "type = struct A \{\r\n\[ \]*int a;\r\n\[ \]*int x;\r\n\[ \]*\}\r\n$gdb_prompt $" { - setup_xfail "*-*-*" - fail "ptype g_A (FIXME)" - } - -re ".*$gdb_prompt $" { fail "ptype g_A" } - timeout { fail "ptype g_A (timeout)" ; return } - } - - # Print class B as a type. - - setup_xfail_format "DWARF 1" - gdb_test "ptype B" "type = class B : public A \{\r\n\[ \]*public:\r\n\[ \]*int b;\r\n\[ \]*int x;\r\n.*\}" "ptype B" - - # Print class B as an explicit class. - - setup_xfail_format "DWARF 1" - gdb_test "ptype class B" "type = class B : public A \{\r\n\[ \]*public:\r\n\[ \]*int b;\r\n\[ \]*int x;\r\n.*\}" "ptype class B" - - # Print type of an object of type B. - - setup_xfail_format "DWARF 1" - gdb_test "ptype g_B" "type = class B : public A \{\r\n\[ \]*public:\r\n\[ \]*int b;\r\n\[ \]*int x;\r\n.*\}" "ptype g_B" - - # Print class C as a type. - - setup_xfail_format "DWARF 1" - gdb_test "ptype C" "type = class C : public A \{\r\n\[ \]*public:\r\n\[ \]*int c;\r\n\[ \]*int x;\r\n.*\}" "ptype C" - - # Print class C as an explicit class. - - setup_xfail_format "DWARF 1" - gdb_test "ptype class C" "type = class C : public A \{\r\n\[ \]*public:\r\n\[ \]*int c;\r\n\[ \]*int x;\r\n.*\}" "ptype class C" - - # Print type of an object of type g_C. - - setup_xfail_format "DWARF 1" - gdb_test "ptype g_C" "type = class C : public A \{\r\n\[ \]*public:\r\n\[ \]*int c;\r\n\[ \]*int x;\r\n.*\}" "ptype g_C" - - # gcc cygnus-2.3.3 (Q1) has this bug, but it was fixed as of - # cygnus-2.3.3-930417. PR 2819. - send_gdb "ptype tagless_struct\n" - gdb_expect { - -re "type = class \{${ws}public:${ws}int one;${ws}int two;${ws}tagless_struct & operator=\\(tagless_struct &\\);${ws}\\\$_1 \\(tagless_struct &\\);${ws}\\\$_1 \\(\\);${ws}\}\r\n$gdb_prompt $" { - pass "ptype tagless struct" - } - -re "type = (struct|class).*\{.*int one;.*int two;.*\}\r\n$gdb_prompt $" { - pass "ptype tagless struct (obsolete gcc or gdb)" - } - -re ".*$gdb_prompt $" { - fail "ptype tagless struct" - } - timeout { - fail "ptype tagless struct (timeout)" - } - } - - send_gdb "ptype v_tagless\n" - gdb_expect { - -re "type = class \{${ws}public:${ws}int one;${ws}int two;${ws}tagless_struct & operator=\\(tagless_struct &\\);${ws}\\\$_1 \\(tagless_struct &\\);${ws}\\\$_1 \\(\\);${ws}\}\r\n$gdb_prompt $" { - pass "ptype variable of type tagless struct" - } - -re "type = (struct|class).*\{.*int one;.*int two;.*\}\r\n$gdb_prompt $" { - pass "ptype variable of type tagless struct (obsolete gcc or gdb)" - } - -re ".*$gdb_prompt $" { - fail "ptype variable of type tagless struct" - } - timeout { - fail "ptype variable of type tagless struct (timeout)" - } - } -} - -# -# Single inheritance, print complete classes. -# - -proc test_print_si_classes {} { - # Print all members of g_A. - - gdb_test "print g_A" ".* = \{a = 1, x = 2\}" "print g_A" - - # Print all members of g_B. - - setup_xfail_format "DWARF 1" - gdb_test "print g_B" ".* = \{\<class A\> = \{a = 3, x = 4\}, b = 5, x = 6\}" "print g_B" - - # Print all members of g_C. - - setup_xfail_format "DWARF 1" - gdb_test "print g_C" ".* = \{\<class A\> = \{a = 7, x = 8\}, c = 9, x = 10\}" "print g_C" -} - -# -# Single inheritance, print anonymous unions. -# GDB versions prior to 4.14 entered an infinite loop when printing -# the type of a class containing an anonymous union, and they were also -# incapable of printing the member of an anonymous union. -# We test the printing of the member first, and perform the other tests -# only if the test succeeds, to avoid the infinite loop. -# - -proc test_print_anon_union {} { - global gdb_prompt - global ws - - setup_xfail_format "DWARF 1" - gdb_test "print g_anon_union.a" ".* = 2" "print anonymous union member" - setup_xfail_format "DWARF 1" - send_gdb "print g_anon_union\n" - gdb_expect { - -re ".* = \{one = 1, \{a = 2, b = 2\}\}\r\n$gdb_prompt $" { - pass "print variable of type anonymous union" - } - -re ".* = .*\{one = 1, = \{a = 2, b = .*\}\}\r\n$gdb_prompt $" { - pass "print variable of type anonymous union (obsolete gcc or gdb)" - } - -re ".*\r\n$gdb_prompt $" { - fail "print variable of type anonymous union" - } - timeout { - fail "print variableof type anonymous union (timeout)" - } - } - setup_xfail_format "DWARF 1" - send_gdb "ptype g_anon_union\n" - gdb_expect { - -re "type = class class_with_anon_union \{${ws}public:${ws}int one;${ws}union \{${ws}public:${ws}int a;${ws}long int b;${ws}union \{\.\.\.\} & operator=\\(union \{\.\.\.\} &\\);${ws}\\\$_0 \\(union \{\.\.\.\} &\\);${ws}\\\$_0 \\(\\);${ws}\};${ws}class_with_anon_union & operator=\\(class_with_anon_union const &\\);${ws}class_with_anon_union\\(class_with_anon_union const &\\);${ws}class_with_anon_union\\(void\\);${ws}\}\r\n$gdb_prompt $" { - pass "print type of anonymous union" - } - -re "type = (struct|class).*\{.*int one;.*union \{.*int a;.*(long|long int|int) b;.*\};.*\}\r\n$gdb_prompt $" { - pass "print type of anonymous union (obsolete gcc or gdb)" - } - -re ".*\r\n$gdb_prompt $" { - fail "print type of anonymous union" - } - timeout { - fail "print type of anonymous union (timeout)" - } - } -} - -# -# Multiple inheritance, print individual members. -# - -proc test_print_mi_members {} { - global gdb_prompt - - # Print all members of g_A. - - gdb_test "print g_A.A::a" ".* = 1" "print g_A.A::a" - - gdb_test "print g_A.A::x" ".* = 2" "print g_A.A::x" - - # Print all members of g_B. - - gdb_test "print g_B.A::a" ".* = 3" "print g_B.A::a" - - gdb_test "print g_B.A::x" ".* = 4" "print g_B.A::x" - - gdb_test "print g_B.B::b" ".* = 5" "print g_B.B::b" - - gdb_test "print g_B.B::x" ".* = 6" "print g_B.B::x" - - # Print all members of g_C. - - gdb_test "print g_C.A::a" ".* = 7" "print g_C.A::a" - - gdb_test "print g_C.A::x" ".* = 8" "print g_C.A::x" - - gdb_test "print g_C.C::c" ".* = 9" "print g_C.C::c" - - gdb_test "print g_C.C::x" ".* = 10" "print g_C.C::x" - - # Print all members of g_D. - - # The following is ambiguous, and gdb should detect this. - # For now, accept gdb's behavior as an expected failure if it - # simply prints either member correctly. - - # setup_xfail "*-*-*" - send_gdb "print g_D.A::a\n" - gdb_expect { - -re "warning: A ambiguous; using D::B::A. Use a cast to disambiguate.\r\n\\$\[0-9\]* = 11\r\n$gdb_prompt $" { - pass "print g_D.A::a" - } - -re ".* = 15\r\n$gdb_prompt $" { - fail "print g_D.A::a (did GDB's algorithm change?)" - } - -re ".* = 11\r\n$gdb_prompt $" { - fail "print g_D.A::a (ambiguity not reported)" - } - -re ".*$gdb_prompt $" { fail "print g_D.A::a" } - timeout { fail "print g_D.A::a (timeout)" ; return } - } - - # The following is ambiguous, and gdb should detect this. - # For now, accept gdb's behavior as an expected failure if it - # simply prints either member correctly. - - # setup_xfail "*-*-*" - send_gdb "print g_D.A::x\n" - gdb_expect { - -re "warning: A ambiguous; using D::B::A. Use a cast to disambiguate.\r\n\\$\[0-9\]* = 12\r\n$gdb_prompt $" { - pass "print g_D.A::x" - } - -re ".* = 16\r\n$gdb_prompt $" { - fail "print g_D.A::x (did GDB's algorithm change?)" - } - -re ".* = 12\r\n$gdb_prompt $" { - fail "print g_D.A::x (ambiguity not reported)" - } - -re ".*$gdb_prompt $" { fail "print g_D.A::x" } - timeout { fail "print g_D.A::x (timeout)" ; return } - } - - gdb_test "print g_D.B::b" ".* = 13" "print g_D.B::b" - - gdb_test "print g_D.B::x" ".* = 14" "print g_D.B::x" - - setup_xfail_format "DWARF 1" - gdb_test "print g_D.C::c" ".* = 17" "print g_D.C::c" - - setup_xfail_format "DWARF 1" - gdb_test "print g_D.C::x" ".* = 18" "print g_D.C::x" - - gdb_test "print g_D.D::d" ".* = 19" "print g_D.D::d" - - gdb_test "print g_D.D::x" ".* = 20" "print g_D.D::x" - - # Print all members of g_E. - - # The following is ambiguous, and gdb should detect this. - # For now, accept gdb's behavior as an expected failure if it - # simply prints either member correctly. - - #setup_xfail "*-*-*" - send_gdb "print g_E.A::a\n" - gdb_expect { - -re "warning: A ambiguous; using E::D::B::A. Use a cast to disambiguate.\r\n\\$\[0-9\]* = 21\r\n$gdb_prompt $" { - pass "print g_E.A::a" - } - -re ".* = 25\r\n$gdb_prompt $" { - fail "print g_E.A::a (did GDB's algorithm change?)" - } - -re ".* = 21\r\n$gdb_prompt $" { - fail "print g_E.A::a (ambiguity not reported)" - } - -re ".*$gdb_prompt $" { fail "print g_E.A::a" } - timeout { fail "print g_E.A::a (timeout)" ; return } - } - - # The following is ambiguous, and gdb should detect this. - # For now, accept gdb's behavior as an expected failure if it - # simply prints either member correctly. - - # setup_xfail "*-*-*" - send_gdb "print g_E.A::x\n" - gdb_expect { - -re "warning: A ambiguous; using E::D::B::A. Use a cast to disambiguate.\r\n\\$\[0-9\]* = 22\r\n$gdb_prompt $" { - pass "print g_E.A::x" - } - -re ".* = 26\r\n$gdb_prompt $" { - fail "print g_E.A::x (did GDB's algorithm change?)" - } - -re ".* = 22\r\n$gdb_prompt $" { - fail "print g_E.A::x (ambiguity not reported)" - } - -re ".*$gdb_prompt $" { fail "print g_E.A::x" } - timeout { fail "print g_E.A::x (timeout)" ; return } - } - - gdb_test "print g_E.B::b" ".* = 23" "print g_E.B::b" - - gdb_test "print g_E.B::x" ".* = 24" "print g_E.B::x" - - setup_xfail_format "DWARF 1" - gdb_test "print g_E.C::c" ".* = 27" "print g_E.C::c" - - setup_xfail_format "DWARF 1" - gdb_test "print g_E.C::x" ".* = 28" "print g_E.C::x" - - gdb_test "print g_E.D::d" ".* = 29" "print g_E.D::d" - - gdb_test "print g_E.D::x" ".* = 30" "print g_E.D::x" - - gdb_test "print g_E.E::e" ".* = 31" "print g_E.E::e" - - gdb_test "print g_E.E::x" ".* = 32" "print g_E.E::x" -} - -# -# Multiple inheritance, print type definitions. -# - -proc test_ptype_mi {} { - setup_xfail_format "DWARF 1" - gdb_test "ptype D" "type = class D : public B, public C \{\r\n\[ \]*public:\r\n\[ \]*int d;\r\n\[ \]*int x;\r\n.*\}" "ptype D" - - setup_xfail_format "DWARF 1" - gdb_test "ptype class D" "type = class D : public B, public C \{\r\n\[ \]*public:\r\n\[ \]*int d;\r\n\[ \]*int x;\r\n.*\}" "ptype class D" - - setup_xfail_format "DWARF 1" - gdb_test "ptype g_D" "type = class D : public B, public C \{\r\n\[ \]*public:\r\n\[ \]*int d;\r\n\[ \]*int x;\r\n.*\}" "ptype g_D" - - setup_xfail_format "DWARF 1" - gdb_test "ptype E" "type = class E : public D \{\r\n\[ \]*public:\r\n\[ \]*int e;\r\n\[ \]*int x;\r\n.*\}" "ptype E" - - setup_xfail_format "DWARF 1" - gdb_test "ptype class E" "type = class E : public D \{\r\n\[ \]*public:\r\n\[ \]*int e;\r\n\[ \]*int x;\r\n.*\}" "ptype class E" - - setup_xfail_format "DWARF 1" - gdb_test "ptype g_E" "type = class E : public D \{\r\n\[ \]*public:\r\n\[ \]*int e;\r\n\[ \]*int x;\r\n.*\}" "ptype g_E" -} - -# -# Multiple inheritance, print complete classes. -# - -proc test_print_mi_classes {} { - # Print all members of g_D. - - setup_xfail_format "DWARF 1" - gdb_test "print g_D" ".* = \{\<class B\> = \{\<class A\> = \{a = 11, x = 12\}, b = 13, x = 14\}, \<class C\> = \{\<class A\> = \{a = 15, x = 16\}, c = 17, x = 18\}, d = 19, x = 20\}" "print g_D" - - # Print all members of g_E. - - setup_xfail_format "DWARF 1" - gdb_test "print g_E" ".* = \{\<class D\> = \{\<class B\> = \{\<class A\> = \{a = 21, x = 22\}, b = 23, x = 24\}, \<class C\> = \{\<class A\> = \{a = 25, x = 26\}, c = 27, x = 28\}, d = 29, x = 30\}, e = 31, x = 32\}" "print g_E" -} - -# -# Single virtual inheritance, print individual members. -# - -proc test_print_svi_members {} { - global gdb_prompt - global decimal - - # Print all members of g_vA. - - gdb_test "print g_vA.vA::va" ".* = 1" "print g_vA.vA::va" - - gdb_test "print g_vA.vA::vx" ".* = 2" "print g_vA.vA::vx" - - # Print members of g_vA using compact form. - - gdb_test "print g_vA.va" ".* = 1" "print g_vA.va" - - gdb_test "print g_vA.vx" ".* = 2" "print g_vA.vx" - - # Print all members of g_vB. - - setup_xfail_format "DWARF 1" - send_gdb "print g_vB.vA::va\n" - gdb_expect { - -re ".* = 3\r\n$gdb_prompt $" { pass "print g_vB.vA::va" } - -re ".*virtual baseclass botch.*$gdb_prompt $" { - # Does not happen with gcc cygnus-2.4.5-930828 - fail "print g_vB.vA::va (known bug with gcc cygnus-2.4.5-930417)" - # Many of the rest of these tests have the same problem. - return 0 - } - -re ".*$gdb_prompt $" { fail "print g_vB.vA::va" } - timeout { fail "print g_vB.vA::va (timeout)" ; return } - } - - setup_xfail_format "DWARF 1" - gdb_test "print g_vB.vA::vx" ".* = 4" "print g_vB.vA::vx" - - gdb_test "print g_vB.vB::vb" ".* = 5" "print g_vB.vB::vb" - - gdb_test "print g_vB.vB::vx" ".* = 6" "print g_vB.vB::vx" - - # Print members of g_vB using compact form. - - setup_xfail_format "DWARF 1" - gdb_test "print g_vB.va" ".* = 3" "print g_vB.va" - - gdb_test "print g_vB.vb" ".* = 5" "print g_vB.vb" - - gdb_test "print g_vB.vx" ".* = 6" "print g_vB.vx" - - # Print all members of g_vC. - - setup_xfail_format "DWARF 1" - gdb_test "print g_vC.vA::va" ".* = 7" "print g_vC.vA::va" - - setup_xfail_format "DWARF 1" - gdb_test "print g_vC.vA::vx" ".* = 8" "print g_vC.vA::vx" - - gdb_test "print g_vC.vC::vc" ".* = 9" "print g_vC.vC::vc" - - gdb_test "print g_vC.vC::vx" ".* = 10" "print g_vC.vC::vx" - - # Print members of g_vC using compact form. - - setup_xfail_format "DWARF 1" - gdb_test "print g_vC.va" ".* = 7" "print g_vC.va" - - gdb_test "print g_vC.vc" ".* = 9" "print g_vC.vc" - - gdb_test "print g_vC.vx" ".* = 10" "print g_vC.vx" -} - -# -# Single virtual inheritance, print type definitions. -# - -proc test_ptype_vi {} { - global gdb_prompt - - # This class does not use any C++-specific features, so it's fine for - # it to print as "struct". - send_gdb "ptype vA\n" - gdb_expect { - -re "type = class vA \{\[\r\n\]+\[ \]*public:\[\r\n\]+\[ \]*int va;\[\r\n\]+\[ \]*int vx;\[\r\n\]+.*\}\[\r\n\]+$gdb_prompt $" { - pass "ptype vA" - } - -re "type = struct vA \{\[\r\n\]+\[ \]*int va;\[\r\n\]+\[ \]*int vx;\[\r\n\]+\}\[\r\n\]+$gdb_prompt $" { - pass "ptype vA" - } - -re ".*$gdb_prompt $" { fail "ptype vA" } - timeout { fail "ptype vA (timeout)" ; return } - } - - # This class does not use any C++-specific features, so it's fine for - # it to print as "struct". - send_gdb "ptype class vA\n" - gdb_expect { - -re "type = class vA \{\[\r\n\]+\[ \]*public:\[\r\n\]+\[ \]*int va;\[\r\n\]+\[ \]*int vx;\[\r\n\]+.*\}\[\r\n\]+$gdb_prompt $" { - pass "ptype class vA" - } - -re "type = struct vA \{\[\r\n\]+\[ \]*int va;\[\r\n\]+\[ \]*int vx;\[\r\n\]+\}\[\r\n\]+$gdb_prompt $" { - pass "ptype class vA" - } - -re ".*$gdb_prompt $" { fail "ptype class vA" } - timeout { fail "ptype class vA (timeout)" ; return } - } - - # This class does not use any C++-specific features, so it's fine for - # it to print as "struct". - send_gdb "ptype g_vA\n" - gdb_expect { - -re "type = class vA \{\[\r\n\]+\[ \]*public:\[\r\n\]+\[ \]*int va;\[\r\n\]+\[ \]*int vx;\[\r\n\]+.*\}\[\r\n\]+$gdb_prompt $" { - pass "ptype g_vA" - } - -re "type = struct vA \{\[\r\n\]+\[ \]*int va;\[\r\n\]+\[ \]*int vx;\[\r\n\]+\}\[\r\n\]+$gdb_prompt $" { - pass "ptype g_vA" - } - -re ".*$gdb_prompt $" { fail "ptype g_vA" } - timeout { fail "ptype g_vA (timeout)" ; return } - } - - setup_xfail_format "DWARF 1" - gdb_test "ptype vB" "ptype vB\[\r\n\]+type = class vB : public virtual vA \{\[\r\n\]+ public:\r\n\[ \]+int vb;\r\n\[ \]+int vx;\r\n.*\}" "ptype vB (aCC)" - - setup_xfail_format "DWARF 1" - gdb_test "ptype class vB" "type = class vB : public virtual vA \{\r\n\[ \]*public:\r\n\[ \]*int vb;\r\n\[ \]*int vx;\r\n.*\}" "ptype class vB (aCC)" - - setup_xfail_format "DWARF 1" - gdb_test "ptype g_vB" "type = class vB : public virtual vA \{\r\n\[ \]*public:\r\n\[ \]*int vb;\r\n\[ \]*int vx;\r\n.*\}" "ptype g_vB (aCC)" - - setup_xfail_format "DWARF 1" - gdb_test "ptype vC" "type = class vC : public virtual vA \{\r\n\[ \]*public:\r\n\[ \]*int vc;\r\n\[ \]*int vx;\r\n.*\}" "ptype vC (aCC)" - - setup_xfail_format "DWARF 1" - gdb_test "ptype class vC" "type = class vC : public virtual vA \{\r\n\[ \]*public:\r\n\[ \]*int vc;\r\n\[ \]*int vx;\r\n.*\}" "ptype class vC (aCC)" - - setup_xfail_format "DWARF 1" - gdb_test "ptype g_vC" "type = class vC : public virtual vA \{\r\n\[ \]*public:\r\n\[ \]*int vc;\r\n\[ \]*int vx;\r\n.*\}" "ptype g_vC (aCC)" -} - -# -# Single virtual inheritance, print complete classes. -# - -proc test_print_svi_classes {} { - global gdb_prompt - global hex - global decimal - - # Print all members of g_vA. - - gdb_test "print g_vA" ".* = \{va = 1, vx = 2\}" "print g_vA" - - # Print all members of g_vB. - - setup_xfail_format "DWARF 1" - send_gdb "print g_vB\n" - gdb_expect { - -re ".* = \{\<class vA\> = \{va = 3, vx = 4\}, vb = 5, vx = 6, Virtual table at $hex\}\r\n$gdb_prompt $" { - pass "print g_vB" - } - -re ".*invalid address 0x0.*$gdb_prompt $" { - # Does not happen with gcc cygnus-2.4.5-930828 - fail "print g_vB (known bug with gcc cygnus-2.4.5-930417)" - # Many of the rest of these tests have the same problem. - return 0 - } - -re ".*$gdb_prompt $" { fail "print g_vB" } - timeout { fail "print g_vB (timeout)" ; return } - } - - # Print all members of g_vC. - - setup_xfail_format "DWARF 1" - gdb_test "print g_vC" ".* = \{\<class vA\> = \{va = 7, vx = 8\}, vc = 9, vx = 10, Virtual table at $hex\}" "print g_vC" -} - -# -# Multiple virtual inheritance, print individual members. -# - -proc test_print_mvi_members {} { - global gdb_prompt - global decimal - - # Print all members of g_vD. - - setup_xfail_format "DWARF 1" - send_gdb "print g_vD.vA::va\n" - gdb_expect { - -re ".* = 19\r\n$gdb_prompt $" { pass "print g_vD.vA::va" } - -re ".*virtual baseclass botch.*$gdb_prompt $" { - # Does not happen with gcc cygnus-2.4.5-930828 - fail "print g_vD.vA::va (known bug with gcc cygnus-2.4.5-930417)" - # Many of the rest of these tests have the same problem. - return 0 - } - -re ".*$gdb_prompt $" { fail "print g_vD.vA::va" } - timeout { fail "print g_vD.vA::va (timeout)" ; return } - } - - setup_xfail_format "DWARF 1" - gdb_test "print g_vD.vA::vx" ".* = 20" "print g_vD.vA::vx" - - setup_xfail_format "DWARF 1" - gdb_test "print g_vD.vB::vb" ".* = 21" "print g_vD.vB::vb" - - setup_xfail_format "DWARF 1" - gdb_test "print g_vD.vB::vx" ".* = 22" "print g_vD.vB::vx" - - setup_xfail_format "DWARF 1" - gdb_test "print g_vD.vC::vc" ".* = 23" "print g_vD.vC::vc" - - setup_xfail_format "DWARF 1" - gdb_test "print g_vD.vC::vx" ".* = 24" "print g_vD.vC::vx" - - gdb_test "print g_vD.vD::vd" ".* = 25" "print g_vD.vD::vd" - - gdb_test "print g_vD.vD::vx" ".* = 26" "print g_vD.vD::vx" - - # Print all members of g_vE. - - setup_xfail_format "DWARF 1" - gdb_test "print g_vE.vA::va" ".* = 0" "print g_vE.vA::va" - - setup_xfail_format "DWARF 1" - gdb_test "print g_vE.vA::vx" ".* = 0" "print g_vE.vA::vx" - - setup_xfail_format "DWARF 1" - gdb_test "print g_vE.vB::vb" ".* = 0" "print g_vE.vB::vb" - - setup_xfail_format "DWARF 1" - gdb_test "print g_vE.vB::vx" ".* = 0" "print g_vE.vB::vx" - - setup_xfail_format "DWARF 1" - gdb_test "print g_vE.vC::vc" ".* = 0" "print g_vE.vC::vc" - - setup_xfail_format "DWARF 1" - gdb_test "print g_vE.vC::vx" ".* = 0" "print g_vE.vC::vx" - - setup_xfail_format "DWARF 1" - gdb_test "print g_vE.vD::vd" ".* = 0" "print g_vE.vD::vd" - - gdb_test "print g_vE.vD::vx" ".* = 0" "print g_vE.vD::vx" - - gdb_test "print g_vE.vE::ve" ".* = 27" "print g_vE.vE::ve" - - gdb_test "print g_vE.vE::vx" ".* = 28" "print g_vE.vE::vx" -} - -# -# Multiple virtual inheritance, print type definitions. -# - -proc test_ptype_mvi {} { - setup_xfail_format "DWARF 1" - gdb_test "ptype vD" "type = class vD : public virtual vB, public virtual vC \{\r\n\[ \]*public:\r\n\[ \]*int vd;\r\n\[ \]*int vx;\r\n.*\}" "ptype vD (aCC)" - - setup_xfail_format "DWARF 1" - gdb_test "ptype class vD" "type = class vD : public virtual vB, public virtual vC \{\r\n\[ \]*public:\r\n\[ \]*int vd;\r\n\[ \]*int vx;\r\n.*\}" "ptype class vD (aCC)" - - setup_xfail_format "DWARF 1" - gdb_test "ptype g_vD" "type = class vD : public virtual vB, public virtual vC \{\r\n\[ \]*public:\r\n\[ \]*int vd;\r\n\[ \]*int vx;\r\n.*\}" "ptype g_vD (aCC)" - - setup_xfail_format "DWARF 1" - gdb_test "ptype vE" "type = class vE : public virtual vD \{\r\n\[ \]*public:\r\n\[ \]*int ve;\r\n\[ \]*int vx;\r\n.*\}" "ptype vE (aCC)" - - setup_xfail_format "DWARF 1" - gdb_test "ptype class vE" "type = class vE : public virtual vD \{\r\n\[ \]*public:\r\n\[ \]*int ve;\r\n\[ \]*int vx;\r\n.*\}" "ptype class vE (aCC)" - - setup_xfail_format "DWARF 1" - gdb_test "ptype g_vE" "type = class vE : public virtual vD \{\r\n\[ \]*public:\r\n\[ \]*int ve;\r\n\[ \]*int vx;\r\n.*\}" "ptype g_vE (aCC)" -} - -# -# Multiple virtual inheritance, print complete classes. -# - -proc test_print_mvi_classes {} { - global gdb_prompt - global hex - global decimal - - # Print all members of g_vD. - - setup_xfail_format "DWARF 1" - send_gdb "print g_vD\n" - gdb_expect { - -re ".* = \{\<class vB\> = \{\<class vA\> = \{va = 19, vx = 20\}, vb = 21, vx = 22, Virtual table at $hex\}, \<class vC\> = \{vc = 23, vx = 24, Virtual table at $hex\}, vd = 25, vx = 26, Virtual table at $hex\}\r\n$gdb_prompt $" { - pass "print g_vD" - } - -re ".*invalid address 0x0.*$gdb_prompt $" { - # Does not happen with gcc cygnus-2.4.5-930828 - fail "print g_vD (known bug with gcc cygnus-2.4.5-930417)" - # Many of the rest of these tests have the same problem. - return 0 - } - -re ".*$gdb_prompt $" { fail "print g_vD" } - timeout { fail "print g_vD (timeout)" ; return } - } - - # Print all members of g_vE. - - setup_xfail_format "DWARF 1" - gdb_test "print g_vE" ".* = \{\<class vD\> = \{\<class vB\> = \{\<class vA\> = \{va = 0, vx = 0\}, vb = 0, vx = 0, Virtual table at $hex\}, \<class vC\> = \{vc = 0, vx = 0, Virtual table at $hex\}, vd = 0, vx = 0, Virtual table at $hex\}, ve = 27, vx = 28, Virtual table at $hex\}" "print g_vE" -} - -proc do_tests {} { - global prms_id - global bug_id - global subdir - global objdir - global srcdir - global binfile - - set prms_id 0 - set bug_id 0 - - # Start with a fresh gdb. - - gdb_exit - gdb_start - gdb_reinitialize_dir $srcdir/$subdir - gdb_load $binfile - - gdb_test "set language c++" "" - gdb_test "set width 0" "" - - # Get the debug format for the compiled test case. - - if { ![ runto_main] } { - gdb_suppress_tests; - } else { - get_debug_format - } - - test_ptype_si - test_ptype_mi - test_ptype_vi - test_ptype_mvi - - gdb_stop_suppressing_tests; - - if { ![ runto 'inheritance2(void)' ] } { - gdb_suppress_tests; - } - - test_print_si_members - test_print_si_classes - test_print_mi_members - test_print_mi_classes - test_print_anon_union - - gdb_stop_suppressing_tests; - - if { ![ runto 'inheritance4(void)' ] } { - gdb_suppress_tests; - } - - test_print_svi_members - test_print_svi_classes - test_print_mvi_members - test_print_mvi_classes -} - -do_tests diff --git a/gdb/testsuite/gdb.hp/misc-hp.cc b/gdb/testsuite/gdb.hp/misc-hp.cc deleted file mode 100644 index af46830601c..00000000000 --- a/gdb/testsuite/gdb.hp/misc-hp.cc +++ /dev/null @@ -1,514 +0,0 @@ -// Test various -*- C++ -*- things. - -typedef struct fleep fleep; -struct fleep { int a; } s; - -// ====================== simple class structures ======================= - -struct default_public_struct { - // defaults to public: - int a; - int b; -}; - -struct explicit_public_struct { - public: - int a; - int b; -}; - -struct protected_struct { - protected: - int a; - int b; -}; - -struct private_struct { - private: - int a; - int b; -}; - -struct mixed_protection_struct { - public: - int a; - int b; - private: - int c; - int d; - protected: - int e; - int f; - public: - int g; - private: - int h; - protected: - int i; -}; - -class public_class { - public: - int a; - int b; -}; - -class protected_class { - protected: - int a; - int b; -}; - -class default_private_class { - // defaults to private: - int a; - int b; -}; - -class explicit_private_class { - private: - int a; - int b; -}; - -class mixed_protection_class { - public: - int a; - int b; - private: - int c; - int d; - protected: - int e; - int f; - public: - int g; - private: - int h; - protected: - int i; -}; - -class const_vol_method_class { -public: - int a; - int b; - int foo (int &) const; - int bar (int &) volatile; - int baz (int &) const volatile; -}; - -int const_vol_method_class::foo (int & ir) const -{ - return ir + 3; -} -int const_vol_method_class::bar (int & ir) volatile -{ - return ir + 4; -} -int const_vol_method_class::baz (int & ir) const volatile -{ - return ir + 5; -} - -// ========================= simple inheritance ========================== - -class A { - public: - int a; - int x; -}; - -A g_A; - -class B : public A { - public: - int b; - int x; -}; - -B g_B; - -class C : public A { - public: - int c; - int x; -}; - -C g_C; - -class D : public B, public C { - public: - int d; - int x; -}; - -D g_D; - -class E : public D { - public: - int e; - int x; -}; - -E g_E; - -class class_with_anon_union -{ - public: - int one; - union - { - int a; - long b; - }; -}; - -class_with_anon_union g_anon_union; - -void inheritance2 (void) -{ -} - -void inheritance1 (void) -{ - int ival; - int *intp; - - // {A::a, A::x} - - g_A.A::a = 1; - g_A.A::x = 2; - - // {{A::a,A::x},B::b,B::x} - - g_B.A::a = 3; - g_B.A::x = 4; - g_B.B::b = 5; - g_B.B::x = 6; - - // {{A::a,A::x},C::c,C::x} - - g_C.A::a = 7; - g_C.A::x = 8; - g_C.C::c = 9; - g_C.C::x = 10; - - // {{{A::a,A::x},B::b,B::x},{{A::a,A::x},C::c,C::x},D::d,D::x} - - // The following initialization code is non-portable, but allows us - // to initialize all members of g_D until we can fill in the missing - // initialization code with legal C++ code. - - for (intp = (int *) &g_D, ival = 11; - intp < ((int *) &g_D + sizeof (g_D) / sizeof (int)); - intp++, ival++) - { - *intp = ival; - } - - // Overlay the nonportable initialization with legal initialization. - - // ????? = 11; (g_D.A::a = 11; is ambiguous) - // ????? = 12; (g_D.A::x = 12; is ambiguous) - g_D.B::b = 13; - g_D.B::x = 14; - // ????? = 15; - // ????? = 16; - g_D.C::c = 17; - g_D.C::x = 18; - g_D.D::d = 19; - g_D.D::x = 20; - - - // {{{{A::a,A::x},B::b,B::x},{{A::a,A::x},C::c,C::x},D::d,D::x}},E::e,E::x} - - // The following initialization code is non-portable, but allows us - // to initialize all members of g_D until we can fill in the missing - // initialization code with legal C++ code. - - for (intp = (int *) &g_E, ival = 21; - intp < ((int *) &g_E + sizeof (g_E) / sizeof (int)); - intp++, ival++) - { - *intp = ival; - } - - // Overlay the nonportable initialization with legal initialization. - - // ????? = 21; (g_E.A::a = 21; is ambiguous) - // ????? = 22; (g_E.A::x = 22; is ambiguous) - g_E.B::b = 23; - g_E.B::x = 24; - // ????? = 25; - // ????? = 26; - g_E.C::c = 27; - g_E.C::x = 28; - g_E.D::d = 29; - g_E.D::x = 30; - g_E.E::e = 31; - g_E.E::x = 32; - - g_anon_union.one = 1; - g_anon_union.a = 2; - - inheritance2 (); -} - -// ======================== virtual base classes========================= - -class vA { - public: - int va; - int vx; -}; - -vA g_vA; - -class vB : public virtual vA { - public: - int vb; - int vx; -}; - -vB g_vB; - -class vC : public virtual vA { - public: - int vc; - int vx; -}; - -vC g_vC; - -class vD : public virtual vB, public virtual vC { - public: - int vd; - int vx; -}; - -vD g_vD; - -class vE : public virtual vD { - public: - int ve; - int vx; -}; - -vE g_vE; - -void inheritance4 (void) -{ -} - -void inheritance3 (void) -{ - int ival; - int *intp; - - // {vA::va, vA::vx} - - g_vA.vA::va = 1; - g_vA.vA::vx = 2; - - // {{vA::va, vA::vx}, vB::vb, vB::vx} - - g_vB.vA::va = 3; - g_vB.vA::vx = 4; - g_vB.vB::vb = 5; - g_vB.vB::vx = 6; - - // {{vA::va, vA::vx}, vC::vc, vC::vx} - - g_vC.vA::va = 7; - g_vC.vA::vx = 8; - g_vC.vC::vc = 9; - g_vC.vC::vx = 10; - - // {{{{vA::va, vA::vx}, vB::vb, vB::vx}, vC::vc, vC::vx}, vD::vd,vD::vx} - - g_vD.vA::va = 11; - g_vD.vA::vx = 12; - g_vD.vB::vb = 13; - g_vD.vB::vx = 14; - g_vD.vC::vc = 15; - g_vD.vC::vx = 16; - g_vD.vD::vd = 17; - g_vD.vD::vx = 18; - - - // {{{{{vA::va,vA::vx},vB::vb,vB::vx},vC::vc,vC::vx},vD::vd,vD::vx},vE::ve,vE::vx} - - g_vD.vA::va = 19; - g_vD.vA::vx = 20; - g_vD.vB::vb = 21; - g_vD.vB::vx = 22; - g_vD.vC::vc = 23; - g_vD.vC::vx = 24; - g_vD.vD::vd = 25; - g_vD.vD::vx = 26; - g_vE.vE::ve = 27; - g_vE.vE::vx = 28; - - inheritance4 (); -} - -// ====================================================================== - -class Base1 { - public: - int x; - Base1(int i) { x = i; } -}; - -class Foo -{ - public: - int x; - int y; - static int st; - Foo (int i, int j) { x = i; y = j; } - int operator! (); - operator int (); - int times (int y); -}; - -class Bar : public Base1, public Foo { - public: - int z; - Bar (int i, int j, int k) : Base1 (10*k), Foo (i, j) { z = k; } -}; - -class ClassWithEnum { -public: - enum PrivEnum { red, green, blue, yellow = 42 }; - PrivEnum priv_enum; - int x; -}; - -int Foo::operator! () { return !x; } - -int Foo::times (int y) { return x * y; } - -int Foo::st = 100; - -Foo::operator int() { return x; } - -Foo foo(10, 11); -Bar bar(20, 21, 22); - -class Contains_static_instance -{ - public: - int x; - int y; - Contains_static_instance (int i, int j) { x = i; y = j; } - static Contains_static_instance null; -}; - -Contains_static_instance Contains_static_instance::null(0,0); -Contains_static_instance csi(10,20); - -class Contains_nested_static_instance -{ - public: - class Nested - { - public: - Nested(int i) : z(i) {} - int z; - static Contains_nested_static_instance xx; - }; - - Contains_nested_static_instance(int i, int j) : x(i), y(j) {} - - int x; - int y; - - static Contains_nested_static_instance null; - static Nested yy; -}; - -Contains_nested_static_instance Contains_nested_static_instance::null(0, 0); -Contains_nested_static_instance::Nested Contains_nested_static_instance::yy(5); -Contains_nested_static_instance - Contains_nested_static_instance::Nested::xx(1,2); -Contains_nested_static_instance cnsi(30,40); - -typedef struct { - int one; - int two; -} tagless_struct; -tagless_struct v_tagless; - -/* Try to get the compiler to allocate a class in a register. */ -class small { - public: - int x; - int method (); -}; -int small::method () -{ - return x + 5; -} -void marker_reg1 () {} - -int -register_class () -{ - /* We don't call any methods for v, so gcc version cygnus-2.3.3-930220 - might put this variable in a register. This is a lose, though, because - it means that GDB can't call any methods for that variable. */ - register small v; - - int i; - - /* Perform a computation sufficiently complicated that optimizing compilers - won't optimized out the variable. If some compiler constant-folds this - whole loop, maybe using a parameter to this function here would help. */ - v.x = 0; - for (i = 0; i < 13; ++i) - v.x += i; - --v.x; /* v.x is now 77 */ - marker_reg1 (); - return v.x + 5; -} - -int -main() -{ -#ifdef usestubs - set_debug_traps(); - breakpoint(); -#endif - inheritance1 (); - inheritance3 (); - register_class (); - - /* FIXME: pmi gets optimized out. Need to do some more computation with - it or something. (No one notices, because the test is xfail'd anyway, - but that probably won't always be true...). */ - int Foo::* pmi = &Foo::y; - - /* Make sure the AIX linker doesn't remove the variable. */ - v_tagless.one = 5; - - /* Class with enumeration inside it */ - ClassWithEnum obj_with_enum; - obj_with_enum.priv_enum = ClassWithEnum::green; - - return foo.*pmi; -} - -/* Create an instance for some classes, otherwise they get optimized away. */ - -default_public_struct default_public_s; -explicit_public_struct explicit_public_s; -protected_struct protected_s; -private_struct private_s; -mixed_protection_struct mixed_protection_s; -public_class public_c; -protected_class protected_c; -default_private_class default_private_c; -explicit_private_class explicit_private_c; -mixed_protection_class mixed_protection_c; diff --git a/gdb/testsuite/gdb.hp/more-steps.c b/gdb/testsuite/gdb.hp/more-steps.c deleted file mode 100644 index c5ba1e26865..00000000000 --- a/gdb/testsuite/gdb.hp/more-steps.c +++ /dev/null @@ -1,140 +0,0 @@ -/* BeginSourceFile more_steps.c - - This file creates a lot of threads which then execute - in parallel, so that wdb can be tested on handling - simultaneous thread events. - - To compile: - - cc -Ae +DA1.0 -g -o more_steps -lpthread more_steps.c - - To run: - - more_threads -*/ - -#include <unistd.h> -#include <stdlib.h> -#include <stdio.h> -#include <assert.h> -#include <pthread.h> - -#define TRUE 1 -#define FALSE 0 -#define N_THREADS 3 -#define PHASES 3 - -typedef enum { - ZERO, - ONE, - TWO, - THREE -} phase_t; - -/* Uncomment to turn on debugging output */ -/* #define DEBUG */ - -/* Locks. - */ -int lock_one; /* Main W, others R */ -int lock_two; /* ditto */ -int lock_end[ N_THREADS ]; /* Main R, others R[i] */ -int phase[ N_THREADS ]; - -/* Routine for each thread to run. - */ -void *spin( vp ) - void * vp; -{ - int me = (int) vp; - int i; - - lock_end[ me ] = TRUE; - - phase[ me ] = ONE; - - while( lock_one ); - - phase[ me ] = TWO; - - while( lock_two ); - - phase[ me ] = THREE; - - lock_end[ me ] = FALSE; -} - -void -do_pass() -{ - int i; - pthread_t t[ N_THREADS ]; - int err; - int done; - - /* Start N_THREADS threads, then join them so - * that they are terminated. - */ - for( i = 0; i < N_THREADS; i++ ) { - err = pthread_create( &t[i], NULL, spin, (void *)i ); - if( err != 0 ) { - printf( "== Start/stop, error in thread %d create\n", i ); - } - } - - /* Do phase 1. - */ - lock_one = FALSE; - - /* Do phase 2. - */ - lock_two = FALSE; - - /* Be done. - */ - done = 0; - while( !done ) { - - /* Be optimistic. - */ - done = 1; - for( i = 0; i < N_THREADS; i++ ) { - if( lock_end[i] ) { - /* Thread "i" is not ready yet. - */ - done = 0; - break; - } - } - } - - /* Finish up - */ - for( i = 0; i < N_THREADS; i++ ) { - err = pthread_join(t[i], NULL ); /* Line 105 */ - if( err != 0 ) { /* Line 106 */ - printf( "== Start/stop, error in thread %d join\n", i ); - } - } - - i = 10; /* Line 109. Null line for setting bpts on. */ -} - -main( argc, argv ) -int argc; -char **argv; -{ - int i; - - /* Init - */ - lock_one = TRUE; - lock_two = TRUE; - for( i = 0; i < N_THREADS; i++ ) { - lock_end[i] = TRUE; - phase[i] = ZERO; - } - - do_pass(); - return(0); -} diff --git a/gdb/testsuite/gdb.hp/more-steps.exp b/gdb/testsuite/gdb.hp/more-steps.exp deleted file mode 100644 index 320a0d68872..00000000000 --- a/gdb/testsuite/gdb.hp/more-steps.exp +++ /dev/null @@ -1,152 +0,0 @@ -# more-steps.exp -- Expect script to test gdb's ability to step threaded pgms -# Copyright (C) 1992 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ - -# Please email any bugs, comments, and/or additions to this file to: -# bug-gdb@prep.ai.mit.edu - -# use this to debug: -# -#log_user 1 - -if $tracelevel then { - strace $tracelevel -} - -#if { ![istarget "hppa*-*-hpux10.30"] && ![istarget "hppa*-*-hpux11.*"] } { -# verbose "HPUX thread test ignored for non-hppa or pre-HP/UX-10.30 targets." -# return 0 -#} - -set testfile more-steps -set srcfile ${srcdir}/${subdir}/${testfile}.c -set binfile ${objdir}/${subdir}/${testfile} - -if [get_compiler_info ${binfile}] { - return -1 -} - -# To build the executable we need to link against the thread library. -# -# cc -Ae -g -o more-steps -lpthread more-steps.c -# -#compile "${srcfile} -Ae -g -lpthread -o ${binfile}" - -if {$gcc_compiled == 0} { - set additional_flags "additional_flags=-Ae" -} else { - set additional_flags "" -} - -if { [gdb_compile "${srcdir}/${subdir}/${testfile}.c" "${binfile}.o" object [list debug $additional_flags]] != "" } { - gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail." -} - -if { ![istarget "hppa*-*-hpux10.30"] && ![istarget "hppa*-*-hpux11.*"] } { - if { [gdb_compile "${binfile}.o" "${binfile}" executable {debug "additional_flags=-lpthread"}] != ""} { - gdb_suppress_entire_file "Testcase link failed, so all tests in this file will automatically fail." - } -} else { - remote_exec build "ld /usr/ccs/lib/crt0.o ${binfile}.o -lcl -lpthread -lc /opt/langtools/lib/end.o -o ${binfile}" -} -#remote_exec build "ld /usr/ccs/lib/crt0.o ${binfile}.o -lcl -lpthread -lc /opt/langtools/lib/end.o -o ${binfile}" - - - -# Thread stuff is _slow_; prepare for long waits. -# -set oldtimeout $timeout -set timeout [expr "$timeout + 300"] -set oldverbose $verbose -#set verbose 40 - -# Further, this test has some "null" lines designed -# to consume output from gdb that was too late to be -# matched (sequence is "gdb_test" sends; timeout and -# on to next send; result finally comes in; mismatch). -# -# The null command is 'gdb_test "p \$pc" ".*" ""' -# -# NOTE: to pass a literal "$", "/" or "*" (etc.) to gdb_test, -# remember that the pattern will be escaped once and -# $-evaluated twice: -# -# "\\\*" matches "\*" -# "\$" matches "$" -# -proc fix_timeout {} { - gdb_test "p \$pc" ".*" "" -} - -#========================= -# -# Simple sanity test first. -# -gdb_exit -gdb_start -gdb_reinitialize_dir $srcdir/$subdir -gdb_load ${binfile} - -# First, step in the main thread. -# -gdb_test "b do_pass" ".*Breakpoint 1.*" "" -gdb_test "r" ".*Breakpoint 1.*do_pass.*" "" - -# Breaks as well as nexts to make -# sure we can handle simultaneous hit -# of bpt and step, as well as stepping -# past bpts. -# -gdb_test "tb 87" ".*Breakpoint 2.*" "" -gdb_test "tb 91" ".*Breakpoint 3.*" "" -gdb_test "tb 96" ".*Breakpoint 4.*" "" -gdb_test "tb 113" ".*Breakpoint 5.*" "" -gdb_test "c" ".*do_pass.*87.*" "87" -gdb_test "n" ".*do_pass.*91.*" "n" - -# This only gets a number, as it doesn't -# hit a bpt. -# -gdb_test "n" ".*95.*" "n" - -gdb_test "n" ".*do_pass.*96.*" "n" -gdb_test "c" ".*do_pass.*113.*" "c" -gdb_test "c" ".*Program exited normally.*" "c" - -# Now step in a thread -# -gdb_test "r" ".*Breakpoint.*do_pass.*" "do_pass" -gdb_test "until 87" ".*do_pass.*87.*" "until" -gdb_test "thr 4" ".*Switching to thread 4.*spin.*56.*" "switch" -gdb_test "tb 60 thr 4" ".*Breakpoint.*" "" - -# If we do "next" now, all the other threads -# can finish! -# -gdb_test "n" ".*spin.*60.*" "" -gdb_test "i th" ".*\\\* 4 sys.*spin.*1 sys.*do_pass.*" "still in 4" - -# Done! -# -gdb_exit - -set timeout $oldtimeout -set verbose $oldverbose - -# execute_anywhere "rm -f ${binfile}" -# -return 0 - diff --git a/gdb/testsuite/gdb.hp/namespace.cc b/gdb/testsuite/gdb.hp/namespace.cc deleted file mode 100644 index 53d5bd6608d..00000000000 --- a/gdb/testsuite/gdb.hp/namespace.cc +++ /dev/null @@ -1,103 +0,0 @@ -namespace AAA { - char c; - int i; - int A_foo (int); - char foo (char); - class inA { - public: - int xx; - int fum (int); - }; -}; - -int AAA::inA::fum (int i) -{ - return 10 + i; -} - -namespace BBB { - char c; - int i; - int B_foo (int); - char foo (char); - - namespace CCC { - char foo (char); - }; - - class Class { - public: - char foo (char); - int dummy; - }; -}; - -int AAA::A_foo (int x) -{ - return 2 * x; -} - -char AAA::foo (char c) -{ - return 'a'; -} - - -int BBB::B_foo (int x) -{ - return 3 * x; -} - -char BBB::foo (char c) -{ - return 'b'; -} - -char BBB::CCC::foo (char c) -{ - return 'z'; -} - -char BBB::Class::foo (char c) -{ - return 'o'; -} - -void marker1(void) -{ - return; -} - - -int main () -{ - using AAA::inA; - char c1; - - using namespace BBB; - - c1 = foo ('x'); - c1 = AAA::foo ('x'); - c1 = BBB::CCC::foo ('m'); - - inA ina; - - ina.xx = 33; - - int y; - - y = AAA::A_foo (33); - y += B_foo (44); - - BBB::Class cl; - - c1 = cl.foo('e'); - - marker1(); - -} - - - - - diff --git a/gdb/testsuite/gdb.hp/namespace.exp b/gdb/testsuite/gdb.hp/namespace.exp deleted file mode 100644 index 1708db8ebb0..00000000000 --- a/gdb/testsuite/gdb.hp/namespace.exp +++ /dev/null @@ -1,195 +0,0 @@ -# Copyright (C) 1997, 1998 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - -# Please email any bugs, comments, and/or additions to this file to: -# bug-gdb@prep.ai.mit.edu - -# tests for namespaces -# Written by Satish Pai <pai@apollo.hp.com> 1997-07-23 - -# This file is part of the gdb testsuite - -# Note: These tests are geared to the HP aCC compiler, -# which has an idiosyncratic way of emitting debug info -# for namespaces. - - -if $tracelevel then { - strace $tracelevel - } - - -# -# test running programs -# - -set prms_id 0 -set bug_id 0 - -set testfile "namespace" -set srcfile ${testfile}.cc -set binfile ${objdir}/${subdir}/${testfile} - -if [get_compiler_info ${binfile}] { - return -1; -} - - -if {[skip_hp_tests $gcc_compiled]} then { continue } - - -if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug c++}] != "" } { - gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will a -utomatically fail." -} - - - -gdb_exit -gdb_start -gdb_reinitialize_dir $srcdir/$subdir -gdb_load ${binfile} - - -# -# set it up at a breakpoint so we can play with the variable values -# -if ![runto_main] then { - perror "couldn't run to breakpoint" - continue -} - -send_gdb "break marker1\n" ; gdb_expect -re ".*$gdb_prompt $" - send_gdb "cont\n" - gdb_expect { - -re "Break.* marker1 \\(\\) at .*:$decimal.*$gdb_prompt $" { - send_gdb "up\n" - gdb_expect { - -re ".*$gdb_prompt $" { pass "up from marker1" } - timeout { fail "up from marker1" } - } - } - -re "$gdb_prompt $" { fail "continue to marker1" } - timeout { fail "(timeout) continue to marker1" } - } - -# Access a data item inside a namespace using colons and -# single quotes :-( - -send_gdb "print 'AAA::c'\n" -gdb_expect { - -re "\\$\[0-9\]* = 0 '\\\\000'\r\n$gdb_prompt $" { pass "print 'AAA::c'" } - -re ".*$gdb_prompt $" { fail "print 'AAA::c'" } - timeout { fail "(timeout) print 'AAA::c'" } -} - -# An object declared using "using". - -send_gdb "print ina\n" -gdb_expect { - -re "\\$\[0-9\]+ = {xx = 33}.*$gdb_prompt $" { - pass "print ina" - } - -re ".*$gdb_prompt $" { fail "print ina" } - timeout { fail "(timeout) print ina" } -} - -send_gdb "ptype ina\n" -gdb_expect { - -re "type = class AAA::inA \{\r\n\[ \]*public:\r\n\[ \]*int xx;\r\n\[ \]*\r\n\[ \]*int fum\\(int\\);\r\n\}\r\n$gdb_prompt $" { - pass "ptype ina" - } - -re ".*$gdb_prompt $" { fail "ptype ina" } - timeout { fail "(timeout) ptype ina" } -} - -# Check all functions are known to GDB - -send_gdb "info func foo\n" -gdb_expect { - -re "All functions.*File.*namespace.cc:\r\nint AAA::A_foo\\(int\\);\r\nint BBB::B_foo\\(int\\);\r\nchar AAA::foo\\(char\\);\r\nchar BBB::foo\\(char\\);\r\nchar BBB::CCC::foo\\(char\\);\r\nchar BBB::Class::foo\\(char\\);\r\n$gdb_prompt $" { - pass "info func foo" - } - -re ".*$gdb_prompt $" { fail "info func foo" } - timeout { fail "(timeout) info func foo" } -} - -# Call a function in a namespace - -send_gdb "print 'AAA::foo'('x')\n" -gdb_expect { - -re "\\$\[0-9\]* = 97 'a'\r\n$gdb_prompt $" { - pass "print 'AAA::foo'('x')" - } - -re ".*$gdb_prompt $" { fail "print 'AAA::foo'('x')" } - timeout { fail "(timeout) print 'AAA::foo'('x')" } -} - -# Break on a function in a namespace - -send_gdb "break AAA::foo\n" -gdb_expect { - -re "Breakpoint.*at $hex: file.*namespace.cc, line 42\\.\r\n$gdb_prompt $" { - pass "break AAA::foo" - } - -re ".*$gdb_prompt $" { fail "break AAA::foo" } - timeout { fail "(timeout) break AAA::foo" } -} - -# Call a function in a nested namespace - -send_gdb "print 'BBB::CCC::foo'('x')\n" -gdb_expect { - -re "\\$\[0-9\]* = 122 'z'\r\n$gdb_prompt $" { - pass "print 'BBB::CCC::foo'('x')" - } - -re ".*$gdb_prompt $" { fail "print 'BBB::CCC::foo'('x')" } - timeout { fail "(timeout) print 'BBB::CCC::foo'('x')" } -} - -# Break on a function in a nested namespace - -send_gdb "break BBB::CCC::foo\n" -gdb_expect { - -re "Breakpoint.*at $hex: file.*namespace.cc, line 58\\.\r\n$gdb_prompt $" { - pass "break BBB::CCC::foo" - } - -re ".*$gdb_prompt $" { fail "break BBB::CCC::foo" } - timeout { fail "(timeout) break BBB::CCC::foo" } -} - -# Print address of a function in a class in a namespace - -send_gdb "print 'BBB::Class'::foo\n" -gdb_expect { - -re "\\$\[0-9\]* = \{char \\(BBB::Class \\*, char\\)\} $hex <BBB::Class::foo\\(char\\)>\r\n$gdb_prompt $" { - pass "print 'BBB::Class'::foo" - } - -re ".*$gdb_prompt $" { fail "print 'BBB::Class'::foo" } - timeout { fail "(timeout) print 'BBB::Class'::foo" } -} - -# Break on a function in a class in a namespace - -send_gdb "break BBB::Class::foo\n" -gdb_expect { - -re "Breakpoint.*at $hex: file.*namespace.cc, line 63\\.\r\n$gdb_prompt $" { - pass "break BBB::Class::foo" - } - -re ".*$gdb_prompt $" { fail "break BBB::Class::foo" } - timeout { fail "(timeout) break BBB::Class::foo" } -} - diff --git a/gdb/testsuite/gdb.hp/optimize.c b/gdb/testsuite/gdb.hp/optimize.c deleted file mode 100644 index 2a8daa8c7a0..00000000000 --- a/gdb/testsuite/gdb.hp/optimize.c +++ /dev/null @@ -1,76 +0,0 @@ -/* Source for debugging optimimzed code test. - - cc -g -O -o optimize optimize.c -*/ -int callee(); -int test_opt; - -int main() -{ - int a,b,c,d,e,f,g,h; - - a = 10;; - - /* Value propagate - */ - b = 2 * a + 1; - c = 3 * b + 2; - - /* Re-use expressions - */ - d = (2 * a + 1) * (3 * b + 2); - e = (2 * a + 1) * (3 * b + 2); - - /* Create dead stores--do lines still exist? - */ - d = (2 * a + 1) * (3 * b + 2); - e = (2 * a + 1) * (3 * b + 2); - d = (2 * a + 1) * (3 * b + 2); - e = (2 * a + 1) * (3 * b + 2); - - /* Alpha and psi motion - */ - if( test_opt ) { - f = e - d; - f = f--; - } - else { - f = e - d; - f = f + d * e; - } - - /* Chi and Rho motion - */ - h = 0; - do { - h++; - a = b * c + d * e; /* Chi */ - f = f + d * e; - g = f + d * e; /* Rho */ - callee( g+1 ); - test_opt = (test_opt != 1); /* Cycles */ - } while( g && h < 10); - - /* Opps for tail recursion, unrolling, - * folding, evaporating - */ - for( a = 0; a < 100; a++ ) { - callee( callee ( callee( a ))); - callee( callee ( callee( a ))); - callee( callee ( callee( a ))); - } - - return callee( test_opt ); -} - -/* defined late to keep line numbers the same -*/ -int callee( x ) - int x; /* not used! */ -{ - test_opt++; /* side effect */ - - return test_opt; -} - -/* end */
\ No newline at end of file diff --git a/gdb/testsuite/gdb.hp/optimize.exp b/gdb/testsuite/gdb.hp/optimize.exp deleted file mode 100644 index 34606eb668f..00000000000 --- a/gdb/testsuite/gdb.hp/optimize.exp +++ /dev/null @@ -1,144 +0,0 @@ -# Copyright (C) 1998 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ - -# Please email any bugs, comments, and/or additions to this file to: -# bug-gdb@prep.ai.mit.edu - -# optimize.exp -- Expect script for testing apps compiled with -O - -global timeout - -# use this to debug: -# -#log_user 1 - -if $tracelevel then { - strace $tracelevel -} - -set testfile optimize -set srcfile ${testfile}.c -set binfile ${objdir}/${subdir}/${testfile} - -if [get_compiler_info ${binfile}] { - return -1; -} - - -if {[skip_hp_tests $gcc_compiled]} then { continue } - - -# Vanilla -O, which is the same as +O2 -# -if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug optimize=+O2}] != "" } { - gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail." -} - - -gdb_exit -gdb_start -gdb_reinitialize_dir $srcdir/$subdir - -send_gdb "file $binfile\n" -gdb_expect { - -re ".*no debugging symbols found.*$gdb_prompt $" { - fail "Didn't find debug symbols; CHFts23488" - } - -re ".*No header section (PXDB data).*$gdb_prompt $" { - fail "pointless warning" - } - -re ".*done.*$gdb_prompt $" { - pass "load debug symbols" - } - timeout { fail "timeout on file" } -} - -# Two lines at the same place after opt. -# -gdb_test "b 28" ".*" "" -gdb_test "b 26" ".*also set at.*" "same line" - -gdb_test "b 47" ".*" "" -gdb_test "b 48" ".*also set at.*" "same line" - -gdb_test "tb main" ".*" "" - -set old_timeout $timeout -set timeout [expr "$timeout + 200"] -send_gdb "r\n" -gdb_expect { - -re ".*No header section (PXDB data).*$gdb_prompt $" { - fail "pointless warning" - } - -re ".*main.*2\[12].*$gdb_prompt $" { - # All the lines before line 21 or 22 are - # evaporated by the compiler. - # - pass "hit main" - } - -re ".*$gdb_prompt $" { - fail "didn't hit main" - } - timeout { fail "timeout on run" } -} -set timeout $old_timeout - -gdb_test "c" ".*Breakpoint 1.*33.*" "" -gdb_test "c" ".*51.*" "" -gdb_test "cle" ".*Deleted breakpoints.*" "set 2, so del 2" - -gdb_test "b callee" ".*" "" -gdb_test "c" ".*callee.*" "hit called rtn" - -gdb_exit - -# +O4, don't use -g -# -if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {optimize=+O4}] != "" } { - gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail." -} - -gdb_start -gdb_reinitialize_dir $srcdir/$subdir - -send_gdb "file $binfile\n" -gdb_expect { - -re ".*no debugging symbols found.*$gdb_prompt $" { - pass "Didn't find debug symbols, as expected" - } - -re ".*No header section (PXDB data).*$gdb_prompt $" { - fail "pointless warning" - } - -re ".*done.*$gdb_prompt $" { - fail "Somehow found debug symbols--make this a pass?" - } - timeout { fail "timeout on file" } -} - -gdb_test "b main" ".*" "" -gdb_test "b callee" ".*" "" -gdb_test "r" ".*Breakpoint 1.*main.*" "" -gdb_test "si 3" ".*main.*" "steps" -gdb_test "x/4i \$pc" ".*main.*main+4.*main+8.*" "" -gdb_test "c" ".*callee.*" "hit bp" -gdb_test "disas" ".*callee.*callee+4.*callee+12.*" "" -gdb_test "si" ".*callee.*" "" -gdb_test "fin" ".*Run till exit.*main.*" "finish" -gdb_test "x/i \$pc" ".*main+.*" "back in main" -gdb_exit - -#remote_exec build "rm -f ${binfile}" -return 0 diff --git a/gdb/testsuite/gdb.hp/pxdb.c b/gdb/testsuite/gdb.hp/pxdb.c deleted file mode 100644 index e3e3fc23e9f..00000000000 --- a/gdb/testsuite/gdb.hp/pxdb.c +++ /dev/null @@ -1,20 +0,0 @@ -#include <stdio.h> - -int callee( x ) -int x; -{ - int y = x * x; - return (y - 2); -} - -main() -{ - int i; - for (i = 1; i < 10; i++) - { - printf( "%d ", callee( i )); - - } - printf( " Goodbye!\n" ); - -} diff --git a/gdb/testsuite/gdb.hp/pxdb.exp b/gdb/testsuite/gdb.hp/pxdb.exp deleted file mode 100644 index c8b3ace9961..00000000000 --- a/gdb/testsuite/gdb.hp/pxdb.exp +++ /dev/null @@ -1,114 +0,0 @@ -# Copyright (C) 1998 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - -# Please email any bugs, comments, and/or additions to this file to: -# bug-gdb@prep.ai.mit.edu - - -# This file is part of the gdb testsuite - - -# pxdb.exp Test that gdb calls pxdb on an application -# built without it. -# -if $tracelevel then { - strace $tracelevel -} - -set prms_id 0 -set bug_id 0 - -set testfile pxdb -set srcfile ${testfile}.c -set objfile ${objdir}/${subdir}/${testfile}.o -set binfile ${objdir}/${subdir}/${testfile} - -if [get_compiler_info ${binfile} "c++"] { - return -1; -} - - -if {[skip_hp_tests $gcc_compiled]} then { continue } - -# To build a non-pxdb-ed file, use -# -# <compile to .o file> -# export LD_PXDB /dev/null -# ld -o hello_no_pxdb hello.o /opt/langtools/lib/end.o /usr/ccs/lib/crt0.o -lc -# - -if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${objfile}" object {debug}] != "" } { - gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail." -} - -# -# use this to debug: -#log_user 1 - - -# Following should get the error message: -# -# ld: (Warning) Can't exec pxdb using path: /dev/null -# - -set cmdline "ksh -c \"LD_PXDB=/dev/null ld -o ${binfile} ${objfile} /usr/ccs/lib/crt0.o /opt/langtools/lib/end.o -lc\"" - -remote_exec build "rm ${binfile}" -remote_exec build $cmdline - -gdb_exit -gdb_start -gdb_reinitialize_dir $srcdir/$subdir - -# We expect to see this: -# -# "warning: File not processed by pxdb--about to process now. -# " -# ". -# "Procedures: 7 -# "Files: 2 -# "Reading symbols from ~/c_code.dir/hello_no_pxdb...done. -# "(gdb) -# -send_gdb "file ${binfile}\n" -gdb_expect { - - -re ".*warning: File not processed by pxdb.*Procedures: \[0-9\]+.*done.*$gdb_prompt $"\ - { pass "PXDB call" } - - -re "$gdb_prompt $" { fail "Didn't call pxdb" } - - timeout { fail "call pxdb (timeout)" } -} - -# Make sure the new data makes sense -# -if { ![runto callee] } then { return } - -send_gdb "print x\n" -gdb_expect { - -re ".*= 1.*$gdb_prompt $" { pass "Good data after pxdb call" } - -re ".*$gdb_prompt $" { fail "No data after pxdb call" } - timeout { fail "(timeout)" } -} - -gdb_exit -return 0 - - - - - diff --git a/gdb/testsuite/gdb.hp/quicksort.c b/gdb/testsuite/gdb.hp/quicksort.c deleted file mode 100644 index b44b828a8d5..00000000000 --- a/gdb/testsuite/gdb.hp/quicksort.c +++ /dev/null @@ -1,284 +0,0 @@ -/* BeginSourceFile quicksort.c - - This file is take from the DDE test system. It spawns six - threads to do a sort of an array of random numbers. - - The locations marked "quick N" are used in the test "quicksort.exp". - - The locations marked "att N" are used in the test "attach.exp". - - To compile: - - cc -Ae +DA1.0 -g -o quicksort -lpthread quicksort.c - - To run: - - quicksort --normal run - quicksort 1 --waits before starting to allow attach -*/ - -#include <unistd.h> -#include <stdlib.h> -#include <stdio.h> -#include <assert.h> -#include <pthread.h> - -#define TRUE 1 -#define FALSE 0 -#define SORTSET 100000 - -/* Uncomment to turn on debugging output */ -/* #define QUICK_DEBUG */ - -/* Uncomment to turn on wait on each thread create */ -/* #define THREAD_WAIT */ - -/* Fewer than SORT_DIRECT items are sorted with an insertion sort. */ -#define SORT_DIRECT 20 - -/* Work at this depth or less generates a separate work item. */ -#define DEFER_DEPTH 6 - -/* Workpile controller */ -typedef void (*work_proc_t)(void *); - -typedef struct workpile_struct { - pthread_mutex_t lock; /* mutex for this structure */ - pthread_cond_t work_wait; /* workers waiting for work */ - pthread_cond_t finish_wait; /* to wait for workers to finish */ - int max_pile; /* length of workpile array */ - work_proc_t worker_proc; /* work procedure */ - int n_working; /* number of workers working */ - int n_waiting; /* number of workers waiting for work */ - int n_pile; /* number of pointers in the workpile */ - int inp; /* FIFO input pointer */ - int outp; /* FIFO output pointer */ - void *pile[1]; /* array of pointers - the workpile */ -} *workpile_t; - -typedef struct { - float *data; /* Array to sort */ - int n; /* Number of elements in the array */ - int depth; /* Depth of recursion */ - workpile_t wp; /* Workpile to use */ -} quick_sort_args; - -/* True if waiting for attach. - */ -int wait_here = FALSE; - -static workpile_t quick_sort_workpile = NULL; - -void *worker(void * wptr); - -/* Allocates and initializes a workpile that holds max_pile entries. - * worker_proc is called to process each work item on the queue. - */ -workpile_t -work_init(int max_pile, work_proc_t worker_proc, int n_threads) -{ - int err; - pthread_t t; - workpile_t wp = (workpile_t) - malloc(sizeof (struct workpile_struct) + - (max_pile * sizeof (void *))); - - if (wp != NULL) { - pthread_mutex_init(&wp->lock, NULL); - pthread_cond_init(&wp->work_wait, NULL); - pthread_cond_init(&wp->finish_wait, NULL); - wp->max_pile = max_pile; - wp->worker_proc = worker_proc; - wp->n_working = wp->n_waiting = wp->n_pile = 0; - wp->inp = wp->outp = 0; - while (n_threads--) { - err = pthread_create(&t, NULL, - worker, (void *)&wp); -#ifdef QUICK_DEBUG - printf( "== Quicksort: created new thread\n" ); -#ifdef THREAD_WAIT - if( n_threads > 0 ) { - int i; - printf( "== Quicksort: waiting on user input of an integer\n" ); - scanf( "%d", &i ); - printf( "== Quicksort: continuing with quicksort\n" ); - } -#endif -#endif - - assert(err == 0); /* quick 1 */ - } - /* All the threads have now been created. - */ - assert( n_threads == -1 ); /* att 1 */ - if( wait_here ) { -#ifdef QUICK_DEBUG - printf( "== Quicksort: waiting for attach\n" ); -#endif - sleep( 25 ); - } - wait_here = 99; /* att 2, otherwise useless */ - } - return (wp); /* quick 2 */ -} - -/* - * Worker thread routine. Continuously looks for work, calls the - * worker_proc associated with the workpile to do work. - */ -void * -worker(void * wptr) -{ - workpile_t wp; - void *ptr; - - wp = * (workpile_t *) wptr; - - pthread_mutex_lock(&wp->lock); - wp->n_working++; - for (;;) { - while (wp->n_pile == 0) { /* wait for new work */ - if (--wp->n_working == 0) - pthread_cond_signal(&wp->finish_wait); - wp->n_waiting++; - pthread_cond_wait(&wp->work_wait, &wp->lock); - wp->n_waiting--; /* quick 3 */ - wp->n_working++; - } - wp->n_pile--; - ptr = wp->pile[wp->outp]; - wp->outp = (wp->outp + 1) % wp->max_pile; - pthread_mutex_unlock(&wp->lock); - /* Call application worker routine. */ - (*wp->worker_proc)(ptr); - pthread_mutex_lock(&wp->lock); /* quick 4 */ - } - /* NOTREACHED */ -} - -/* Puts ptr in workpile. Called at the outset, or within a worker. */ -void -work_put(workpile_t wp, void *ptr) -{ - pthread_mutex_lock(&wp->lock); - if (wp->n_waiting) { - /* idle workers to be awakened */ - pthread_cond_signal(&wp->work_wait); - } - assert(wp->n_pile != wp->max_pile); /* check for room */ - wp->n_pile++; - wp->pile[wp->inp] = ptr; - wp->inp = (wp->inp + 1) % wp->max_pile; - pthread_mutex_unlock(&wp->lock); -} - - -/* Wait until all work is done and workers quiesce. */ -void -work_wait(workpile_t wp) -{ - pthread_mutex_lock(&wp->lock); - while(wp->n_pile !=0 || wp->n_working != 0) - pthread_cond_wait(&wp->finish_wait, &wp->lock); - pthread_mutex_unlock(&wp->lock); -} - -void -quick_sort_aux(float *data, int n, int depth, workpile_t wp, int deferrable) -{ - int i,j; - - /* If array small, use insertion sort */ - if (n <= SORT_DIRECT) { - for (j = 1; j < n; j++) { - /* data[0..j-1] in sort; find a spot for data[j] */ - float key = data[j]; - for (i = j - 1; i >= 0 && key < data[i]; i--) - data[i+1] = data[i]; - data[i+1] = key; - } - return; - } - /* Defer this work to work queue if policy says so */ - if (deferrable && depth <= DEFER_DEPTH) { - quick_sort_args *q = (quick_sort_args *) - malloc(sizeof (quick_sort_args)); - assert(q != NULL); - q->data = data; q->n = n; q->depth = depth; q->wp = wp; - work_put(wp, (void *)q); - return; - } - /* Otherwise, partition data based on a median estimate */ -#define swap(i,j) {float t = data[i]; data[i] = data[j]; data[j] = t;} - i = 0; - j = n - 1; - for (;;) { - while (data[i] < data[j]) j--; - if (i >= j) break; - swap(i, j); i++; - while (data[i] < data[j]) i++; - if (i >= j) { i = j; break; } - swap(i, j); j--; - } - /* Median value is now at data[i] */ - /* Partitioned so that data[0..i-1] <= median <= data[i+1..n-1] */ - quick_sort_aux(data, i, depth+1, wp, TRUE); - quick_sort_aux(&data[i+1], n-i-1, depth+1, wp, TRUE); -} -/* Called from workpile controller with argument pointing to work. */ -void -quick_sort_worker(void *a) -{ - quick_sort_args *q = (quick_sort_args *)a; - quick_sort_aux(q->data, q->n, q->depth, q->wp, FALSE); - free(q); -} -/* Main routine, called by client to do a sort. */ -void -quick_sort(float *data, int n) -{ - if (quick_sort_workpile == NULL) { - int n_threads = 6; - quick_sort_workpile = work_init(2 << DEFER_DEPTH, - quick_sort_worker, n_threads); - assert(quick_sort_workpile != NULL); - } - - quick_sort_aux(data, n, 0, quick_sort_workpile, FALSE); - - /* Wait for all work to finish */ - work_wait(quick_sort_workpile); - -#ifdef QUICK_DEBUG - printf( "== Quicksort: done sorting\n" ); -#endif -} - - -main( argc, argv ) -int argc; -char **argv; -{ - float data[SORTSET]; - int i; int debugging = 0; - - if((argc > 1) && (0 != argv )) { - if( 1 == atoi( argv[1] ) ) - wait_here = TRUE; - } - - for(i = 0; i < SORTSET; i++) - data[SORTSET -1 -i] = drand48(); - - for(i = 0; i < SORTSET; i++) - if (debugging) - printf("data[%d] = %f\n", i, data[i]); - - quick_sort(data, SORTSET); - for(i = 0; i < SORTSET; i++) - if (debugging) - printf("data[%d] = %f\n", i, data[i]); - - return(0); -} -/* EndSourceFile */ diff --git a/gdb/testsuite/gdb.hp/quicksort.exp b/gdb/testsuite/gdb.hp/quicksort.exp deleted file mode 100644 index 719bfdfb0a9..00000000000 --- a/gdb/testsuite/gdb.hp/quicksort.exp +++ /dev/null @@ -1,809 +0,0 @@ -# quicksort.exp -- Expect script to test gdb with quicksort.c -# Copyright (C) 1992 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ - -# Please email any bugs, comments, and/or additions to this file to: -# bug-gdb@prep.ai.mit.edu - -# use this to debug: -# -#log_user 1 - -if $tracelevel then { - strace $tracelevel -} - -if { ![istarget "hppa*-*-hpux10.30"] && ![istarget "hppa*-*-hpux11.*"] } { - verbose "HPUX thread test ignored for non-hppa or pre-HP/UX-10.30 targets." - return 0 -} - -set testfile quicksort -set srcfile ${srcdir}/${subdir}/${testfile}.c -set binfile ${objdir}/${subdir}/${testfile} - -if [get_compiler_info ${binfile}] { - return -1 -} - -# To build the executable we need to link against the thread library. -# -# cc -Ae -g -o quicksort -lpthread quicksort.c -# -#compile "${srcfile} -Ae -g -lpthread -o ${binfile}" - -if {$gcc_compiled == 0} { - set additional_flags "additional_flags=-Ae" -} else { - set additional_flags "" -} - -if { [gdb_compile "${srcdir}/${subdir}/${testfile}.c" "${binfile}.o" object [list debug $additional_flags]] != "" } { - gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail." -} -remote_exec build "ld /usr/ccs/lib/crt0.o ${binfile}.o -lcl -lpthread -lc /opt/langtools/lib/end.o -o ${binfile}" - - -# Thread stuff is _slow_; prepare for long waits. -# -set oldtimeout $timeout -set timeout [expr "$timeout + 300"] -set oldverbose $verbose -#set verbose 40 - -# Further, this test has some "null" lines designed -# to consume output from gdb that was too late to be -# matched (sequence is "gdb_test" sends; timeout and -# on to next send; result finally comes in; mismatch). -# -# The null command is 'gdb_test "p \$pc" ".*" ""' -# -# NOTE: to pass a literal "$", "/" or "*" (etc.) to gdb_test, -# remember that the pattern will be escaped once and -# $-evaluated twice: -# -# "\\\*" matches "\*" -# "\$" matches "$" -# -proc fix_timeout {} { - gdb_test "p \$pc" ".*" "" -} - -#========================= -# -# Simple sanity test first. -# -gdb_exit -gdb_start -gdb_reinitialize_dir $srcdir/$subdir -gdb_load ${binfile} - -gdb_test "tb 122" ".*Breakpoint.*" "" -gdb_test "r" ".*122.*" "" -gdb_test "thr 99" ".*Thread ID 99 not known.*" "Check too-big thread number" -gdb_test "tb 145 thr 3" ".*Breakpoint.*" "set thread-specific bp 145" -gdb_test "tb 146 thr 4" ".*Breakpoint.*" "set thread-specific bp 146" -gdb_test "c" ".*Switched to thread.*145.*" "auto switch" -gdb_test "c" ".*Switched to thread.*146.*" "auto switch 2" -gdb_test "c" ".*Program exited normally.*" "" - -#========================= -# -# Test that you can't do a thread select after a program runs. -# -gdb_test "thread" ".*No stack.*" "No live thread after run" -gdb_test "thr 2" ".*No stack.*" "Can't set thread after run" - -#========================= -# -# Test thread command changes, look for frame level reset bug. -# -gdb_exit -gdb_start -gdb_reinitialize_dir $srcdir/$subdir -gdb_load ${binfile} -gdb_test "b 122" ".*" "" -gdb_test "r" ".*122.*" "" - -# Prep for frame level test--go up/info thread/check frame -# -gdb_test "up" ".*quick_sort.*" "" -gdb_test "up" ".*main.*" "" - -send_gdb "i th\n" -gdb_expect { - -re ".*7 thread.* in .* from .* in .* from .* 6 thread.*$gdb_prompt $" { - fail "old thread command, says things twice" - } - -re ".*7 system thread.*6 system th.*5 sys.*4.*3.*2.*1.*work_init.*$gdb_prompt $" { - pass "info threads" - } - -re ".*$gdb_prompt $" { fail "no info thread command" } - timeout { fail "timeout" } -} - -# We should have been restored two frames up--check. -# -send_gdb "up\n" -gdb_expect { - -re ".*Initial frame selected.*$gdb_prompt $" { - pass "Frame correctly reset after 'info threads'" - } - -re ".*quick_sort.*$gdb_prompt $" { - fail "Old gdb bug; should be fixed someday" - } - -re ".*$gdb_prompt $" { - fail "real bug--FIX!" - } - timeout { fail "timeout" } -} - -# Do it again, only just go to a middle frame, and use another thread. -# -gdb_test "thr 5" ".*" "" -gdb_test "bt" ".* ___ksleep.*_lwp_cond_timedwait.*pthread_cond_wait.*worker.*__pthread_create_system.*" "" -gdb_test "up" ".*1.*_lwp_cond_timedwait.*" "" -gdb_test "up" ".*2.*pthread_cond_wait.*" "" -gdb_test "up" ".*3.*worker.*" "" -gdb_test "i th" ".*7.*6.*work_init.*" "" -gdb_test "f" ".*3.*worker.*" "Frame restored" -gdb_test "p wp->max_pile" ".*= 128.*" "can see vars in frame" - -# Thread command changes -# -gdb_test "thr" ".*Current thread is 5.*" "threads-no-num" -gdb_test "thr 6" ".*Switching to thread 6.*" "new switch" -gdb_test "thr" ".*Current thread is 6.*" "check switch" -#gdb_test "thr 6" ".*Current thread is already 6.*" "dup, no switch" -gdb_test "thr app all p x" ".*No symbol.*" "" -gdb_test "thr" ".*Current thread is 6.*" "restore current thread" - -#========================= -# -# Test new stepping -# - -proc get_hit { } { - global hit2 - global hit3 - global hit4 - global hit5 - global hit6 - global hit7 - global gdb_prompt - - send_gdb "cont\n" - gdb_expect { - -re ".*Breakpoint.*145.*$gdb_prompt $" { - send_gdb "thr\n" - gdb_expect { - -re ".*is 7.*$gdb_prompt $" { - set hit7 [expr "$hit7 + 1"] - } - -re ".*is 6.*$gdb_prompt $" { - set hit6 [expr "$hit6 + 1"] - } - -re ".*is 5.*$gdb_prompt $" { - set hit5 [expr "$hit5 + 1"] - } - -re ".*is 4.*$gdb_prompt $" { - set hit4 [expr "$hit4 + 1"] - } - -re ".*is 3.*$gdb_prompt $" { - set hit3 [expr "$hit3 + 1"] - } - -re ".*is 2.*$gdb_prompt $" { - set hit2 [expr "$hit2 + 1"] - } - -re ".*$gdb_prompt $" { - fail "can't see which thread" - } - timeout { fail "timeout" } - } - } - -re ".*$gdb_prompt $" { - fail "thread command" - } - timeout { fail "timeout" } - } -} - -gdb_exit -gdb_start -gdb_reinitialize_dir $srcdir/$subdir -gdb_load ${binfile} -gdb_test "break 122" ".*" "" -gdb_test "run" ".*122.*" "" - -# Make sure we hit a bp on every thread. -# -# Try one, via thread-specific bps -# -gdb_test "break 145 thr 2" ".*" "set thread-specific bp thr 2" -gdb_test "break 145 thr 3" ".*" "set thread-specific bp thr 3" -gdb_test "break 145 thr 4" ".*" "set thread-specific bp thr 4" -gdb_test "break 145 thr 5" ".*" "set thread-specific bp thr 5" -gdb_test "break 145 thr 6" ".*" "set thread-specific bp thr 6" -gdb_test "break 145 thr 7" ".*" "set thread-specific bp thr 7" - -set hit2 0 -set hit3 0 -set hit4 0 -set hit5 0 -set hit6 0 -set hit7 0 - -get_hit -get_hit -get_hit -get_hit -get_hit -get_hit - -if { [expr "$hit2 == 1"] - && [expr "$hit3 == 1"] - && [expr "$hit4 == 1"] - && [expr "$hit5 == 1"] - && [expr "$hit6 == 1"] - && [expr "$hit7 == 1"] } { - pass "thread-specific bps 1" -} else { - fail "thread-specific bps 1" -} - -#==================== -# -# Now use generic bps -# -gdb_exit -gdb_start -gdb_reinitialize_dir $srcdir/$subdir -gdb_load ${binfile} -gdb_test "b 122" ".*" "" -gdb_test "r" ".*122.*" "" - -# Make sure we hit a bp on every thread. -# -# Try two, via non-thread-specific bp -# -gdb_test "b 145" ".*" "b 145" - -set hit2 0 -set hit3 0 -set hit4 0 -set hit5 0 -set hit6 0 -set hit7 0 - -get_hit -get_hit -get_hit -get_hit -get_hit -get_hit - -if { [expr "$hit2 == 1"] - && [expr "$hit3 == 1"] - && [expr "$hit4 == 1"] - && [expr "$hit5 == 1"] - && [expr "$hit6 == 1"] - && [expr "$hit7 == 1"] } { - pass "thread-specific bps 2" -} else { - fail "thread-specific bps 2" -} - -#==================== -# -# Complicated (original) test next. -# -gdb_exit -gdb_start -gdb_reinitialize_dir $srcdir/$subdir -gdb_load ${binfile} - -if ![runto_main] then { - fail "Can't run to main" - return 0 -} - -# OK, we're at "main", there should be one thread. -# -gdb_test "info thread" ".*\\\* 1 system thread .*main.*" "initial thread" - -# Try to see the threads being created: set a breakpoint -# after the creation and go around the loop a few times. -# -gdb_test "break 109" "Breakpoint.*109.*" "set bpt" - -gdb_test "c" ".*New thread.*Breakpoint.*109.*" "first continue" -fix_timeout - -# Make sure we don't wait (waiting is for attach test) -# -gdb_test "set wait_here = 0" ".*" "" - -send_gdb "info thr\n" -gdb_expect { - -re ".*2 system th.*1 sy.*109.*$gdb_prompt $" { pass "saw thread create" } - -re ".*1 system thread.*87.*$gdb_prompt $" { fail "didn't see thread create" } - -re ".*$gdb_prompt $" { fail "no info thread command" } - timeout { fail "timeout" } -} - -gdb_test "c" ".*New thread.*Breakpoint.*109.*" "continue" -fix_timeout - -send_gdb "info thr\n" -gdb_expect { - -re ".*3 system thread.*2 sys.*\\\* 1 system thread.*109.*$gdb_prompt $" { - pass "saw thread create" } - -re ".*2 system thread.*1 sys.*109.*$gdb_prompt $" { - fail "didn't see thread create" - } - -re ".*1 system thread.*109.*$gdb_prompt $" { - fail "didn't see thread create" - } - -re ".*$gdb_prompt $" { - fail "no info thread command" - } - timeout { fail "timeout" } -} - -fix_timeout -gdb_test "clear" ".*Deleted breakpoint.*" "" - -# Now go on to the end of thread creation. -# -gdb_test "b 122" ".*" "set bpt 122" -gdb_test "c" ".*New thread.*New thread.*New thread.*122.*" "" -gdb_test "p \$pc" ".*" "" -gdb_test "clear" ".*Deleted breakpoint.*" "" - -send_gdb "info thr\n" -gdb_expect { - -re ".*7 system thread.*6 sys.*5.*1 system thread.*122.*$gdb_prompt $" - { pass "saw thread creates" } - -re ".*$gdb_prompt $" - { fail "no info thread command" } - timeout { fail "timeout" } -} - -# Try a thread-specific breakpoint; we expect the other threads to -# be waiting at this point. -# -gdb_test "thr 3" ".*Switching to thread.*ksleep.*" "thread switch" -gdb_test "i th" ".*\\\* 3 system thread.*" "show new current thread" - -gdb_test "up" ".*lwp_cond_timedwait.*" "" -gdb_test "up" ".*pthread_cond_wait.*" "" -gdb_test "up" ".*worker.*144.*" "" - -gdb_test "b 145 th 3" ".*Breakpoint.*145.*" "set thread-specific bp" -gdb_test "i b" ".*breakpoint.*breakpoint.*145 thread 3.*" "show thread-specific bp" - -gdb_test "c" ".*Breakpoint.*145.*145.*" "hit thread-specific bp" -gdb_test "p \$pc" ".*" "" - -# Test thread apply command on thread specific data. -# -gdb_test "thre app all p \$pc" ".*Thread 7.*Thread 6.*Thread 5.*Thread 4.*Thread 3.*Thread 2.*Thread 1.*" "thread apply all" -gdb_test "thr ap 1 3 5 p \$pc" ".*Thread 1.*Thread 3.*Thread 5.*" "thr app 1 3 5" - -# Switch again, and test that others continue on a "next" -# This test _could_ fail due to timing issues, but that's -# unlikely. -# -gdb_test "thr 7" ".*Switching to thread.*" "" - -# Make sure that "up" stops at __pthread_exit, or -# __pthread_create, the pseudo-roots, and that we -# only see that pseudo-root once. -# -send_gdb "bt\n" -gdb_expect { - -re ".*Error accessing memory address.*" { fail "bt" } - -re ".*pthread_create.*pthread_create.*" { fail "bt" } - -re ".*worker.*pthread_create.*" { pass "bt" } - -re ".*pthread_exit.*" { pass "bt" } - timeout { fail "timeout on bt" } -} - -gdb_test "up" ".*" "" -gdb_test "up" ".*" "" -gdb_test "up" ".*144.*" "Up 3" -gdb_test "up" ".*pthread_.*" "Up 4" -gdb_test "up" ".*Initial frame selected; you cannot go up.*" "catch end of thread stack" - -#===================== -# -# Things get iffy here; when we step, sometimes the step -# completes, sometimes it doesn't. When it doesn't, we -# hit a bp somewhere else and the step never completes -# (wait_for_inferior just evaporates it). -# -# I think the right answer is that any failures here -# should stick around to trigger later fixing. -# -# Here's the plan: -# -# Bps at 148 (5) and 154 (6) on thread 7 (two bps so we -# see the difference between going around the loop and -# reporting the same bp hit twice). -# -# Bp at 144 on thread 3. -# -# Step out of a library routine. -# -# Either the step will finish or a bp will hit. Try to -# handle all the cases. -# -gdb_test "b 148 thr 7" ".*Breakpoint.*148.*" "" -gdb_test "b 154 thr 7" ".*Breakpoint.*154.*" "set bpt 2" - -set hit_154_bp 0 -set hit_148_bp 0 -set hit_145_bp 0 -set step_completed 0 - -# Expect zero hits -# -gdb_test "i b" ".*" "" - -send_gdb "n\n" -gdb_expect { - -re ".*Single stepping.*_lwp_cond_timedwait.*$gdb_prompt $" { - send_gdb "thr\n" - gdb_expect { - -re ".*is 7.*$gdb_prompt $" { - set step_completed 1 - pass "completed step in library code" - } - -re ".*$gdb_prompt $" { - fail "completed step in library code, but in wrong thread" - } - timeout { fail "timeout" } - } - } - -re ".*Single stepping.*Switched to thread 3.*Breakpoint.*$gdb_prompt $" { - pass "step cancelled; hit bp due to thread parallelism" - set hit_145_bp 1 - } - -re ".*Single stepping.*Switched to thread 7.*Breakpoint.*148.*$gdb_prompt $" { - pass "step cancelled; hit bp due to thread parallelism" - set hit_148_bp 1 - } - -re ".*Single stepping.*Switched to thread 7.*Breakpoint.*154.*$gdb_prompt $" { - pass "step cancelled; hit bp due to thread parallelism" - set hit_154_bp 1 - } - -re ".*$gdb_prompt $" { - send_gdb "thr\n" - gdb_expect { - -re ".*is 7.*$gdb_prompt $" { - fail "No event?" - } - -re ".*$gdb_prompt $" { - fail "No event" - } - timeout { fail "timeout" } - } - } - timeout { fail "timeout" } -} - -# Sometimes used to get SIGTRAP here; that should be fixed -# - -# Expect appropriate hits of bpt; too much work to parse -# result and check... -# -gdb_test "i b" ".*" "" - -send_gdb "c\n" -gdb_expect { - -re ".*SIGTRAP.*$gdb_prompt $" { - fail "got SIGTRAP" - } - -re ".*Switched to thread 7.*Breakpoint.*154.*$gdb_prompt $" { - if { $hit_154_bp == 1 } { - fail "re-hit old bp" - } else { - pass "continue; hit parallel event after continue" - } - set hit_154_bp 1 - } - -re ".*Switched to thread 7.*Breakpoint.*148.*$gdb_prompt $" { - if { $hit_148_bp == 1 } { - fail "re-hit old bp" - } else { - pass "continue; hit parallel event after continue" - } - set hit_148_bp 1 - } - -re ".*Breakpoint.*154.*$gdb_prompt $" { - if { $hit_154_bp == 1 } { - fail "re-hit old bp" - } else { - send_gdb "thr\n" - gdb_expect { - -re ".*is 7.*$gdb_prompt $" { - pass "continue; hit parallel event after continue" - } - -re ".*$gdb_prompt $" { - fail "hit bp in wrong thread" - } - timeout { fail "timeout" } - } - } - set hit_154_bp 1 - } - -re ".*Breakpoint.*148.*$gdb_prompt $" { - if { $hit_148_bp == 1 } { - fail "re-hit old bp" - } else { - send_gdb "thr\n" - gdb_expect { - -re ".*is 7.*$gdb_prompt $" { - pass "continue; hit parallel event after continue" - } - -re ".*$gdb_prompt $" { - fail "hit bp in wrong thread" - } - timeout { fail "timeout" } - } - } - set hit_148_bp 1 - } - -re ".*Breakpoint.*145.*$gdb_prompt $" { - if { $hit_145_bp == 1 } { - fail "re-hit old bp" - } else { - send_gdb "thr\n" - gdb_expect { - -re ".*is 3.*$gdb_prompt $" { - pass "continue; hit parallel event after continue" - } - -re ".*$gdb_prompt $" { - fail "hit bp in wrong thread" - } - timeout { fail "timeout" } - } - } - set hit_145_bp 1 - } - -re ".*_lwp_cond_timedwait.*$gdb_prompt $" { - pass "continue; hit step completion after continue" - } - -re ".*Program exited normally.*" { - fail "Program ended? HOW?" - } - -re ".*$gdb_prompt $" { - fail "Unexpected event" - } - timeout { fail "timeout" } -} - -# There are a number of places we _could_ be now; -# this is the price of really running in parallel. -# -send_gdb "n\n" -gdb_expect { - -re ".*Switched to thread 7.*pthread_cond_wait.*$gdb_prompt $" { - if { $step_completed } { - fail "step already completed" - } else { - pass "finish step" - } - } - -re ".*pthread_cond_wait.*$gdb_prompt $" { - # - # Unlikely, but we might finish the range step from inside - # ksleep, before anything else. - # - if { $step_completed } { - fail "step already completed" - } else { - send_gdb "thr\n" - gdb_expect { - -re ".*is 7.*$gdb_prompt $" { - pass "finish step" - } - -re ".*$gdb_prompt $" { - fail "step in wrong thread" - } - timeout { fail "timeout" } - } - } - } - -re ".*Switched to thread.*Breakpoint.*145.*$gdb_prompt $" { - pass "auto-switch thread" - } - -re ".*Breakpoint.*145.*$gdb_prompt $" { - pass "auto-switch not needed, ok" - } - -re ".*140.*while.*n_pile.*$gdb_prompt $" { - # - # This is just going around the loop from the 154 bp. - # - send_gdb "thr\n" - gdb_expect { - -re ".*is 7.*$gdb_prompt $" { - pass "finish step" - } - -re ".*$gdb_prompt $" { - fail "step in wrong thread" - } - timeout { fail "timeout" } - } - } - -re ".*149.*ptr = wp.*pile.*$gdb_prompt $" { - # - # This is just going around the loop from the 148 bp. - # - if { $hit_154_bp } { - send_gdb "thr\n" - gdb_expect { - -re ".*is 7.*$gdb_prompt $" { - pass "finish step" - } - -re ".*$gdb_prompt $" { - fail "step in wrong thread" - } - timeout { fail "timeout" } - } - } else { - pass "step from 149 but didn't hit it first" - } - } - -re ".*Breakpoint 5.*154.*$gdb_prompt $" { - gdb_test "i b" ".*" "" - if { $hit_154_bp } { - fail "hit bp again?" - } else { - pass "hit bp" - } - } - -re ".*Breakpoint 5.*148.*$gdb_prompt $" { - gdb_test "i b" ".*" "" - if { $hit_148_bp } { - fail "hit bp again?" - } else { - pass "hit bp" - } - } - -re ".*$gdb_prompt $" { - fail "no step finished" - } - timeout { fail "timeout on 'next'" } -} - -# Let's get into some kind of known state again. -# -gdb_test "thr 7" ".*" "" -gdb_test "info thread" ".*" "" -#gdb_test "i b" ".*" "" - -# Leave breakpoint "154 thr 7" as only live bp. -# -gdb_test "d 1" ".*" "del main bp" -gdb_test "d 4" ".*" "thread-specific bpt delete" -gdb_test "d 5" ".*" "other bp delete" -send_gdb "i b\n" -gdb_expect { - -re ".*breakpoint.*breakpoint.*$gdb_prompt $" { - fail "more than one bp left" - } - -re ".*breakpoint.*154.*thread.*7.*$gdb_prompt $" { - pass "Only one bp left" - } - -re ".*$gdb_prompt $" { - fail "Wrong or no bp left" - } - timeout { fail "timeout on info b" } -} - -send_gdb "c\n" -gdb_expect { - -re ".*SIGTRAP.*Switched to thread.*$gdb_prompt $" { - fail "SIGTRAP error; lost thread-specific bpt" - } - -re ".*SIGTRAP.*Switched to thread.*154.*$gdb_prompt $" { - fail "SIGTRAP, but hit right thread-specific bpt" - } - -re ".*Switched to thread.*Breakpoint.*154.*$gdb_prompt $" { - pass "auto-switch back" - } - -re ".*Breakpoint.*154.*$gdb_prompt $" { - pass "step to bp" - } - -re ".*$gdb_prompt $" { - fail "auto-switch back" - } - -re ".*Program exited normally.*$gdb_prompt $" { - fail "step lost" - } - timeout { - fail "timeout" - } -} -fix_timeout - -gdb_test "cle" ".*Deleted breakpoint.*" "delete last breakpoint" - -# Sometimes get SIGTRAP here. Continue sometimes gets another... -# -send_gdb "c\n" -gdb_expect { - -re ".*SIGTRAP.*154.*154.*$gdb_prompt $" { - fail "SIGTRAP on deleted bp 154 " - send_gdb "c\n" - gdb_expect { - -re ".*$gdb_prompt $" { pass "fixup"} - timeout { fail "fixup" } - } - } - -re ".*SIGTRAP.*144.*145.*$gdb_prompt $" { - fail "SIGTRAP on deleted bp 145 " - send_gdb "c\n" - gdb_expect { - -re ".*$gdb_prompt $" { pass "fixup"} - timeout { fail "fixup" } - } - } - -re ".*SIGTRAP.*148.*148.*$gdb_prompt $" { - fail "SIGTRAP on deleted bp 148 " - send_gdb "c\n" - gdb_expect { - -re ".*$gdb_prompt $" { pass "fixup"} - timeout { fail "fixup" } - } - } - -re ".*SIGTRAP.*$gdb_prompt $" { - fail "unknown SIGTRAP" - send_gdb "c\n" - gdb_expect { - -re ".*$gdb_prompt $" { pass "fixup"} - timeout { fail "fixup" } - } - } - -re ".*Program exited.*$gdb_prompt $" { - pass "run to end" - } - -re ".*$gdb_prompt $" { - fail "run to end" - send_gdb "c\n" - gdb_expect { - -re ".*$gdb_prompt $" { pass "fixup"} - timeout { fail "fixup" } - } - } - timeout { fail "timeout" } -} - -gdb_test "p \$pc" ".*No registers.*" "program done" - -# Done! -# -gdb_exit - -set timeout $oldtimeout -set verbose $oldverbose - -# execute_anywhere "rm -f ${binfile}" -# -return 0 - diff --git a/gdb/testsuite/gdb.hp/reg-test.exp b/gdb/testsuite/gdb.hp/reg-test.exp deleted file mode 100644 index 4bdc3069293..00000000000 --- a/gdb/testsuite/gdb.hp/reg-test.exp +++ /dev/null @@ -1,190 +0,0 @@ -# Copyright (C) 1998 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ - -# Please email any bugs, comments, and/or additions to this file to: -# bug-gdb@prep.ai.mit.edu - -# Tests of wide register displays for GDB on HPPA 2.0 machines - -# use this to debug: -#log_user 1 - -if $tracelevel then { - strace $tracelevel - } - -if ![istarget "hppa*-*-*"] { - verbose "Wide register test ignored for non-hppa targets." - return -} - -set testfile "reg_test" -set srcfile ${testfile}.s -set binfile ${objdir}/${subdir}/${testfile} - -# To build a pa 2.0 executable -# -# as -o reg_test reg_test.s -# or -# cc -g -o reg_test reg_test.s -# -# The +DA2.0N flag doesn't seem to be needed. -# -# Don't reject if there are warnings, as we expect this warning: -# -# (Warning) At least one PA 2.0 object file (pa2.0_test2.o) was detected. -# The linked output may not run on a PA 1.x system. -# - -if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug}] != "" } { - gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail." -} - -gdb_exit -gdb_start -gdb_reinitialize_dir $srcdir/$subdir -gdb_load ${binfile} - -# test machine--there's no 2.0n architecture, so we have -# to try to run the app. -# -send_gdb "break main\n" - gdb_expect { - -re "Breakpoint.*$gdb_prompt $" { - pass "initial set-up" - } - -re ".*$gdb_prompt $" { - fail "initial set-up" - } - timeout { - fail "initial set-up (timeout)" - } - } - -send_gdb "run\n" - gdb_expect { - -re ".*Executable file incompatible with hardware.*$gdb_prompt $" { - # Not hppa2.0 machine - # - return 0 - } - -re "Cannot exec.*$gdb_prompt $" { - # Not hppa2.0 machine - # - return 0 - } - -re ".*Starting program:.*$gdb_prompt $" { - pass "Ready to start test" - } - timeout { - fail "initial set-up, part 2 (timeout)" - return 0 - } - } - -# Let the program set known values. This secretly deletes -# the breakpoint at main and re-runs to mainend. -# -runto mainend - -# Look for known values -# -gdb_test "info reg r1" "r1 1" -gdb_test "info reg r4" "r4 2" -gdb_test "info reg r5" "r5 4" -gdb_test "info reg r6" "r6 8" -gdb_test "info reg r7" "r7 10" -gdb_test "info reg r8" "r8 20" -gdb_test "info reg r9" "r9 40" -gdb_test "info reg r10" "r10 80" -gdb_test "info reg r11" "r11 100" -gdb_test "info reg r12" "r12 200" -gdb_test "info reg r13" "r13 400" -gdb_test "info reg r14" "r14 800" -gdb_test "info reg r15" "r15 1000" -gdb_test "info reg r16" "r16 2000" - -# Two odd variants that GDB supports are: -# "1" means "r1", and -# "$1" means "r1" -# -gdb_test "info reg 1 4" "r1 1.*r4 2" -gdb_test "info reg \$1" "r1 1" - -# Verify that GDB responds gracefully to a register ID number that -# is out of range. -# -gdb_test "info reg 999" "999: invalid register" - -# Make sure the floating point status and error registers -# don't show up as floating point numbers! -# -gdb_test "info reg fpsr" ".*fpsr 0.*" "fpsr" -gdb_test "info reg fpe1" ".*fpe1 0.*" "fpe1" -gdb_test "info reg fpe2" ".*fpe2 0.*" "fpe2" -gdb_test "info reg fpe3" ".*fpe3 0.*" "fpe3" -gdb_test "info reg fpe4" ".*fpe4 0.*" "fpe4" -gdb_test "info reg fpe5" ".*fpe5 0.*" "fpe5" -gdb_test "info reg fpe6" ".*fpe6 0.*" "fpe6" -gdb_test "info reg fpe7" ".*fpe7 0.*" "fpe7" - -gdb_test "info reg fr4" ".*fr4.*(double precision).* 1" -gdb_test "info reg fr5" ".*fr5.*(double precision).* 2" -gdb_test "info reg fr6" ".*fr6.*(double precision).* 2" -gdb_test "info reg fr7" ".*fr7.*(double precision).* 4" -gdb_test "info reg fr8" ".*fr8.*(double precision).* 8" -gdb_test "info reg fr9" ".*fr9.*(double precision).* 32" -gdb_test "info reg fr10" ".*fr10.*(double precision).* 256" - -gdb_test "info reg r19" "r19 deadbeefbadcadee" - -# Need to add test of use of $<register-name> -# -# Q: How do you say a literal "$" in expect? -# A: You say "\$". A literal "\" is "\\". -# -# Please note that this test will fail as long as we are running -# in 32-bit mode: it will produce "$1 = 0xbadcadee". To fix it -# would require building a real 64-bit gdb (expression evaluation, -# in particular). -# -send_gdb "p/x \$r19\n" - gdb_expect { - -re ".*= 0xdeadbeefbadcadee.*$gdb_prompt $" { - pass "64-bit works" - } - -re ".*= 0xbadcadee.*$gdb_prompt $" { - pass "32-bit extract when using PRINT; expected but not good" - } - -re ".*$gdb_prompt $" { - fail "didn't print any part of right value" - } - timeout { - fail "timeout on print" - } - } - -# Need to add tests of setting wide regs too. E.g. -# -# set $r4 = 0x1234567890123456 -# p/x $r4 -# - -# done -# -gdb_exit -remote_exec build "rm -f ${binfile}" -return 0 diff --git a/gdb/testsuite/gdb.hp/reg-test.s b/gdb/testsuite/gdb.hp/reg-test.s deleted file mode 100644 index 39bb5d863c1..00000000000 --- a/gdb/testsuite/gdb.hp/reg-test.s +++ /dev/null @@ -1,96 +0,0 @@ -; assemble as "as -o reg_test.exe reg_test.s" -; or -; cc -g -o +DA2.0N -; -; PA-RISC 2.0 register contents test. -; - .level 2.0 - - .code - .export main,ENTRY - .export mainend,CODE - .export lab1,CODE - .space $TEXT$ - .subspa $CODE$ - -main - .proc - .callinfo NO_CALLS,FRAME=0 - .entry - - ;; Test we have right register numbers - ;; - ADD %r0,%r0,%r1 ; 0 - LDI 1,%r1 ; 1 - ;; - ;; Don't put anything into r2 or r3--they are special registers. - ;; - ADD %r1,%r1,%r4 ; 2 - ADD %r4,%r4,%r5 ; 4 - ADD %r5,%r5,%r6 ; 8 - ADD %r6,%r6,%r7 ; 16 - ADD %r7,%r7,%r8 ; 32 - ADD %r8,%r8,%r9 ; 64 - ADD %r9,%r9,%r10 ; 128 - ADD %r10,%r10,%r11 ; 256 - ADD %r11,%r11,%r12 ; 512 - ADD %r12,%r12,%r13 ; 1024 - ADD %r13,%r13,%r14 ; 2048 - ADD %r14,%r14,%r15 ; 4096 - ADD %r15,%r15,%r16 ; 9192 - - ;; Test high bits, to be sure we show them. - ;; - LDI 0xde,%r19 ; "de" - DEPD,Z %r19,55,56,%r19 ; "de00" - LDI 0xad,%r18 ; "ad" - ADD %r18,%r19,%r19 ; "dead" - DEPD,Z %r19,55,56,%r19 ; "dead00" - LDI 0xbe,%r18 ; "be" - ADD %r18,%r19,%r19 ; "deadbe" - DEPD,Z %r19,55,56,%r19 ; "deadbe00" - LDI 0xef,%r18 ; "ef" - ADD %r18,%r19,%r19 ; "deadbeef" - ; - DEPD,Z %r19,55,56,%r19 ; "deadbeef00" - LDI 0xba,%r18 ; "ba" - ADD %r18,%r19,%r19 ; "deadbeefba" - DEPD,Z %r19,55,56,%r19 ; "deadbeefba00" - LDI 0xdc,%r18 ; "dc" - ADD %r18,%r19,%r19 ; "deadbeefbadc" - DEPD,Z %r19,55,56,%r19 ; "deadbeefbadc00" - LDI 0xad,%r18 ; "ad" - ADD %r18,%r19,%r19 ; "deadbeefbadcad" - DEPD,Z %r19,55,56,%r19 ; "deadbeefbadcad00" - LDI 0xee,%r18 ; "ee" - ADD %r18,%r19,%r19 ; "deadbeefbadcadee" - -lab1 ;; Test floating point registers - ;; - LDIL LR'one,%r22 ; - FLDD RR'one(%r22),%fr4 ; 1.0 - FLDD RR'one+8(%r22),%fr5 ; 2.0 - FLDD RR'one+8(%r22),%fr6 ; 2.0 - FMPY,DBL %fr5,%fr6,%fr7 ; 4.0 - FMPY,DBL %fr6,%fr7,%fr8 ; 8.0 - FMPY,DBL %fr7,%fr8,%fr9 ; 32.0 - FMPY,DBL %fr8,%fr9,%fr10 ; 256.0 - - ;; The NOP prevents anything from end.o or crt0.o from - ;; being appended immediately after "mainend". If that - ;; happens, then we may have other labels that have the - ;; same address as "mainend", and thus the debugger - ;; may symbolize this PC to something other than "mainend". -mainend - NOP - .exit - .procend - - .space $TEXT$ - .subspa $CODE$ - .subspa $LIT$ ;; <don't use> ,QUAD=0,ALIGN=8,ACCESS=0x2c,SORT=16 -one - .align 8 - .stringz "?\xF0\x00\x00\x00\x00\x00\x00@\x00\x00\x00\x00\x00\x00" - .end - diff --git a/gdb/testsuite/gdb.hp/run-hp.c b/gdb/testsuite/gdb.hp/run-hp.c deleted file mode 100644 index 91da1e0fc16..00000000000 --- a/gdb/testsuite/gdb.hp/run-hp.c +++ /dev/null @@ -1,70 +0,0 @@ -/* - * This simple classical example of recursion is useful for - * testing stack backtraces and such. - */ - -#ifdef vxworks - -# include <stdio.h> - -/* VxWorks does not supply atoi. */ -static int -atoi (z) - char *z; -{ - int i = 0; - - while (*z >= '0' && *z <= '9') - i = i * 10 + (*z++ - '0'); - return i; -} - -/* I don't know of any way to pass an array to VxWorks. This function - can be called directly from gdb. */ - -vxmain (arg) -char *arg; -{ - char *argv[2]; - - argv[0] = ""; - argv[1] = arg; - main (2, argv, (char **) 0); -} - -#else /* ! vxworks */ -# include <stdio.h> -#endif /* ! vxworks */ - -main (argc, argv, envp) -int argc; -char *argv[], **envp; -{ -#ifdef usestubs - set_debug_traps(); - breakpoint(); -#endif -#ifdef FAKEARGV - printf ("%d\n", factorial (1)); -#else - if (argc != 2) { - printf ("usage: factorial <number>\n"); - return 1; - } else { - printf ("%d\n", factorial (atoi (argv[1]))); - } -#endif - return 0; -} - -int factorial (value) -int value; -{ - int local_var; - - if (value > 1) { - value *= factorial (value - 1); - } - local_var = value; - return (value); -} diff --git a/gdb/testsuite/gdb.hp/sized-enum.c b/gdb/testsuite/gdb.hp/sized-enum.c deleted file mode 100644 index a6d57881f48..00000000000 --- a/gdb/testsuite/gdb.hp/sized-enum.c +++ /dev/null @@ -1,43 +0,0 @@ - -enum Normal { - red, - blue, - green -}; - -short enum Small { - pink, - cyan, - grey -}; - -char enum Tiny { - orange, - yellow, - brown -}; - - -main() -{ - enum Normal normal[3]; - short enum Small small[3]; - char enum Tiny tiny[3]; - int i; - - for (i=0; i < 3; i++) - { - normal[i] = (enum Normal) i; - small[i] = (short enum Small) i; - tiny[i] = (char enum Tiny) i; - } - normal[0] = 0; /* place to hang a breakpoint */ -} - - - - - - - - diff --git a/gdb/testsuite/gdb.hp/sized-enum.exp b/gdb/testsuite/gdb.hp/sized-enum.exp deleted file mode 100644 index 191050ada4c..00000000000 --- a/gdb/testsuite/gdb.hp/sized-enum.exp +++ /dev/null @@ -1,162 +0,0 @@ -# Copyright (C) 1997, 1998 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ - -# Please email any bugs, comments, and/or additions to this file to: -# bug-gdb@prep.ai.mit.edu - -# GDB tests for sized enumerations - -# This is aimed at HP-UX systems. The HP C compiler -# allows specifying "char" or "short" for an enum, to -# indicate that it is 1 or 2 bytes long. - -# This file was written by Satish Pai <pai@apollo.hp.com> -# 1997-09-24 - -if $tracelevel then { - strace $tracelevel - } - -# -# test running programs -# -set prms_id 0 -set bug_id 0 - -set testfile "sized-enum" -set srcfile ${testfile}.c -set binfile ${objdir}/${subdir}/${testfile} - -if [get_compiler_info ${binfile}] { - return -1 -} - -if {[skip_hp_tests $gcc_compiled]} then { continue } - -if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug}] != "" } { - gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail." -} - -gdb_exit -gdb_start -gdb_reinitialize_dir $srcdir/$subdir -gdb_load ${binfile} - -# -# set it up at a breakpoint so we can play with the variable values -# - -if ![runto_main] then { - perror "couldn't run to breakpoint" - continue -} - -# set a breakpoint and go there -send_gdb "break 34\n" -gdb_expect { - -re "Breakpoint \[0-9\] at.*$gdb_prompt $" { pass "set break 34" } - -re "$gdb_prompt $" { fail "set break 34" } - timeout { fail "(timeout) set break 34" } -} -send_gdb "continue\n" -gdb_expect { - -re "Continuing\\.\r\n\r\nBreakpoint \[0-9\]*, main....at.*sized-enum\\.c:34\r\n34.*\r\n$gdb_prompt $" { pass "continue" } - -re "$gdb_prompt $" { fail "continue" } - timeout { fail "(timeout) continue" } -} - -# print stuff -send_gdb "print normal\n" -gdb_expect { - -re "\\$\[0-9\]* = \\{red, blue, green\\}.*$gdb_prompt $" { pass "print normal" } - -re "$gdb_prompt $" { fail "print normal" } - timeout { fail "(timeout) print normal" } -} -send_gdb "print small\n" -gdb_expect { - -re "\\$\[0-9\]* = \\{pink, cyan, grey\\}.*$gdb_prompt $" { pass "print small" } - -re "$gdb_prompt $" { fail "print small" } - timeout { fail "(timeout) print small" } -} -send_gdb "print tiny\n" -gdb_expect { - -re "\\$\[0-9\]* = \\{orange, yellow, brown\\}.*$gdb_prompt $" { pass "print tiny" } - -re "$gdb_prompt $" { fail "print tiny" } - timeout { fail "(timeout) print tiny" } -} - -# print type sizes -send_gdb "print sizeof (Normal)\n" -gdb_expect { - -re "\\$\[0-9\]* = 4.*$gdb_prompt $" { pass "print sizeof (Normal)" } - -re "$gdb_prompt $" { fail "print sizeof (Normal)" } - timeout { fail "(timeout) print sizeof (Normal)" } -} -send_gdb "print sizeof (Small)\n" -gdb_expect { - -re "\\$\[0-9\]* = 2.*$gdb_prompt $" { pass "print sizeof (Small)" } - -re "$gdb_prompt $" { fail "print sizeof (Small)" } - timeout { fail "(timeout) print sizeof (Small)" } -} -send_gdb "print sizeof (Tiny)\n" -gdb_expect { - -re "\\$\[0-9\]* = 1.*$gdb_prompt $" { pass "print sizeof (Tiny)" } - -re "$gdb_prompt $" { fail "print sizeof (Tiny)" } - timeout { fail "(timeout) print sizeof (Tiny)" } -} - -# print types -send_gdb "ptype normal\n" -gdb_expect { - -re "type = enum Normal \\{red, blue, green\\} \\\[3\\\].*$gdb_prompt $" { pass "ptype normal" } - -re "$gdb_prompt $" { fail "ptype normal" } - timeout { fail "(timeout) ptype normal" } -} -send_gdb "ptype small\n" -gdb_expect { - -re "type = short enum Small \\{pink, cyan, grey\\} \\\[3\\\].*$gdb_prompt $" { pass "ptype small" } - -re "$gdb_prompt $" { fail "ptype small" } - timeout { fail "(timeout) ptype small" } -} -send_gdb "ptype tiny\n" -gdb_expect { - -re "type = char enum Tiny \\{orange, yellow, brown\\} \\\[3\\\].*$gdb_prompt $" { pass "ptype tiny" } - -re "$gdb_prompt $" { fail "ptype tiny" } - timeout { fail "(timeout) ptype tiny" } -} - -# convert to int -send_gdb "print (int) blue\n" -gdb_expect { - -re "\\$\[0-9\]* = 1.*$gdb_prompt $" { pass "print (int) blue" } - -re "$gdb_prompt $" { fail "print (int) blue" } - timeout { fail "(timeout) print (int) blue" } -} -send_gdb "print (int) cyan\n" -gdb_expect { - -re "\\$\[0-9\]* = 1.*$gdb_prompt $" { pass "print (int) cyan" } - -re "$gdb_prompt $" { fail "print (int) cyan" } - timeout { fail "(timeout) print (int) cyan" } -} -send_gdb "print (int) yellow\n" -gdb_expect { - -re "\\$\[0-9\]* = 1.*$gdb_prompt $" { pass "print (int) yellow" } - -re "$gdb_prompt $" { fail "print (int) yellow" } - timeout { fail "(timeout) print (int) yellow" } -} - - - diff --git a/gdb/testsuite/gdb.hp/so-thresh.exp b/gdb/testsuite/gdb.hp/so-thresh.exp deleted file mode 100644 index 1977e92a7d9..00000000000 --- a/gdb/testsuite/gdb.hp/so-thresh.exp +++ /dev/null @@ -1,362 +0,0 @@ -# Copyright (C) 1997, 1998 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ - -# Please email any bugs, comments, and/or additions to this file to: -# bug-gdb@prep.ai.mit.edu - -if $tracelevel then { - strace $tracelevel - } - -set prms_id 0 -set bug_id 0 - -# are we on a target board -if ![isnative] then { - return -} - -set testfile "so-thresh" -set srcfile ${testfile}.c -set binfile ${objdir}/${subdir}/${testfile} - -if [get_compiler_info ${binfile}] { - return -1 -} - -# This testcase is automatically generated, via the -# gen-so-thresh program, which also should -# live in this same directory. -# -# The generator produces: -# - so-thresh.c -# - 3 .c files named libXX-so-thresh.c -# - a makefile named so-thresh.mk with a -# target named "so-thresh" that will compile -# and link the testcase -# -# Making with so-thresh.mk produces: -# - so-thresh -# - 3 shared libraries that are linked against, named -# libXX-so-thresh.sl -# -# We build gen-so-thresh, run it, and then make with -# the makefile it produces. -# -set genfile gen_${testfile} -set gen_srcfile ${genfile}.c -set gen_binfile ${genfile} -set gen_makefile ${testfile}.mk - -# This testcase is relatively large, and therefore can take awhile to -# load. We'd best set the timeout to something suitable, or we may -# seem to fail... -# -set timeout 60 - -# It's easiest to build and run the testcase in this directory. (Linking -# against shlibs puts relative paths to them in the a.out, so it's best -# if we remain in this directory for the entire test run.) -# -#cd gdb.base - -# Ensure that the testcase is built. This may cause the generator to -# be built & run. -# -# Warning! The final link of this testcase is not for the -# faint-hearted nor under-disked machine! -# -# ??rehrauer: I tried for a very long time to get make invoked -# directly here, rather than invoking a script to do it. I -# finally gave up in frustration; I'm not sure why it wouldn't -# work that way, but this method DOES work, albeit clumsily. -# - -send_user "Making with ${testfile}.mk ...\n" -# remote_exec build "sh -c \\\"cd ${objdir}/${subdir}\\; make -v -f ${srcdir}/${subdir}/${testfile}.mk clean require_shlibs all SRCDIR=${srcdir}/${subdir} OBJDIR=${objdir}/${subdir}\\\"" -remote_exec build "sh -c \\\"cd ${objdir}/${subdir}\\; make -v -f ${srcdir}/${subdir}/${testfile}.mk clean require_shlibs all SRCDIR=${srcdir}/${subdir} OBJDIR=${objdir}/${subdir}\\\"" - -# Only HP-UX (and any other platforms using SOM shared libraries, I -# guess) interprets the auto-solib-add variable as a threshhold, -# rather than a boolean that strictly enables or disables automatic -# loading of shlib symbol tables. -# -# On HP-UX, it is the size threshhold (in megabytes) at which to -# stop auto loading of symbol tables. -# -if ![istarget "hppa*-hp-hpux*"] then { - setup_xfail "*-*-*" -} - -# Start with a fresh gdb -# -gdb_exit -gdb_start -gdb_reinitialize_dir $srcdir/$subdir -gdb_load ${binfile} - -# This is a test of gdb's ability on HP-UX to stop automatically -# loading symbols of shared libraries, when the total size of the -# debugger's symbol table reaches a specified threshhold. -# - -# On HP-UX, the help text for auto-solib-add mentions that it -# serves as a threshhold. -# -send_gdb "help set auto-solib-add\n" -gdb_expect { - -re "Set autoloading size threshold .in megabytes. of shared library symbols.* -If nonzero, symbols from all shared object libraries will be loaded.* -automatically when the inferior begins execution or when the dynamic linker.* -informs gdb that a new library has been loaded, until the symbol table.* -of the program and libraries exceeds this threshold.* -Otherwise, symbols must be loaded manually, using `sharedlibrary'.*$gdb_prompt $"\ - {pass "help set auto-solib-add"} - -re "$gdb_prompt $"\ - {fail "help set auto-solib-add"} - timeout {fail "(timeout) help set auto-solib-add"} -} - -# On HP-UX, the threshhold is by default set to 50, which means -# 50 megabytes. -# -send_gdb "show auto-solib-add\n" -gdb_expect { - -re "Autoloading size threshold .in megabytes. of shared library symbols is 100.*$gdb_prompt $"\ - {pass "show auto-solib-add (default is 100)"} - -re "$gdb_prompt $"\ - {fail "show auto-solib-add (default is 100)"} - timeout {fail "(timeout) show auto-solib-add (default is 100)"} -} - -send_gdb "set auto-solib-add 1\n" -gdb_expect { - -re ".*$gdb_prompt $" - {pass "set auto-solib-add to 1"} - -re ".*$gdb_prompt $" - {fail "set auto-solib-add to 1"} - timeout {fail "(timeout) set auto-solib-add to 1"} -} - - -# We have manually verified that our testcase exceeds 1 Mbytes -# of heap space in GDB to hold the symbols for the main program -# and all associated linked-against libraries. Thus, when we -# run to the program's main, and therefore notice all the linked- -# against shlibs, we expect to hit the threshhold. -# -# (Note that we're not using the expect [runto main] function here, -# 'cause we want to match on output from the run command. -# -send_gdb "break main\n" -gdb_expect { - -re "Breakpoint \[0-9\]* at.*$gdb_prompt $"\ - {pass "set break at main"} - -re "$gdb_prompt $"\ - {fail "set break at main"} - timeout {fail "(timeout) set break at main"} -} - -send_gdb "run\n" -gdb_expect { - -re ".*warning. Symbols for some libraries have not been loaded, because.* -doing so would exceed the size threshold specified by auto-solib-add.* -To manually load symbols, use the 'sharedlibrary' command.* -To raise the threshold, set auto-solib-add to a larger value and rerun.* -the program.*$gdb_prompt $"\ - {pass "run to main hit auto-solib-add threshold"} - -re "$gdb_prompt $"\ - {fail "run to main hit auto-solib-add threshold"} - timeout {fail "(timeout) run to main hit auto-solib-add threshold"} -} - -# Verify that "info share" mentions something about libraries whose -# symbols weren't loaded. -# -# We'll assume that at least the last two shlib's symbols weren't -# loaded. As a side-effect of matching this pattern, the text start -# address of the last one is captured in expect_out(1,string). -# (we'll need it for the 'add-symbol-file' command in a nonce...) -# -send_gdb "info sharedlibrary\n" -gdb_expect { - -re ".*lib01_$testfile.sl .*symbols not loaded.*0x\[0-9\]* (0x\[0-9a-fA-F\]*).*$gdb_prompt $"\ - { send_gdb "add-symbol-file lib02_$testfile.sl $expect_out(1,string)\n" - gdb_expect { - -re "add symbol table.*y or n.*$"\ - {send_gdb "y\n" - gdb_expect { - -re "$gdb_prompt $" {pass "add-symbol-file and info sharedlib"} - timeout {fail "(timeout) add-symbol-file and info sharedlib"} - }} - -re "$gdb_prompt $"\ - {fail "add-symbol-file and info sharedlib"} - timeout {fail "(timeout) add-symbol-file and info sharedlib"} - } - } - -re "$gdb_prompt $"\ - {fail "info sharedlibrary shows shlibs with unloaded symbols"} - timeout {fail "(timeout) info sharedlibrary shows shlibs with unloaded symbols"} -} - -# Verify that we can manually load the symbol table of a library -# whose symbols weren't loaded. (We'll pick the last one.) -# - -# I moved this test inside the one above, because the expect_out array is not ok if the -# previous test has failed, and expect would error out (elz) -# -#send_gdb "add-symbol-file lib02_$testfile.sl $expect_out(1,string)\n" -#gdb_expect { -# -re "add symbol table.*y or n.*$"\ -# {send_gdb "y\n" -# gdb_expect { -# -re "$gdb_prompt $" {pass "add-symbol-file"} -# timeout {fail "(timeout) add-symbol-file"} -# }} -# -re "$gdb_prompt $"\ -# {fail "add-symbol-file"} -# timeout {fail "(timeout) add-symbol-file"} -#} - -# Verify that we can manually load the symbols for all libraries -# which weren't already loaded. -# -# Warning! On a machine with little free swap space, this may -# fail! -# -send_gdb "sharedlibrary\n" -gdb_expect { - -re "Reading symbols from.*done.*$gdb_prompt $"\ - {pass "sharedlibrary"} - -re "$gdb_prompt $"\ - {fail "sharedlibrary"} - timeout {fail "(timeout) sharedlibrary"} -} - -# Rerun the program, this time verifying that we can set the -# threshhold high enough to avoid hitting it. -# -# It appears that gdb isn't freeing memory when rerunning, as one -# would expect. To avoid potentially hitting a virtual memory -# ceiling, start with a fresh gdb. -# -gdb_exit -gdb_start -gdb_reinitialize_dir $srcdir/$subdir -gdb_load ${binfile} - -send_gdb "break main\n" -gdb_expect { - -re "Breakpoint \[0-9\]* at.*$gdb_prompt $"\ - {pass "set break at main"} - -re "$gdb_prompt $"\ - {fail "set break at main"} - timeout {fail "(timeout) set break at main"} -} - -send_gdb "set auto-solib-add 9999\n" -gdb_expect { - -re "$gdb_prompt $"\ - {pass "set auto-solib-add threshold to practical infinity"} - timeout {fail "(timeout) set auto-solib-add threshold to practical infinity"} -} -send_gdb "run\n" -gdb_expect { - -re ".*warning. Symbols for some libraries have not been loaded, because.* -doing so would exceed the size threshold specified by auto-solib-add.* -To manually load symbols, use the 'sharedlibrary' command.* -To raise the threshold, set auto-solib-add to a larger value and rerun.* -the program.*$gdb_prompt $"\ - {fail "rerun threshold at practical infinity (still hit threshold)"} - -re "$gdb_prompt $"\ - {pass "rerun with threshold at practical infinity"} - timeout {fail "(timeout) rerun with threshold at practical infinity"} -} - -# Rerun the program, this time altogether disabling the auto loading -# feature. There should be no information at all about shared -# libraries now. -# -# ??rehrauer: Personally, I'd call that a bug, since it doesn't give -# you the ability to manually load single shlibs (you need the text -# start address that 'info share' normall gives you). On the other -# hand, one can easily choose to load them all... -# -# It appears that gdb isn't freeing memory when rerunning, as one -# would expect. To avoid potentially hitting a virtual memory -# ceiling, start with a fresh gdb. -# -gdb_exit -gdb_start -gdb_reinitialize_dir $srcdir/$subdir -gdb_load ${binfile} - -send_gdb "break main\n" -gdb_expect { - -re "Breakpoint \[0-9\]* at.*$gdb_prompt $"\ - {pass "set break at main"} - -re "$gdb_prompt $"\ - {fail "set break at main"} - timeout {fail "(timeout) set break at main"} -} - -send_gdb "set auto-solib-add 0\n" -gdb_expect { - -re "$gdb_prompt $"\ - {pass "set auto-solib-add threshold to 0"} - timeout {fail "(timeout) set auto-solib-add threshold to 0"} -} -send_gdb "run\n" -gdb_expect { - -re ".*warning. Symbols for some libraries have not been loaded, because.* -doing so would exceed the size threshold specified by auto-solib-add.* -To manually load symbols, use the 'sharedlibrary' command.* -To raise the threshold, set auto-solib-add to a larger value and rerun.* -the program.*$gdb_prompt $"\ - {fail "rerun threshold at 0 (still hit threshold)"} - -re "$gdb_prompt $"\ - {pass "rerun with threshold at 0"} - timeout {fail "(timeout) rerun with threshold at 0"} -} - -# Verify that we can still manually load symbols for all libraries. -# (We'll assume that if the last shlib's symbols are loaded, that -# all of them were.) -# -# Note that we set the GDB "height" variable to prevent GDB from -# prompting -# -# Warning! On a machine with little free swap space, this may -# fail! -# -send_gdb "set height 9999\n" -gdb_expect { - -re "$gdb_prompt $"\ - {pass "set screen page height to practical infinity"} - timeout {fail "(timeout) set screen page height to practical infinity"} -} -send_gdb "sharedlibrary\n" -gdb_expect { - -re ".*Reading symbols from .*/lib02-so-thresh\\.sl\\.\\.\\.done\\..*$gdb_prompt $"\ - {pass "manually load all symbols"} - -re "$gdb_prompt $"\ - {fail "manually load all symbols"} - timeout {fail "(timeout) manually load all symbols"} -} - -#cd .. -return 0 diff --git a/gdb/testsuite/gdb.hp/so-thresh.linkopts b/gdb/testsuite/gdb.hp/so-thresh.linkopts deleted file mode 100644 index 547b4ebb1fe..00000000000 --- a/gdb/testsuite/gdb.hp/so-thresh.linkopts +++ /dev/null @@ -1,5 +0,0 @@ -# Linker options for so-thresh test --l00-so-thresh --l01-so-thresh --l02-so-thresh - diff --git a/gdb/testsuite/gdb.hp/so-thresh.mk b/gdb/testsuite/gdb.hp/so-thresh.mk deleted file mode 100644 index 343185cbe86..00000000000 --- a/gdb/testsuite/gdb.hp/so-thresh.mk +++ /dev/null @@ -1,73 +0,0 @@ -# Make file for so-thresh test - -OBJDIR=. -SRCDIR=. -CFLAGS = +DA1.1 -g - -# This is how to build this generator. -gen-so-thresh.o: ${SRCDIR}/gen-so-thresh.c - $(CC) $(CFLAGS) -o gen-so-thresh.o -c ${SRCDIR}/gen-so-thresh.c -gen-so-thresh: gen-so-thresh.o - $(CC) $(CFLAGS) -o gen-so-thresh gen-so-thresh.o - -# This is how to run this generator. -# This target should be made before the 'all' target, -# to ensure that the shlib sources are all available. -require_shlibs: gen-so-thresh - if ! [ -a lib00-so-thresh.c ] ; then \ - gen-so-thresh ; \ - fi - if ! [ -a lib01-so-thresh.c ] ; then \ - gen-so-thresh ; \ - fi - if ! [ -a lib02-so-thresh.c ] ; then \ - gen-so-thresh ; \ - fi - -# This is how to build all the shlibs. -# Be sure to first make the require_shlibs target! -lib00-so-thresh.o: lib00-so-thresh.c - $(CC) $(CFLAGS) +Z -o lib00-so-thresh.o -c lib00-so-thresh.c -lib00-so-thresh.sl: lib00-so-thresh.o - $(LD) $(LDFLAGS) -b -o lib00-so-thresh.sl lib00-so-thresh.o -lib01-so-thresh.o: lib01-so-thresh.c - $(CC) $(CFLAGS) +Z -o lib01-so-thresh.o -c lib01-so-thresh.c -lib01-so-thresh.sl: lib01-so-thresh.o - $(LD) $(LDFLAGS) -b -o lib01-so-thresh.sl lib01-so-thresh.o -lib02-so-thresh.o: lib02-so-thresh.c - $(CC) $(CFLAGS) +Z -o lib02-so-thresh.o -c lib02-so-thresh.c -lib02-so-thresh.sl: lib02-so-thresh.o - $(LD) $(LDFLAGS) -b -o lib02-so-thresh.sl lib02-so-thresh.o - - - - -# For convenience, here's names for all pieces of all shlibs. -SHLIB_SOURCES = \ - lib00-so-thresh.c \ - lib01-so-thresh.c \ - lib02-so-thresh.c - -SHLIB_OBJECTS = $(SHLIB_SOURCES:.c=.o) -SHLIBS = $(SHLIB_SOURCES:.c=.sl) -SHLIB_NAMES = $(SHLIB_SOURCES:.c=) -EXECUTABLES = $(SHLIBS) gen-so-thresh so-thresh -OBJECT_FILES = $(SHLIB_OBJECTS) gen-so-thresh.o so-thresh.o - -shlib_objects: $(SHLIB_OBJECTS) -shlibs: $(SHLIBS) - -# This is how to build the debuggable testcase that uses the shlibs. -so-thresh.o: so-thresh.c - $(CC) $(CFLAGS) -o so-thresh.o -c so-thresh.c -so-thresh: shlibs so-thresh.o - $(LD) $(LDFLAGS) -o so-thresh -lc -L${OBJDIR} -c so-thresh.linkopts /opt/langtools/lib/end.o /lib/crt0.o so-thresh.o - -# Yeah, but you should first make the require_shlibs target! -all: so-thresh gen-so-thresh - -# To remove everything built via this makefile... -clean: - rm -f lib0*-so-thresh.* - rm -f *.o gen-so-thresh so-thresh.linkopts so-thresh.c - rm -f so-thresh diff --git a/gdb/testsuite/gdb.hp/so-thresh.sh b/gdb/testsuite/gdb.hp/so-thresh.sh deleted file mode 100755 index dc90270a1e1..00000000000 --- a/gdb/testsuite/gdb.hp/so-thresh.sh +++ /dev/null @@ -1,12 +0,0 @@ -#!/bin/ksh -# -# This script is a "wrapper" to use the so-thresh.mk -# Makefile. See the comments in so-thresh.exp -# regarding why this script exists. -# - -#set -o xtrace -#set -o verbose - -MAKEFLAGS= -make -v -f so-thresh.mk require_shlibs all diff --git a/gdb/testsuite/gdb.hp/start-stop.c b/gdb/testsuite/gdb.hp/start-stop.c deleted file mode 100644 index dcf2c7ebb10..00000000000 --- a/gdb/testsuite/gdb.hp/start-stop.c +++ /dev/null @@ -1,161 +0,0 @@ -/* BeginSourceFile start_stop.c - - This file creates and deletes threads, so that wdb - can be tested on thread delete. - - To compile: - - cc -Ae +DA1.0 -g -o start_stop -lpthread start_stop.c - - To run: - - start_stop --normal run - start_stop 1 --waits in each thread to keep it alive. -*/ - -#include <unistd.h> -#include <stdlib.h> -#include <stdio.h> -#include <assert.h> -#include <pthread.h> - -#define TRUE 1 -#define FALSE 0 -#define OUTER_LOOP_COUNT 3 -#define N_THREADS 3 -#define MAX_LOCAL_VAL 40 - -/* Uncomment to turn on debugging output */ -/* #define START_DEBUG */ - -/* True if waiting for attach. - */ -int wait_here; - -/* Thing to check for debugging purposes. -*/ -int a_global = 0; - -/* Thread-local storage. - */ -__thread int a_thread_local; - -/* Check the results of thread-local storage. - */ -int thread_local_val[ N_THREADS ]; -int val_debugger_saw[ N_THREADS ]; - -/* Routine for each thread to run, does nothing. - */ -void *spin( vp ) - void * vp; -{ - int me = (int) vp; - int i; - -#ifdef START_DEBUG - printf( "== In thread %d\n", me ); -#endif - - a_global++; - - a_thread_local = 0; - for( i = 0; i < a_global; i++ ) { - a_thread_local += i; - } - - thread_local_val[ me ] = a_thread_local; /* Line 67 */ - - printf( "== Thread %d, a_thread_local is %d\n", - (int) vp, a_thread_local ); - - if( wait_here ) { - /* Extend life of thread to extend life of thread-local var. - * This makes life easier for human debugging (though you'd - * probably want to make the delay longer). - */ - sleep( 5 ); - } -} - -void -do_pass( pass ) - int pass; -{ - int i; - pthread_t t[ N_THREADS ]; - int err; - - for( i = 0; i < N_THREADS; i++) { - thread_local_val[i] = 0; - val_debugger_saw[i] = 0; - } - - /* Start N_THREADS threads, then join them so - * that they are terminated. - */ - for( i = 0; i < N_THREADS; i++ ) { - err = pthread_create( &t[i], NULL, spin, (void *)i ); - if( err != 0 ) { - printf( "== Start/stop, error in thread %d create\n", i ); - } - } - - for( i = 0; i < N_THREADS; i++ ) { - err = pthread_join(t[i], NULL ); /* Line 105 */ - if( err != 0 ) { /* Line 106 */ - printf( "== Start/stop, error in thread %d join\n", i ); - } - } - - i = 10; /* Line 109. Null line for setting bpts on. */ - -/*#ifdef START_DEBUG*/ - for( i = 0; i < N_THREADS; i++) { - printf( " Local in thread %d was %d, debugger saw %d\n", - i, thread_local_val[i], val_debugger_saw[i] ); - } - printf( "== Pass %d done\n", pass ); -/*#endif*/ - -} - -void -do_it() -{ - /* We want to start some threads and then - * end them, and then do it again and again - */ - int i; - int dummy; - - for( i = 0; i < OUTER_LOOP_COUNT; i++ ) { - do_pass( i ); - dummy = i; /* Line 134, null line for setting bps on */ - } -} - -main( argc, argv ) -int argc; -char **argv; -{ - wait_here = FALSE; - if((argc > 1) && (0 != argv )) { - if( 1 == atoi( argv[1] ) ) - wait_here = TRUE; - } - -#ifdef START_DEBUG - printf( "== Test starting\n" ); -#endif - - do_it(); - -#ifdef START_DEBUG - printf( "== Test done\n" ); -#endif - - return(0); -} - -/* EndSourceFile */ diff --git a/gdb/testsuite/gdb.hp/start-stop.exp b/gdb/testsuite/gdb.hp/start-stop.exp deleted file mode 100644 index 4f70f51cede..00000000000 --- a/gdb/testsuite/gdb.hp/start-stop.exp +++ /dev/null @@ -1,360 +0,0 @@ -# start_stop.exp -- Expect script to test a threaded pgm which has terminating threads -# Copyright (C) 1992 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ - -# Please email any bugs, comments, and/or additions to this file to: -# bug-gdb@prep.ai.mit.edu - -# Comment out for now, since this test is (sometimes?) hanging on 11.0 -# -# return 0 - -# use this to debug: -# -#log_user 1 - -# Thread stuff is _slow_; prepare for long waits. -# -# Further, this test has some "null" lines designed -# to consume output from gdb that was too late to be -# matched (sequence is "gdb_test" sends; timeout and -# on to next send; result finally comes in; mismatch). -# -# The null command is 'gdb_test "p \$pc" ".*" ""' -# NOTE: this command undoes any up/down stuff! -# -proc pre_timeout {} { - global timeout - - set timeout [expr "$timeout + 100"] -} - -proc post_timeout {} { - global timeout - global oldtimeout - - set timeout $oldtimeout - gdb_test "p \$pc" ".*" "" -} - -if $tracelevel then { - strace $tracelevel -} - -if { ![istarget "hppa*-*-hpux10.30"] && ![istarget "hppa*-*-hpux11.*"] } { - verbose "HPUX thread test ignored for non-hppa or pre-HP/UX-10.30 targets." - return 0 -} - -set testfile start-stop -set srcfile ${srcdir}/${subdir}/${testfile}.c -set binfile ${objdir}/${subdir}/${testfile} - -if [get_compiler_info ${binfile}] { - return -1 -} - -# To build the executable we need to link against the thread library. -# -# cc -Ae -g -o start-stop -lpthread start-stop.c -# -#compile "${srcfile} -Ae -g -lpthread -o ${binfile}" - -if {$gcc_compiled == 0} { - set additional_flags "additional_flags=-Ae" -} else { - set additional_flags "" -} - -if { [gdb_compile "${srcdir}/${subdir}/${testfile}.c" "${binfile}.o" object [list debug $additional_flags]] != "" } { - gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail." -} -remote_exec build "ld /usr/ccs/lib/crt0.o ${binfile}.o -lcl -lpthread -lc /opt/langtools/lib/end.o -o ${binfile}" - - -gdb_exit -gdb_start -gdb_reinitialize_dir $srcdir/$subdir - -gdb_load ${binfile} -if ![runto_main] then { - fail "Can't run to main" - return 0 -} - -set oldtimeout $timeout -#set timeout [expr "$timeout + 200"] -set oldverbose $verbose -#set verbose 40 - -gdb_test "b do_pass" ".*" "set do_pass bp" -gdb_test "c" ".*Breakpoint.*do_pass.*" "run to do_pass" - -# Should be only one thread. -# -pre_timeout -send_gdb "info thread\n" -gdb_expect { - -re ".*2 process.*$gdb_prompt $" { fail "Old code for 'thread.c'" } - -re ".*2 system thread.*1 sys.*$gdb_prompt $" { fail "Too many threads" } - -re ".*1 system thread.*$gdb_prompt $" { pass "Just one thread" } - -re ".*$gdb_prompt $" { fail "no thread info" } - timeout { fail "timeout on info thread 1" } -} -post_timeout - -# Run to a point after the thread creates (105 is just -# before the first join). -# -# The "== Thread" stuff is output from the computing threads. -# -gdb_test "b 105" ".*Breakpoint.*" "set 105 bp" - -pre_timeout -send_gdb "c\n" -gdb_expect { - -re ".*== Thread.*== Thread.*== Thread.*105.*$gdb_prompt $" { - pass "new threads created and ended" - set threads_exist 0 - } - -re ".*== Thread.*== Thread.*105.*$gdb_prompt $" { - pass "new threads created and ended" - set threads_exist 1 - } - -re ".*== Thread.*.*105.*$gdb_prompt $" { - pass "new threads created and ended" - set threads_exist 2 - } - -re ".*New thread.*New th.*New th.*105.*$gdb_prompt $" { - pass "new threads created" - set threads_exist 3 - } - -re ".*Breakpoint.*105.*$gdb_prompt $" { - set threads_exist 0 - fail "didn't see any threads" - } - -re ".*$gdb_prompt $" { - set threads_exist 0 - fail "didn't even hit bp" - } - timeout { - set threads_exist -1 - fail "timeout on continue" - } -} - -# Look at the threads again. We expect that some of -# the threads may have already finished execution. -# -send_gdb "info thread\n" -gdb_expect { - -re ".*4.*3.*2.* 1.*thread.*$gdb_prompt $" { set seen_threads 3 } - -re ".*3.*2.* 1.*thread.*$gdb_prompt $" { set seen_threads 2 } - -re ".*2.* 1.*thread.*$gdb_prompt $" { set seen_threads 1 } - -re ".* 1.*thread.*$gdb_prompt $" { set seen_threads 0 } - -re ".*$gdb_prompt $" { set seen_threads 0 } - timeout { - set seen_threads -10 - fail "timeout on second info thread" - } -} -post_timeout - -if { $seen_threads == $threads_exist } { - pass "saw all threads that existed" -} else { - if { $seen_threads > $threads_exist } { - fail "may have seen threads that didn't finish exiting yet" - } else { - fail "didn't see live threads" - } -} - -gdb_test "cle" ".*Deleted.*" "del bp at 105" - -# Check that threads are being consumed at the join call. -# We expect to join three times. If we ever see the bp at -# 111, we've gone too far. -# -gdb_test "b 106" ".*Breakpoint.*106.*" "set bp at 106" -gdb_test "b 111" ".*Breakpoint.*111.*" "set bp at 111" - -# This one is sure: we're already in the loop. -# -gdb_test "c" ".*Breakpoint.*106.*" "hit bp at 106 1st time, 2 left" - -# Did we go around the loop again? -# -send_gdb "c\n" -gdb_expect { - -re ".*Breakpoint.*111.*" { - fail "didn't join right 1" - gdb_test "cle" ".*" "" - } - -re ".*Breakpoint.*106.*" { - pass "hit bp at 106 2nd time, 1 left" - send_gdb "c\n" - gdb_expect { - -re ".*Breakpoint.*111.*" { - fail "didn't join right 2" - gdb_test "cle" ".*" "" - } - -re ".*Breakpoint.*106.*" { - pass "hit bp at 106 3rd time, 0 left" - gdb_test "cle" ".*" "" - gdb_test "c" ".*Breakpoint.*111.*" "" - gdb_test "cle" ".*" "" - } - timeout { fail "timeout going around the loop"} - } - } - timeout { fail "timeout getting to 106"} -} - -# Should only be one thread now. -# -pre_timeout -send_gdb "info thread\n" -gdb_expect { - -re ".*2 system thread.*1 sys.*$gdb_prompt $" { fail "Too many threads" } - -re ".*1 system th.*$gdb_prompt $" { pass "Just one thread" } - -re ".*$gdb_prompt $" { pass "One thread shown as no threads, ok" } - timeout { fail "timeout third info thread" } -} -post_timeout - -#============================= Begin pass 2 =========== -# -# Ok, go around again -# -gdb_test "c" ".*Breakpoint.*do_pass.*" "hit do_pass bp again 2" -gdb_test "b 105" ".*Breakpoint.*" "set 105 bp 2" - -pre_timeout -send_gdb "c\n" -gdb_expect { - -re ".*== Thread.*== Thread.*== Thread.*$gdb_prompt $" { - pass "new threads created and ended 2" - set threads_exist 0 - } - -re ".*== Thread.*== Thread.*$gdb_prompt $" { - pass "new threads created and ended 2" - set threads_exist 1 - } - -re ".*== Thread.*$gdb_prompt $" { - pass "new threads created and ended 2" - set threads_exist 2 - } - -re ".*New system thread.*New sys.*New.*105.*$gdb_prompt $" { - pass "new threads created 2" - set threads_exist 3 - } - timeout { - set threads_exist -1 - fail "timeout on continue 2" - } -} - -# Look at the threads again. We expect that some of -# the threads may have already finished execution. -# -send_gdb "info thread\n" -gdb_expect { - -re ".*4.*3.*2.* 1.*thread.*$gdb_prompt $" { set seen_threads 3 } - -re ".*3.*2.* 1.*thread.*$gdb_prompt $" { set seen_threads 2 } - -re ".*2.* 1.*thread.*$gdb_prompt $" { set seen_threads 1 } - -re ".* 1.*thread.*$gdb_prompt $" { set seen_threads 0 } - -re ".*$gdb_prompt $" { set seen_threads 0 } - timeout { - set seen_threads -10 - fail "timeout on second info thread 2" - } -} -post_timeout - -if { $seen_threads == $threads_exist } { - pass "saw all threads that existed" -} else { - if { $seen_threads > $threads_exist } { - fail "may have seen threads that didn't finish exiting yet 2" - } else { - fail "didn't see live threads 2" - } -} - -gdb_test "cle" ".*Deleted.*" "del bp at 105 2" - -# Check that threads are being consumed at the join call. -# We expect to join three times. If we ever see the bp at -# 111, we've gone too far. -# -gdb_test "b 106" ".*Breakpoint.*106.*" "set bp at 106 2" -gdb_test "b 111" ".*Breakpoint.*111.*" "set bp at 111 2" - -# This one is sure: we're already in the loop. -# -gdb_test "c" ".*Breakpoint.*106.*" "hit bp at 106 1st time, 2 left 2" - -# Did we go around the loop again? -# -send_gdb "c\n" -gdb_expect { - -re ".*Breakpoint.*111.*" { - fail "didn't join right 1, pass 2" - gdb_test "cle" ".*" "" - } - -re ".*Breakpoint.*106.*" { - pass "hit bp at 106 2nd time, 1 left, pass 2" - send_gdb "c\n" - gdb_expect { - -re ".*Breakpoint.*111.*" { - fail "didn't join right 2, pass 2" - gdb_test "cle" ".*" "" - } - -re ".*Breakpoint.*106.*" { - pass "hit bp at 106 3rd time, 0 left, pass 2" - gdb_test "cle" ".*" "" - gdb_test "c" ".*Breakpoint.*111.*" "" - gdb_test "cle" ".*" "" - } - timeout { fail "timeout going around loop, pass 2"} - } - } - timeout { fail "timeout continue to 106, pass 2"} -} - -# Should only be one thread now. -# -pre_timeout -send_gdb "info thread\n" -gdb_expect { - -re ".*2 system thread.*1 sys.*$gdb_prompt $" { fail "Too many threads, pass 2" } - -re ".*1 system thread.*$gdb_prompt $" { pass "Just one thread, pass 2" } - -re ".*$gdb_prompt $" { pass "One thread shown as no threads, ok, pass 2" } - timeout { fail "timeout last info thread, pass 2" } -} -post_timeout - -# Done! -# -gdb_exit - -set timeout $oldtimeout -set verbose $oldverbose - -# execute_anywhere "rm -f ${binfile}" -# -return 0 diff --git a/gdb/testsuite/gdb.hp/sum.c b/gdb/testsuite/gdb.hp/sum.c deleted file mode 100644 index c28afa53856..00000000000 --- a/gdb/testsuite/gdb.hp/sum.c +++ /dev/null @@ -1,15 +0,0 @@ -/* This is a sample program for the HP/DDE debugger. */ -#include <stdio.h> - -#ifdef __STDC__ -int sum(int list[], int low, int high) -#else -int sum(list, low, high) -int list[], low, high; -#endif - { - int i, s = 0; - for (i = low; i <= high; i++) - s += list[i]; - return(s); - } diff --git a/gdb/testsuite/gdb.hp/templ-hp.cc b/gdb/testsuite/gdb.hp/templ-hp.cc deleted file mode 100644 index 25241dc6dbf..00000000000 --- a/gdb/testsuite/gdb.hp/templ-hp.cc +++ /dev/null @@ -1,785 +0,0 @@ -/* This test code is from Wendell Baker (wbaker@comet.berkeley.edu) */ - -#include <stddef.h> - -int a_i; -char a_c; -double a_d; - -typedef void *Pix; - -int -f(int i) -{ return 0; } - -int -f(int i, char c) -{ return 0; } - -int -f(int i, char c, double d) -{ return 0; } - -int -f(int i, char c, double d, char *cs) -{ return 0; } - -int -f(int i, char c, double d, char *cs, void (*fig)(int, char)) -{ return 0; } - -int -f(int i, char c, double d, char *cs, void (*fig)(char, int)) -{ return 0; } - -class R { -public: - int i; -}; -class S { -public: - int i; -}; -class T { -public: - int i; -}; - -char g(char, const char, volatile char) -{ return 'c'; } -char g(R, char&, const char&, volatile char&) -{ return 'c'; } -char g(char*, const char*, volatile char*) -{ return 'c'; } -char g(S, char*&, const char*&, volatile char*&) -{ return 'c'; } - -signed char g(T,signed char, const signed char, volatile signed char) -{ return 'c'; } -signed char g(T, R, signed char&, const signed char&, volatile signed char&) -{ return 'c'; } -signed char g(T, signed char*, const signed char*, volatile signed char*) -{ return 'c'; } -signed char g(T, S, signed char*&, const signed char*&, volatile signed char*&) -{ return 'c'; } - -unsigned char g(unsigned char, const unsigned char, volatile unsigned char) -{ return 'c'; } -unsigned char g(R, unsigned char&, const unsigned char&, volatile unsigned char&) -{ return 'c'; } -unsigned char g(unsigned char*, const unsigned char*, volatile unsigned char*) -{ return 'c'; } -unsigned char g(S, unsigned char*&, const unsigned char*&, volatile unsigned char*&) -{ return 'c'; } - -short g(short, const short, volatile short) -{ return 0; } -short g(R, short&, const short&, volatile short&) -{ return 0; } -short g(short*, const short*, volatile short*) -{ return 0; } -short g(S, short*&, const short*&, volatile short*&) -{ return 0; } - -signed short g(T, signed short, const signed short, volatile signed short) -{ return 0; } -signed short g(T, R, signed short&, const signed short&, volatile signed short&) -{ return 0; } -signed short g(T, signed short*, const signed short*, volatile signed short*) -{ return 0; } -signed short g(T, S, double, signed short*&, const signed short*&, volatile signed short*&) -{ return 0; } - -unsigned short g(unsigned short, const unsigned short, volatile unsigned short) -{ return 0; } -unsigned short g(R, unsigned short&, const unsigned short&, volatile unsigned short&) -{ return 0; } -unsigned short g(unsigned short*, const unsigned short*, volatile unsigned short*) -{ return 0; } -unsigned short g(S, unsigned short*&, const unsigned short*&, volatile unsigned short*&) -{ return 0; } - -int g(int, const int, volatile int) -{ return 0; } -int g(R, int&, const int&, volatile int&) -{ return 0; } -int g(int*, const int*, volatile int*) -{ return 0; } -int g(S, int*&, const int*&, volatile int*&) -{ return 0; } - -signed int g(T, signed int, const signed int, volatile signed int) -{ return 0; } -signed int g(T, R, signed int&, const signed int&, volatile signed int&) -{ return 0; } -signed int g(T, signed int*, const signed int*, volatile signed int*) -{ return 0; } -signed int g(T, S, signed int*&, const signed int*&, volatile signed int*&) -{ return 0; } - -unsigned int g(unsigned int, const unsigned int, volatile unsigned int) -{ return 0; } -unsigned int g(R, unsigned int&, const unsigned int&, volatile unsigned int&) -{ return 0; } -unsigned int g(unsigned int*, const unsigned int*, volatile unsigned int*) -{ return 0; } -unsigned int g(S, unsigned int*&, const unsigned int*&, volatile unsigned int*&) -{ return 0; } - -long g(long, const long, volatile long) -{ return 0; } -long g(R, long&, const long&, volatile long&) -{ return 0; } -long g(long*, const long*, volatile long*) -{ return 0; } -long g(S, long*&, const long*&, volatile long*&) -{ return 0; } - -signed long g(T, signed long, const signed long, volatile signed long) -{ return 0; } -signed long g(T, R, signed long&, const signed long&, volatile signed long&) -{ return 0; } -signed long g(T, signed long*, const signed long*, volatile signed long*) -{ return 0; } -signed long g(T, S, signed long*&, const signed long*&, volatile signed long*&) -{ return 0; } - -unsigned long g(unsigned long, const unsigned long, volatile unsigned long) -{ return 0; } -unsigned long g(S, unsigned long&, const unsigned long&, volatile unsigned long&) -{ return 0; } -unsigned long g(unsigned long*, const unsigned long*, volatile unsigned long*) -{ return 0; } -unsigned long g(S, unsigned long*&, const unsigned long*&, volatile unsigned long*&) -{ return 0; } - -#ifdef __GNUC__ -long long g(long long, const long long, volatile long long) -{ return 0; } -long long g(S, long long&, const long long&, volatile long long&) -{ return 0; } -long long g(long long*, const long long*, volatile long long*) -{ return 0; } -long long g(R, long long*&, const long long*&, volatile long long*&) -{ return 0; } - -signed long long g(T, signed long long, const signed long long, volatile signed long long) -{ return 0; } -signed long long g(T, R, signed long long&, const signed long long&, volatile signed long long&) -{ return 0; } -signed long long g(T, signed long long*, const signed long long*, volatile signed long long*) -{ return 0; } -signed long long g(T, S, signed long long*&, const signed long long*&, volatile signed long long*&) -{ return 0; } - -unsigned long long g(unsigned long long, const unsigned long long, volatile unsigned long long) -{ return 0; } -unsigned long long g(R, unsigned long long*, const unsigned long long*, volatile unsigned long long*) -{ return 0; } -unsigned long long g(unsigned long long&, const unsigned long long&, volatile unsigned long long&) -{ return 0; } -unsigned long long g(S, unsigned long long*&, const unsigned long long*&, volatile unsigned long long*&) -{ return 0; } -#endif - -float g(float, const float, volatile float) -{ return 0; } -float g(char, float&, const float&, volatile float&) -{ return 0; } -float g(float*, const float*, volatile float*) -{ return 0; } -float g(char, float*&, const float*&, volatile float*&) -{ return 0; } - -double g(double, const double, volatile double) -{ return 0; } -double g(char, double&, const double&, volatile double&) -{ return 0; } -double g(double*, const double*, volatile double*) -{ return 0; } -double g(char, double*&, const double*&, volatile double*&) -{ return 0; } - -#ifdef __GNUC__ -long double g(long double, const long double, volatile long double) -{ return 0; } -long double g(char, long double&, const long double&, volatile long double&) -{ return 0; } -long double g(long double*, const long double*, volatile long double*) -{ return 0; } -long double g(char, long double*&, const long double*&, volatile long double*&) -{ return 0; } -#endif - -class c { -public: - c(int) {}; - int i; -}; - -class c g(c, const c, volatile c) -{ return 0; } -c g(char, c&, const c&, volatile c&) -{ return 0; } -c g(c*, const c*, volatile c*) -{ return 0; } -c g(char, c*&, const c*&, volatile c*&) -{ return 0; } - -/* -void h(char = 'a') -{ } -void h(char, signed char = 'a') -{ } -void h(unsigned char = 'a') -{ } -*/ -/* -void h(char = (char)'a') -{ } -void h(char, signed char = (signed char)'a') -{ } -void h(unsigned char = (unsigned char)'a') -{ } - - -void h(short = (short)43) -{ } -void h(char, signed short = (signed short)43) -{ } -void h(unsigned short = (unsigned short)43) -{ } - -void h(int = (int)43) -{ } -void h(char, signed int = (signed int)43) -{ } -void h(unsigned int = (unsigned int)43) -{ } - - -void h(long = (long)43) -{ } -void h(char, signed long = (signed long)43) -{ } -void h(unsigned long = (unsigned long)43) -{ } - -#ifdef __GNUC__ -void h(long long = 43) -{ } -void h(char, signed long long = 43) -{ } -void h(unsigned long long = 43) -{ } -#endif - -void h(float = 4.3e-10) -{ } -void h(double = 4.3) -{ } -#ifdef __GNUC__ -void h(long double = 4.33e33) -{ } -#endif -*/ -void printf(const char *format, ... ) -{ - // elipsis -} - -class T1 { -public: - static void* operator new(size_t); - static void operator delete(void *pointer); - - void operator=(const T1&); - T1& operator=(int); - - int operator==(int) const; - int operator==(const T1&) const; - int operator!=(int) const; - int operator!=(const T1&) const; - - int operator<=(int) const; - int operator<=(const T1&) const; - int operator<(int) const; - int operator<(const T1&) const; - int operator>=(int) const; - int operator>=(const T1&) const; - int operator>(int) const; - int operator>(const T1&) const; - - void operator+(int) const; - T1& operator+(const T1&) const; - void operator+=(int) const; - T1& operator+=(const T1&) const; - - T1& operator++() const; - - void operator-(int) const; - T1& operator-(const T1&) const; - void operator-=(int) const; - T1& operator-=(const T1&) const; - - T1& operator--() const; - - void operator*(int) const; - T1& operator*(const T1&) const; - void operator*=(int) const; - T1& operator*=(const T1&) const; - - void operator/(int) const; - T1& operator/(const T1&) const; - void operator/=(int) const; - T1& operator/=(const T1&) const; - - void operator%(int) const; - T1& operator%(const T1&) const; - void operator%=(int) const; - T1& operator%=(const T1&) const; - - void operator&&(int) const; - T1& operator&&(const T1&) const; - - void operator||(int) const; - T1& operator||(const T1&) const; - - void operator&(int) const; - T1& operator&(const T1&) const; - void operator&=(int) const; - T1& operator&=(const T1&) const; - - void operator|(int) const; - T1& operator|(const T1&) const; - void operator|=(int) const; - T1& operator|=(const T1&) const; - - void operator^(int) const; - T1& operator^(const T1&) const; - void operator^=(int) const; - T1& operator^=(const T1&) const; - - T1& operator!() const; - T1& operator~() const; -}; - -void* -T1::operator new(size_t) -{ return 0; } - -void -T1::operator delete(void *pointer) -{ } - -class T2 { -public: - T2(int i): integer(i) - { } - int integer; -}; - -int operator==(const T2&, const T2&) -{ return 0; } -int operator==(const T2&, char) -{ return 0; } -int operator!=(const T2&, const T2&) -{ return 0; } -int operator!=(const T2&, char) -{ return 0; } - -int operator<=(const T2&, const T2&) -{ return 0; } -int operator<=(const T2&, char) -{ return 0; } -int operator<(const T2&, const T2&) -{ return 0; } -int operator<(const T2&, char) -{ return 0; } -int operator>=(const T2&, const T2&) -{ return 0; } -int operator>=(const T2&, char) -{ return 0; } -int operator>(const T2&, const T2&) -{ return 0; } -int operator>(const T2&, char) -{ return 0; } - -T2 operator+(const T2 t, int i) -{ return t.integer + i; } -T2 operator+(const T2 a, const T2& b) -{ return a.integer + b.integer; } -T2& operator+=(T2& t, int i) -{ t.integer += i; return t; } -T2& operator+=(T2& a, const T2& b) -{ a.integer += b.integer; return a; } - -T2 operator-(const T2 t, int i) -{ return t.integer - i; } -T2 operator-(const T2 a, const T2& b) -{ return a.integer - b.integer; } -T2& operator-=(T2& t, int i) -{ t.integer -= i; return t; } -T2& operator-=(T2& a, const T2& b) -{ a.integer -= b.integer; return a; } - -T2 operator*(const T2 t, int i) -{ return t.integer * i; } -T2 operator*(const T2 a, const T2& b) -{ return a.integer * b.integer; } -T2& operator*=(T2& t, int i) -{ t.integer *= i; return t; } -T2& operator*=(T2& a, const T2& b) -{ a.integer *= b.integer; return a; } - -T2 operator/(const T2 t, int i) -{ return t.integer / i; } -T2 operator/(const T2 a, const T2& b) -{ return a.integer / b.integer; } -T2& operator/=(T2& t, int i) -{ t.integer /= i; return t; } -T2& operator/=(T2& a, const T2& b) -{ a.integer /= b.integer; return a; } - -T2 operator%(const T2 t, int i) -{ return t.integer % i; } -T2 operator%(const T2 a, const T2& b) -{ return a.integer % b.integer; } -T2& operator%=(T2& t, int i) -{ t.integer %= i; return t; } -T2& operator%=(T2& a, const T2& b) -{ a.integer %= b.integer; return a; } - -template<class T> -class T5 { -public: - T5(int); - T5(const T5<T>&); - ~T5(); - static void* operator new(size_t); - static void operator delete(void *pointer); - int value(); - - static T X; - T x; - int val; -}; - -template<class T> -T5<T>::T5(int v) -{ val = v; } - -template<class T> -T5<T>::T5(const T5<T>&) -{} - -template<class T> -T5<T>::~T5() -{} - -template<class T> -void* -T5<T>::operator new(size_t) -{ return 0; } - -template<class T> -void -T5<T>::operator delete(void *pointer) -{ } - -template<class T> -int -T5<T>::value() -{ return val; } - - -#if ! defined(__GNUC__) || defined(GCC_BUG) -template<class T> -T T5<T>::X; -#endif - - - - -T5<char> t5c(1); -T5<int> t5i(2); -T5<int (*)(char, void *)> t5fi1(3); -T5<int (*)(int, double **, void *)> t5fi2(4); - - - - - - -class x { -public: - int (*manage[5])(double, - void *(*malloc)(unsigned size), - void (*free)(void *pointer)); - int (*device[5])(int open(const char *, unsigned mode, unsigned perms, int extra = 0), - int *(*read)(int fd, void *place, unsigned size), - int *(*write)(int fd, void *place, unsigned size), - void (*close)(int fd)); -}; -T5<x> t5x(5); - -#if !defined(__GNUC__) || (__GNUC__ >= 2 && __GNUC_MINOR__ >= 6) -template class T5<char>; -template class T5<int>; -template class T5<int (*)(char, void *)>; -template class T5<int (*)(int, double **, void *)>; -template class T5<x>; -#endif - -class T7 { -public: - static int get(); - static void put(int); -}; - -int -T7::get() -{ return 1; } - -void -T7::put(int i) -{ - // nothing -} - -// More template kinds. GDB 4.16 didn't handle these, but -// Wildebeest does. Note: Assuming HP aCC is used to compile -// this file; with g++ or HP cfront or other compilers the -// demangling may not get done correctly. - -// Ordinary template, to be instantiated with different types -template<class T> -class Foo { -public: - int x; - T t; - T foo (int, T); -}; - - -template<class T> T Foo<T>::foo (int i, T tt) -{ - return tt; -} - -// Template with int parameter - -template<class T, int sz> -class Bar { -public: - int x; - T t; - T bar (int, T); -}; - - -template<class T, int sz> T Bar<T, sz>::bar (int i, T tt) -{ - if (i < sz) - return tt; - else - return 0; -} - -// function template with int parameter -template<class T> int dummy (T tt, int i) -{ - return tt; -} - -// Template with partial specializations -template<class T1, class T2> -class Spec { -public: - int x; - T1 spec (T2); -}; - -template<class T1, class T2> -T1 Spec<T1, T2>::spec (T2 t2) -{ - return 0; -} - -template<class T> -class Spec<T, T*> { -public: - int x; - T spec (T*); -}; - -template<class T> -T Spec<T, T*>::spec (T * tp) -{ - return *tp; -} - -// Template with char parameter -template<class T, char sz> -class Baz { -public: - int x; - T t; - T baz (int, T); -}; - -template<class T, char sz> T Baz<T, sz>::baz (int i, T tt) -{ - if (i < sz) - return tt; - else - return 0; -} - -// Template with char * parameter -template<class T, char * sz> -class Qux { -public: - int x; - T t; - T qux (int, T); -}; - -template<class T, char * sz> T Qux<T, sz>::qux (int i, T tt) -{ - if (sz[0] == 'q') - return tt; - else - return 0; -} - -// Template with a function pointer parameter -template<class T, int (*f)(int) > -class Qux1 { -public: - int x; - T t; - T qux (int, T); -}; - -template<class T, int (*f)(int)> T Qux1<T, f>::qux (int i, T tt) -{ - if (f != 0) - return tt; - else - return 0; -} - -// Some functions to provide as arguments to template -int gf1 (int a) { - return a * 2 + 13; -} -int gf2 (int a) { - return a * 2 + 26; -} - -char string[3]; - - -// Template for nested instantiations - -template<class T> -class Garply { -public: - int x; - T t; - T garply (int, T); -}; - -template<class T> T Garply<T>::garply (int i, T tt) -{ - if (i > x) - return tt; - else - { - x += i; - return tt; - } -} - - -int main() -{ - int i; -#ifdef usestubs - set_debug_traps(); - breakpoint(); -#endif - i = i + 1; - - // New tests added here - - Foo<int> fint; - Foo<char> fchar; - Foo<volatile char *> fvpchar; - - Bar<int, 33> bint; - Bar<int, (4 > 3)> bint2; - - Baz<int, 's'> bazint; - Baz<char, 'a'> bazint2; - - Qux<char, string> quxint2; - Qux<int, string> quxint; - - Qux1<int, gf1> qux11; - - int x = fint.foo(33, 47); - char c = fchar.foo(33, 'x'); - volatile char * cp = fvpchar.foo(33, 0); - - int y = dummy<int> (400, 600); - - int z = bint.bar(55, 66); - z += bint2.bar(55, 66); - - c = bazint2.baz(4, 'y'); - c = quxint2.qux(4, 'z'); - - y = bazint.baz(4,3); - y = quxint.qux(4, 22); - y += qux11.qux(4, 22); - - y *= gf1(y) - gf2(y); - - Spec<int, char> sic; - Spec<int, int *> siip; - - sic.spec ('c'); - siip.spec (&x); - - Garply<int> f; - Garply<char> fc; - f.x = 13; - - Garply<Garply<char> > nf; - nf.x = 31; - - x = f.garply (3, 4); - - fc = nf.garply (3, fc); - - y = x + fc.x; - - - return 0; - -} - - - - - - - - - - - - - diff --git a/gdb/testsuite/gdb.hp/templ-hp.exp b/gdb/testsuite/gdb.hp/templ-hp.exp deleted file mode 100644 index 64ca53daf76..00000000000 --- a/gdb/testsuite/gdb.hp/templ-hp.exp +++ /dev/null @@ -1,381 +0,0 @@ -# Copyright (C) 1992, 1996, 1997 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - -# Please email any bugs, comments, and/or additions to this file to: -# bug-gdb@prep.ai.mit.edu - - - -# More tests for different kinds of template parameters, -# templates with partial specializations, nested templates, etc. -# These have been tested only with HP aCC. They probably won't -# work with other compilers because of differences in mangling -# schemes. -# Added by Satish Pai <pai@apollo.hp.com> 1997-09-25 - - -set ws "\[\r\n\t \]+" - -if $tracelevel then { - strace $tracelevel -} - -set testfile "templ-hp" -set srcfile ${testfile}.cc -set binfile ${objdir}/${subdir}/${testfile} - - - -# Create and source the file that provides information about the compiler -# used to compile the test case. - -if [get_compiler_info ${binfile} "c++"] { - return -1; -} - -if {[skip_hp_tests $gcc_compiled]} then { continue } - - -if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug c++}] != "" } { - gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail." - -} - -# -# Test printing of the types of templates. -# - -proc test_ptype_of_templates {} { - global gdb_prompt - - send_gdb "ptype T5<int>\n" - gdb_expect { - -re "type = class T5<int> \\{\r\n\[ \t\]*public:\r\n\[ \t\]*static int X;\r\n\[ \t\]*int x;\r\n\[ \t\]*int val;\r\n\r\n\[ \t\]*T5\\(int\\);\r\n\[ \t\]*T5\\(class T5<int> const &\\);\r\n\[ \t\]*void ~T5\\(int\\);\r\n\[ \t\]*static void \\* new\\(unsigned int\\);\r\n\[ \t\]*static void delete\\(void \\*\\);\r\n\[ \t\]*int value\\(void\\);\r\n\[ \t\]*\\}\r\n$gdb_prompt $" { pass "ptype T5<int>" } - -re ".*$gdb_prompt $" { fail "ptype T5<int>" } - timeout { fail "ptype T5<int> (timeout)" } - } - - send_gdb "ptype t5i\n" - gdb_expect { - -re "type = class T5<int> \\{\r\n\[ \t\]*public:\r\n\[ \t\]*static int X;\r\n\[ \t\]*int x;\r\n\[ \t\]*int val;\r\n\r\n\[ \t\]*T5\\(int\\);\r\n\[ \t\]*T5\\(class T5<int> const &\\);\r\n\[ \t\]*void ~T5\\(int\\);\r\n\[ \t\]*static void \\* new\\(unsigned int\\);\r\n\[ \t\]*static void delete\\(void \\*\\);\r\n\[ \t\]*int value\\(void\\);\r\n\[ \t\]*\\}\r\n$gdb_prompt $" { pass "ptype t5i<int> 1" } - -re "type = class T5<int> \{.*public:.*static int X;.*int x;.*int val;.*.*T5 \\(int\\);.*.*void ~T5 \\(int\\).*.*.*int value \\(void\\);.*\}.*$gdb_prompt $" { - pass "ptype t5i" - } - -re ".*$gdb_prompt $" { fail "ptype t5i" } - timeout { fail "ptype t5i (timeout)" } - } -} - -# -# Test breakpoint setting on template methods. -# - -proc test_template_breakpoints {} { - global gdb_prompt - global testfile - global srcdir - - send_gdb "break T5<int>::T5\n" - gdb_expect { - -re "0. cancel.*\r\n.1. all.*\r\n.2. *.*\r\n.3. *.*\r\n> $" { - gdb_test "0" \ - "cancelled" \ - "constructor breakpoint" - } - -re ".0. cancel\r\n.1. all\r\n.2. T5<int>::T5\\(T5<int> const &\\) at .*/templates.cc:.*\r\n.3. T5<int>::T5\\(int\\) at .*/templates-hp.cc:.*\r\n> $" { - gdb_test "0" \ - "cancelled" \ - "constructor breakpoint" - } - -re ".*$gdb_prompt $" { fail "constructor breakpoint" } - default { fail "constructor breakpoint (timeout)" } - } - - gdb_test "break T5<int>::~T5" \ - "Breakpoint.*at.* file .*${testfile}.cc, line.*" \ - "destructor breakpoint" - - gdb_test "break T5<int>::value" \ - "Breakpoint.*at.* file .*${testfile}.cc, line.*" \ - "value method breakpoint" - - delete_breakpoints -} - -# -# Test calling of template methods. -# - -proc test_template_calls {} { - global gdb_prompt - - send_gdb "print t5i.value()\n" - gdb_expect { - -re ".* = 2\r\n$gdb_prompt $" { pass "print t5i.value()" } - -re "Cannot invoke functions on this machine.*$gdb_prompt $" { - fail "print t5i.value()" - } - -re ".*$gdb_prompt $" { fail "print t5i.value()" } - timeout { fail "print t5i.value() (timeout)" } - } -} - - -proc do_tests {} { - global prms_id - global bug_id - global subdir - global objdir - global srcdir - global binfile - global prompt - global supports_template_debugging - - set prms_id 0 - set bug_id 0 - - # Start with a fresh gdb. - - gdb_exit - gdb_start - gdb_reinitialize_dir $srcdir/$subdir - gdb_load $binfile - - source ${binfile}.ci - - if { !$supports_template_debugging } { - warning "compiler lacks debugging info for templates; tests suppressed." 0 - return - } - - test_ptype_of_templates - test_template_breakpoints - - if [ runto_main ] { - test_template_calls - } -} - -do_tests - - -gdb_exit -gdb_start -gdb_reinitialize_dir $srcdir/$subdir -gdb_load $binfile - -# set it up at a breakpoint so we can play with the variable values -# -if ![runto_main] then { - perror "couldn't run to breakpoint" - continue -} - -send_gdb "print fint\n" -gdb_expect { - -re "\\$\[0-9\]* = \\{x = 0, t = 0\\}\r\n$gdb_prompt $" { pass "print fint" } - -re "$gdb_prompt $" { fail "print fint" } - timeout { fail "(timeout) print fint" } -} - -send_gdb "print fvpchar\n" -gdb_expect { - -re "\\$\[0-9\]* = \\{x = 0, t = 0x0\\}\r\n$gdb_prompt $" { pass "print fvpchar" } - -re "$gdb_prompt $" { fail "print fvpchar" } - timeout { fail "(timeout) print fvpchar" } -} - -# Template Foo<T> - -send_gdb "ptype Foo\n" -gdb_expect { - -re "type = template <(class |)T> (class |)Foo \\{\r\n\[ \t\]*public:\r\n\[ \t\]*int x;\r\n\[ \t\]*T t;\r\n\\}\r\ntemplate instantiations:\r\n\[ \t\]*(class |)Foo<volatile char \\*>\r\n\[ \t\]*(class |)Foo<char>\r\n\[ \t\]*(class |)Foo<int>\r\n$gdb_prompt $" { pass "ptype Foo" } - -re "$gdb_prompt $" { fail "ptype Foo" } - timeout { fail "(timeout) ptype Foo" } -} - -# ptype Foo<int> - -send_gdb "ptype fint\n" -gdb_expect { - -re "type = (class |)Foo<int> \\{\r\n\[ \t\]*public:\r\n\[ \t\]*int x;\r\n\[ \t\]*int t;\r\n\r\n\[ \t\]*int foo\\(int, int\\);\r\n\\}\r\n$gdb_prompt $" { pass "ptype fint" } - -re "$gdb_prompt $" { fail "ptype fint" } - timeout { fail "(timeout) ptype fint" } -} - -# ptype Foo<char> - -send_gdb "ptype fchar\n" -gdb_expect { - -re "type = (class |)Foo<char> \\{\r\n\[ \t\]*public:\r\n\[ \t\]*int x;\r\n\[ \t\]*char t;\r\n\r\n\[ \t\]*char foo\\(int, char\\);\r\n\\}\r\n$gdb_prompt $" { pass "ptype fchar" } - -re "$gdb_prompt $" { fail "ptype fchar" } - timeout { fail "(timeout) ptype fchar" } -} - -# ptype Foo<volatile char *> - -send_gdb "ptype fvpchar\n" -gdb_expect { - -re "type = (class |)Foo<volatile char \\*> \\{\r\n\[ \t\]*public:\r\n\[ \t\]*int x;\r\n\[ \t\]*volatile char \\*t;\r\n\r\n\[ \t\]*volatile char \\* foo\\(int, volatile char \\*\\);\r\n\\}\r\n$gdb_prompt $" { pass "ptype fvpchar" } - -re "$gdb_prompt $" { fail "ptype fvpchar" } - timeout { fail "(timeout) ptype fvpchar" } -} - -# print a function from Foo<volatile char *> - -send_gdb "print Foo<volatile char *>::foo\n" -gdb_expect { - -re "\\$\[0-9\]* = \\{volatile char \\*\\((class |)Foo<volatile char \\*> \\*, int, volatile char \\*\\)\\} $hex <Foo<volatile char \\*>::foo\\(int, volatile char \\*\\)>\r\n$gdb_prompt $" { pass "print Foo<volatile char *>::foo" } - -re "$gdb_prompt $" { fail "print Foo<volatile char *>::foo" } - timeout { fail "(timeout) print Foo<volatile char *>::foo" } -} - -# Template Bar<T, int> - -send_gdb "ptype Bar\n" -gdb_expect { - -re "type = template <(class |)T, (class |)sz> (class |)Bar \\{\r\n\[ \t\]*public:\r\n\[ \t\]*int x;\r\n\[ \t\]*T t;\r\n\\}\r\ntemplate instantiations:\r\n\[ \t\]*(class |)Bar<int,1>\r\n\[ \t\]*(class |)Bar<int,33>\r\n$gdb_prompt $" { pass "ptype Bar" } - -re "$gdb_prompt $" { fail "ptype Bar" } - timeout { fail "(timeout) ptype Bar" } -} - - -# ptype Bar<int,33> - -send_gdb "ptype bint\n" -gdb_expect { - -re "type = (class |)Bar<int,33> \\{\r\n\[ \t\]*public:\r\n\[ \t\]*int x;\r\n\[ \t\]*int t;\r\n\r\n\[ \t\]*int bar\\(int, int\\);\r\n\\}\r\n$gdb_prompt $" { pass "ptype bint" } - -re "$gdb_prompt $" { fail "ptype bint" } - timeout { fail "(timeout) ptype bint" } -} - -# ptype Bar<int, (4>3)> - -send_gdb "ptype bint2\n" -gdb_expect { - -re "type = (class |)Bar<int,1> \\{\r\n\[ \t\]*public:\r\n\[ \t\]*int x;\r\n\[ \t\]*int t;\r\n\r\n\[ \t\]*int bar\\(int, int\\);\r\n\\}\r\n$gdb_prompt $" { pass "ptype bint2" } - -re "$gdb_prompt $" { fail "ptype bint2" } - timeout { fail "(timeout) ptype bint2" } -} - -# Template Baz<T, char> - -send_gdb "ptype Baz\n" -gdb_expect { - -re "type = template <(class |)T, (class |)sz> (class |)Baz \\{\r\n\[ \t\]*public:\r\n\[ \t\]*int x;\r\n\[ \t\]*T t;\r\n\\}\r\ntemplate instantiations:\r\n\[ \t\]*(class |)Baz<char,97>\r\n\[ \t\]*(class |)Baz<int,115>\r\n$gdb_prompt $" { pass "ptype Baz" } - -re "$gdb_prompt $" { fail "ptype Baz" } - timeout { fail "(timeout) ptype Baz" } -} - - -# ptype Baz<int, 's'> - -send_gdb "ptype bazint\n" -gdb_expect { - -re "type = (class |)Baz<int,115> \\{\r\n\[ \t\]*public:\r\n\[ \t\]*int x;\r\n\[ \t\]*int t;\r\n\r\n\[ \t\]*int baz\\(int, int\\);\r\n\\}\r\n$gdb_prompt $" { pass "ptype bazint" } - -re "$gdb_prompt $" { fail "ptype bazint" } - timeout { fail "(timeout) ptype bazint" } -} - -# ptype Baz<char, 'a'> - -send_gdb "ptype bazint2\n" -gdb_expect { - -re "type = (class |)Baz<char,97> \\{\r\n\[ \t\]*public:\r\n\[ \t\]*int x;\r\n\[ \t\]*char t;\r\n\r\n\[ \t\]*char baz\\(int, char\\);\r\n\\}\r\n$gdb_prompt $" { pass "ptype bazint2" } - -re "$gdb_prompt $" { fail "ptype bazint2" } - timeout { fail "(timeout) ptype bazint2" } -} - -# Template Qux<T, int (*f)(int) > - -send_gdb "ptype Qux\n" -gdb_expect { - -re "type = template <(class |)T, (class |)sz> (class |)Qux \\{\r\n\[ \t\]*public:\r\n\[ \t\]*int x;\r\n\[ \t\]*T t;\r\n\\}\r\ntemplate instantiations:\r\n\[ \t\]*(class |)Qux<int,&string>\r\n\[ \t\]*(class |)Qux<char,&string>\r\n$gdb_prompt $" { pass "ptype Qux" } - -re "$gdb_prompt $" { fail "ptype Qux" } - timeout { fail "(timeout) ptype Qux" } -} - -# pt Qux<int,&string> - -send_gdb "ptype quxint\n" -gdb_expect { - -re "type = class Qux<int,&string> \\{\r\n\[ \t\]*public:\r\n\[ \t\]*int x;\r\n\[ \t\]*int t;\r\n\r\n\[ \t\]*int qux\\(int, int\\);\r\n\\}\r\n$gdb_prompt $" { pass "ptype quxint" } - -re "$gdb_prompt $" { fail "ptype quxint" } - timeout { fail "(timeout) ptype quxint" } -} - -# pt Qux<char,0> - -send_gdb "ptype quxint2\n" -gdb_expect { - -re "type = class Qux<char,&string> \\{\r\n\[ \t\]*public:\r\n\[ \t\]*int x;\r\n\[ \t\]*char t;\r\n\r\n\[ \t\]*char qux\\(int, char\\);\r\n\\}\r\n$gdb_prompt $" { pass "ptype quxint2" } - -re "$gdb_prompt $" { fail "ptype quxint2" } - timeout { fail "(timeout) ptype quxint2" } -} - -# Template Spec<T1, T2> - -send_gdb "ptype Spec\n" -gdb_expect { - -re "type = template <(class |)T1, (class |)T2> (class |)Spec \\{\r\n\[ \t\]*public:\r\n\[ \t\]*int x;\r\n\\}\r\ntemplate instantiations:\r\n\[ \t\]*(class |)Spec<int,int \\*>\r\n\[ \t\]*(class |)Spec<int,char>\r\n$gdb_prompt $" { pass "ptype Spec" } - -re "$gdb_prompt $" { fail "ptype Spec" } - timeout { fail "(timeout) ptype Spec" } -} - -# pt Spec<char,0> - -send_gdb "ptype siip\n" -gdb_expect { - -re "type = class Spec<int,int \\*> \\{\r\n\[ \t\]*public:\r\n\[ \t\]*int x;\r\n\r\n\[ \t\]*int spec\\(int \\*\\);\r\n\\}\r\n$gdb_prompt $" { pass "ptype siip" } - -re "$gdb_prompt $" { fail "ptype siip" } - timeout { fail "(timeout) ptype siip" } -} - -# pt Garply<int> - -send_gdb "ptype Garply<int>\n" -gdb_expect { - -re "type = class Garply<int> \\{\r\n\[ \t\]*public:\r\n\[ \t\]*int x;\r\n\[ \t\]*int t;\r\n\r\n\[ \t\]*int garply\\(int, int\\);\r\n\\}\r\n$gdb_prompt $" { pass "ptype Garply<int>" } - -re "$gdb_prompt $" { fail "ptype Garply<int>" } - timeout { fail "(timeout) ptype Garply<int>" } -} - -# ptype of nested template name - -send_gdb "ptype Garply<Garply<char> >\n" -gdb_expect { - -re "type = (class |)Garply<Garply<char> > \\{\r\n\[ \t\]*public:\r\n\[ \t\]*int x;\r\n\[ \t\]*(class |)Garply<char> t;\r\n\r\n\[ \t\]*(class |)Garply<char> garply\\(int, (class |)Garply<char>\\);\r\n\\}\r\n$gdb_prompt $" { pass "ptype Garply<Garply<char> >" } - -re "$gdb_prompt $" { fail "ptype Garply<Garply<char> >" } - timeout { fail "(timeout) ptype Garply<Garply<char> >" } -} - -# print out a function from a nested template name - -send_gdb "print Garply<Garply<char> >::garply\n" -gdb_expect { - -re "\\$\[0-9\]* = \\{(class |)Garply<char> \\((class |)Garply<Garply<char> > \\*, int, (class |)Garply<char>\\)\\} $hex <Garply<Garply<char>>::garply\\(int, (class |)Garply<char>\\)>\r\n$gdb_prompt $" { pass "print Garply<Garply<char> >::garply" } - -re ".*$gdb_prompt $" { fail "print Garply<Garply<char> >::garply" } - timeout { fail "print Garply<Garply<char> >::garply (timeout)" } -} - -# UNFORTUNATELY, "break Garply<Garply<char> >::garply" doesn't yet work. - -#send_gdb "break Garply<Garply<char> >::garply -#gdb_expect { -# -re "Breakpoint \[0-9\]* at $hex: file .*templates.cc, line.*\r\n$gdb_prompt $" { pass "break Garply<Garply<char> >::garply" } -# -re ".*$gdb_prompt $" { fail "break Garply<Garply<char> >::garply" } -# timeout { fail "break Garply<Garply<char> >::garply (timeout)" } -#} diff --git a/gdb/testsuite/gdb.hp/thr-lib.c b/gdb/testsuite/gdb.hp/thr-lib.c deleted file mode 100644 index 15cd16829e1..00000000000 --- a/gdb/testsuite/gdb.hp/thr-lib.c +++ /dev/null @@ -1,79 +0,0 @@ -/* Thread local in a library. -*/ -#include "thr-lib.h" -/* - * #define NTHREADS 4 - * #define NUM_ELEMS 12 - */ - -extern void* adder( void * ); - -pthread_mutex_t mutex; /* mutex for protecting global data total */ - -int numbers[NUM_ELEMS] = {5, 4, 3, 2, 1, 6, 7, 8, 9, 10, 12, 11}; -int total = 0; - -int debugger_saw[NTHREADS][ELEMS_PER_THREAD]; /* [4][3] */ -int the_code_saw[NTHREADS][ELEMS_PER_THREAD]; - -int get_number(i) -int i; -{ - /* sleep to force context switch to another thread in non-MP system - * so that TLS symbols are used by multiple threads concurrently - * in some way. - */ - sleep(1); - return numbers[i]; -} - -main() -{ - pthread_t thread[NTHREADS]; - void *status; - int i, j, ret; - - printf("== Thread: Test started\n"); - - for( i = 0; i < NTHREADS; i++ ) { - for( j = 0; j < ELEMS_PER_THREAD; j++ ) { - debugger_saw[i][j] = 0; - the_code_saw[i][j] = 0; - } - } - - ret = pthread_mutex_init(&mutex, NULL); - if (ret != 0) { - printf("== Thread: pthread_mutex_init() error: %d\n", ret); - exit(1); - } - - for (i=0; i < NTHREADS; i++) { - ret = pthread_create( &thread[i], - NULL, - adder, - (void *) i); - if (ret != 0) { - printf("== Thread: pthread_create() error: %d\n", ret); - exit(1); - } - printf("== Thread: thread %d created\n", i); - } - - for (i=0; i < NTHREADS; i++) { - pthread_join( thread[i], &status); - } - - printf("== Thread: total = %d\n", total); /* Expect "78" */ - - for( i = 0; i < NTHREADS; i++ ) { - for( j = 0; j < ELEMS_PER_THREAD; j++ ) { - printf( "== Thread: the debugger saw %d, the program saw %d\n", - debugger_saw[i][j], - the_code_saw[i][j] ); - } - } - - printf("== Thread: Test ended\n"); - exit(0); -} diff --git a/gdb/testsuite/gdb.hp/thr-lib.exp b/gdb/testsuite/gdb.hp/thr-lib.exp deleted file mode 100644 index 53bf4668749..00000000000 --- a/gdb/testsuite/gdb.hp/thr-lib.exp +++ /dev/null @@ -1,234 +0,0 @@ -# thr-lib.exp -- Expect script to test thread-local storage in lib -# Copyright (C) 1992 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ - -# Please email any bugs, comments, and/or additions to this file to: -# bug-gdb@prep.ai.mit.edu - -# use this to debug: -# -#log_user 1 - -# Thread stuff is _slow_; prepare for long waits. -# -# Further, this test has some "null" lines designed -# to consume output from gdb that was too late to be -# matched (sequence is "gdb_test" sends; timeout and -# on to next send; result finally comes in; mismatch). -# -# The null command is 'gdb_test "p \$pc" ".*" ""' -# NOTE: this command undoes any up/down stuff! -# -proc pre_timeout {} { - global timeout - - set timeout [expr "$timeout + 100"] -} - -proc post_timeout {} { - global timeout - global oldtimeout - - set timeout $oldtimeout - gdb_test "p \$pc" ".*" "" -} - -if $tracelevel then { - strace $tracelevel -} - -if { ![istarget "hppa*-*-hpux10.30"] && ![istarget "hppa*-*-hpux11.*"] } { - verbose "HPUX thread test ignored for non-hppa or pre-HP/UX-10.30 targets." - return 0 -} - -set testfile thr-lib -set srcfile ${srcdir}/${subdir}/${testfile}.c -set libsrc ${srcdir}/${subdir}/${testfile}lib.c -set mainobj ${objdir}/${testfile}.o -set libobj ${objdir}/${testfile}lib.o -set libsl ${objdir}/${subdir}/${testfile}lib.sl -set binfile ${objdir}/${subdir}/${testfile} - -# To build the executable we need to do this: -# -# cc -c -Aa -g -D_HPUX_SOURCE -D_REENTRANT +DA1.0 ./gdb.hp/thr-lib.c -# cc -c -Aa -g -D_HPUX_SOURCE -D_REENTRANT +DA1.0 +z ./gdb.hp/thr-liblib.c -# ld -o thread_local_in_lib.lib.sl -b ./gdb.hp/thr-liblib.o -# ld -a archive /opt/langtools/lib/crt0.o /opt/langtools/lib/end.o \ -# > thr-lib.o ./gdb.hp/thr-liblib.sl \ -# > -o thr-lib -lpthread -lc -# -remote_exec build "$CC ${srcfile} -c -Aa -g -D_HPUX_SOURCE -D_REENTRANT +DA1.0" -remote_exec build "$CC ${libsrc} -c -Aa -g -D_HPUX_SOURCE -D_REENTRANT +DA1.0 +z" -remote_exec build "ld -o ${libsl} -b ${libobj}" -remote_exec build "ld -a archive /opt/langtools/lib/crt0.o /opt/langtools/lib/end.o ${mainobj} ${libsl} -lpthread -lc -o ${binfile}" - -gdb_exit -gdb_start -gdb_reinitialize_dir $srcdir/$subdir - -set oldtimeout $timeout -#set timeout [expr "$timeout + 200"] -set oldverbose $verbose - -gdb_load ${binfile} - -# Here we go: test various things. -# -gdb_test "b adder" ".*Cannot break on adder without a running program.*" "shared loc, needs to run" -gdb_test "b main" ".*" "" -gdb_test "run" ".*Breakpoint 1, main.*" "" - -# Set a bp to inspect the results -# -gdb_test "b 67" ".*Breakpoint 2.*" "" - -# get to a point where we can set the collection breakpoint. -# -gdb_test "tb adder" ".*Breakpoint 3.*line 47.*" "set bp in shared lib" -gdb_test "c" ".*Switched to.*adder.*" "run to shared lib rtn" - -# Check locations of things -# -gdb_test "i ad sum" ".*Symbol \"sum\" is a thread-local variable.*offset.*from the thread base register mpsfu_high.*" "find sum" -gdb_test "i add x" ".*Symbol \"x\" is a thread-local variable.*" "find x" - -# Set a breakpoint later on in "adder" and -# collect the thread local's value. -# -gdb_test "b 61" ".*Breakpoint 4.*61.*" "Set collection bp" - -# extra check for grins, expect to hit "adder" in thread 2 first -# but could be wrong... -# -gdb_test "info thread" ".*\\\* 2.*thread.*thread.*" "two threads" - -# Can't use "gdb_test", as it uses "$gdb_prompt $" in -# testing the result. Our new prompt is ">", with -# no trailing space, so we can't do this just by -# changing "prompt". -# -# Anyway, I couldn't get expect to see the ">" prompt, -# during the command addition, so I just punted. -# _You_ are welcome to try, if you want! -# -send_gdb "commands 4\n" -gdb_expect { - -re "(.*Type commands.*\"end\"\.\r\n\>)" { - pass "start commands" - } - -re ".*$gdb_prompt $" { - fail "start commands" - } -} - -# Assume we're in commands-input mode. (Self-debug stuff turned off) -# -send_gdb "silent\n" -#send_gdb "p id\n" -#send_gdb "p j\n" -#send_gdb "p x\[j\]\n" -send_gdb "set debugger_saw\[id\]\[j\] = x\[j\]\n" -send_gdb "continue\n" -send_gdb "end\n" - -gdb_expect { - -re ".*set.*cont.*$gdb_prompt $" { - pass "add commands" - } - -re ".*$gdb_prompt $" { - fail "add commands" - } -} - -# Check out of paranoia. -# -send_gdb "info break 4\n" -gdb_expect { - -re ".*breakpoint.*set debugger_saw.*continue.*$gdb_prompt $" { - pass "Commands added" - } - -re ".*$gdb_prompt $" { - fail "Commands not added." - } -} - -# We now expect to run through the whole application -# Since this'll run for while, set a generous timeout. -# -set timeout [expr "$timeout + 30"] -send_gdb "c\n" -gdb_expect { - -re ".*Program exited normally.*$gdb_prompt $" { - fail "program runaway" - } - -re ".*Breakpoint 2.*67.*$gdb_prompt $" { - pass "get to end" - } - -re ".*$gdb_prompt $" { - fail "No progress?" - } - timeout { fail "timeout" } -} -set timeout $oldtimeout - -gdb_test "p debugger_saw" ".*5, 1, 9.*4, 6, 10.*3, 7, 12.*2, 8, 11.*" "check results" - -# Often only one misses; let's get detailed! -# -gdb_test "p debugger_saw\[0\]\[0\]" ".*= 5.*" "1" -gdb_test "p debugger_saw\[0\]\[1\]" ".*= 1.*" "2" -gdb_test "p debugger_saw\[0\]\[2\]" ".*= 9.*" "3" -gdb_test "p debugger_saw\[1\]\[0\]" ".*= 4.*" "4" -gdb_test "p debugger_saw\[1\]\[1\]" ".*= 6.*" "5" -gdb_test "p debugger_saw\[1\]\[2\]" ".*= 10.*" "6" -gdb_test "p debugger_saw\[2\]\[0\]" ".*= 3.*" "7" -gdb_test "p debugger_saw\[2\]\[1\]" ".*= 7.*" "8" -gdb_test "p debugger_saw\[2\]\[2\]" ".*= 12.*" "9" -gdb_test "p debugger_saw\[3\]\[0\]" ".*= 2.*" "10" -gdb_test "p debugger_saw\[3\]\[1\]" ".*= 8.*" "11" -gdb_test "p debugger_saw\[3\]\[2\]" ".*= 11.*" "12" - -send_gdb "i th\n" -gdb_expect { - -re ".* 1.*system thread.* 2.*system thread.*$gdb_prompt $" { - fail "Too many threads left" - } - -re ".*\\\* 1.*system thread.*main.*$gdb_prompt $" { - pass "Expect only base thread" - } - -re ".*No stack.*$gdb_prompt $" { - fail "runaway" - } - -re ".*$gdb_prompt $" { - fail "Hunh?" - } - timeout { fail "timeout" } -} - -gdb_test "c" ".*exited normally.*" "run to completion" - -# Done! -# -gdb_exit - -set timeout $oldtimeout -set verbose $oldverbose - -# execute_anywhere "rm -f ${binfile}" -# -return 0 diff --git a/gdb/testsuite/gdb.hp/thr-lib.h b/gdb/testsuite/gdb.hp/thr-lib.h deleted file mode 100644 index c9395dfd0ca..00000000000 --- a/gdb/testsuite/gdb.hp/thr-lib.h +++ /dev/null @@ -1,7 +0,0 @@ -#include <stdio.h> -#include <pthread.h> - -#define NTHREADS 4 -#define NUM_ELEMS 12 - -#define ELEMS_PER_THREAD (NUM_ELEMS/NTHREADS) diff --git a/gdb/testsuite/gdb.hp/thr-liblib.c b/gdb/testsuite/gdb.hp/thr-liblib.c deleted file mode 100644 index a3effcc111f..00000000000 --- a/gdb/testsuite/gdb.hp/thr-liblib.c +++ /dev/null @@ -1,92 +0,0 @@ -#include <stdio.h> - -/* Library code for thread local in lib test. -*/ -#include "thr-lib.h" - -extern pthread_mutex_t mutex; -extern int get_number(); -extern int total; -extern int the_code_saw[NTHREADS][ELEMS_PER_THREAD]; - -/* The debugger should see this without a declaration. - * - * extern int debugger_saw[NTHREADS][ELEMS_PER_THREAD]; - */ - -/* The actual thread locals. - */ -__thread int sum; -__thread int x[ ELEMS_PER_THREAD ]; /* [3] */ - -void sumup() -{ - int j; - - sum = 0; - for (j = 0; j < ELEMS_PER_THREAD; j++) { - sum += x[j]; - } - - if( sum == x[0] ) - /* It won't be "==", but this lets us set a breakpoint - * and look at the thread-local storage. - */ - sum++; - - x[0] = x[2]; /* Another no-op for debugger use */ -} - -void *adder( vid ) - void * vid; -{ - int id; - int i, j; - int ret; - - id = (int) vid; - - /* printf( "== Thread: Welcome to adder %d\n", id ); */ - - for (j = 0; j < ELEMS_PER_THREAD; j++) { - x[j] = 0; - } - - for (i = id, j = 0; i < NUM_ELEMS; i += NTHREADS, j++ ) { - - /* printf( "== Thread: id %d, i %d, j %d\n", id, i, j ); - fflush( stdout ); */ - - x[j] = get_number(i); /* {0,1,2,3} +0, +4, +8 */ - - /* Record for posterity; the debugger will gather - * the same data here, using "x[j]". - */ - the_code_saw[ id ][ j ] = x[j]; - - /* printf( "== Thread %d, sample %d, val %d, i %d\n", id, j, x[j],i ); - fflush( stdout ); */ - } - - sumup(); - /* printf("== Thread: adder %d contributes total %d\n", id, sum); */ - - /* protect global data */ - ret = pthread_mutex_lock(&mutex); - if (ret != 0) { - printf("== Thread: pthread_mutex_lock() error: %d\n", ret); - exit(1); - } - - total += sum; - - ret = pthread_mutex_unlock(&mutex); - if (ret != 0) { - printf("== Thread: pthread_mutex_unlock() error: %d\n", ret); - exit(1); - } - - if( NTHREADS != 4 || ELEMS_PER_THREAD != 3 || NUM_ELEMS != 12 ) { - printf( "** ERROR in test code **\n" ); - } -} diff --git a/gdb/testsuite/gdb.hp/thr-stg.exp b/gdb/testsuite/gdb.hp/thr-stg.exp deleted file mode 100644 index 19d69ee9297..00000000000 --- a/gdb/testsuite/gdb.hp/thr-stg.exp +++ /dev/null @@ -1,255 +0,0 @@ -# thread_local_stg.exp -- Expect script to test thread-local storage -# Copyright (C) 1992 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ - -# Please email any bugs, comments, and/or additions to this file to: -# bug-gdb@prep.ai.mit.edu - -# use this to debug: -# -#log_user 1 - -# Thread stuff is _slow_; prepare for long waits. -# -# Further, this test has some "null" lines designed -# to consume output from gdb that was too late to be -# matched (sequence is "gdb_test" sends; timeout and -# on to next send; result finally comes in; mismatch). -# -# The null command is 'gdb_test "p \$pc" ".*" ""' -# NOTE: this command undoes any up/down stuff! -# -proc pre_timeout {} { - global timeout - - set timeout [expr "$timeout + 100"] -} - -proc post_timeout {} { - global timeout - global oldtimeout - - set timeout $oldtimeout - gdb_test "p \$pc" ".*" "" -} - -if $tracelevel then { - strace $tracelevel -} - -if { ![istarget "hppa*-*-hpux10.30"] && ![istarget "hppa*-*-hpux11.*"] } { - verbose "HPUX thread test ignored for non-hppa or pre-HP/UX-10.30 targets." - return 0 -} - -set testfile start-stop -set srcfile ${srcdir}/${subdir}/${testfile}.c -set binfile ${objdir}/${subdir}/${testfile} - -if [get_compiler_info ${binfile}] { - return -1 -} - -# To build the executable we need to link against the thread library. -# -# cc -Ae -g -o start_stop -lpthread start_stop.c -# -#compile "${srcfile} -Ae -g -lpthread -o ${binfile}" - -if {$gcc_compiled == 0} { - set additional_flags "additional_flags=-Ae" -} else { - set additional_flags "" -} - -if { [gdb_compile "${srcdir}/${subdir}/${testfile}.c" "${binfile}.o" object [list debug $additional_flags]] != "" } { - gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail." -} -remote_exec build "ld /usr/ccs/lib/crt0.o ${binfile}.o -lcl -lpthread -lc /opt/langtools/lib/end.o -o ${binfile}" - -gdb_exit -gdb_start -gdb_reinitialize_dir $srcdir/$subdir - -gdb_load ${binfile} -if ![runto_main] then { - fail "Can't run to main" - return 0 -} - -set oldtimeout $timeout -#set timeout [expr "$timeout + 200"] -set oldverbose $verbose -#set verbose 40 - -gdb_test "b do_pass" ".*" "set do_pass bp" -gdb_test "c" ".*do_pass.*" "run to do_pass" -gdb_test "cle" ".*" "" - -# Set a breakpoint at the "spin" routine and -# collect the thread local's value. -# -gdb_test "b 67" ".*Breakpoint 3.*67.*" "Set bp" - -# Can't use "gdb_test", as it uses "$gdb_prompt $" in -# testing the result. Our new prompt is ">", with -# no trailing space, so we can't do this just by -# changing "prompt". -# -# Anyway, I couldn't get expect to see the ">" prompt, -# during the command addition, so I just punted. -# _You_ are welcome to try, if you want! -# -send_gdb "commands 3\n" -gdb_expect { - -re "(.*Type commands.*\"end\"\.\r\n\>)" { - pass "start commands" - } - -re ".*$gdb_prompt $" { - fail "start commands" - } -} - -# Assume we're in commands-input mode. -# -send_gdb "silent\n" -send_gdb "set val_debugger_saw\[me\] = a_thread_local\n" -send_gdb "continue\n" -send_gdb "end\n" - -gdb_expect { - -re ".*set.*cont.*$gdb_prompt $" { - pass "add commands" - } - -re ".*$gdb_prompt $" { - fail "add commands" - } -} - -# Check out of paranoia. -# -send_gdb "info break 3\n" -gdb_expect { - -re ".*breakpoint.*set val_debugger.*continue.*$gdb_prompt $" { - pass "Commands added" - } - -re ".*$gdb_prompt $" { - fail "Commands not added." - } -} - -# Set a bp to inspect the results -# -gdb_test "b 134" ".*Breakpoint 4.*" "" - -# We now expect to run through a whole pass, seeing -# specific results as noted below (actual gotten by -# running application with debugging print statements -# turned on. -# -# Since this'll run for while, set a generous timeout. -# -set timeout [expr "$timeout + 30"] -send_gdb "c\n" -gdb_expect { - -re ".*Program exited normally.*$gdb_prompt $" { - fail "program runaway" - } - -re ".*Pass 0 done.*Pass 1 done.*$gdb_prompt $" { - fail "program runaway 2" - } - -re ".*Pass 0 done.*Breakpoint 4.*134.*$gdb_prompt $" { - pass "get to end of first pass" - } - -re ".*$gdb_prompt $" { - fail "No progress?" - } - timeout { fail "timeout" } -} - -gdb_test "p val_debugger_saw" ".*0, 1, 3.*" "first pass" - -send_gdb "i th\n" -gdb_expect { - -re ".* 1.*system thread.* 2.*system thread.*$gdb_prompt $" { - fail "Too many threads left" - } - -re ".*\\\* 1 system thread.*$gdb_prompt $" { - pass "Expect only base thread" - } - -re ".*No stack.*$gdb_prompt $" { - fail "runaway" - } - -re ".*$gdb_prompt $" { - fail "Hunh?" - } - timeout { fail "timeout" } -} - -gdb_test "i b" ".*4.*breakpoint.*134.*hit.*1 time.*" "Expect 134 bp to exist" - -gdb_test "c" ".*Breakpoint 4.*134.*" "get to end of second pass" -gdb_test "p val_debugger_saw" ".*6, 10, 15.*" "second pass" - -gdb_test "c" ".*Breakpoint 4.*134.*" "get to end of third pass" -gdb_test "p val_debugger_saw" ".*21, 28, 36.*" "third pass" - -gdb_test "info bre 3" ".*already hit 9 times.*" "count of silent bp hits" - -# Start over and do some "info address" stuff -# -send_gdb "d\n" -gdb_expect { - -re ".*Delete all breakpoints.*$" { - send_gdb "y\n" - gdb_expect { - -re ".*$gdb_prompt $" { - pass "del bps" - } - } - } - -re ".*$gdb_prompt $" { fail "no question" } -} - -gdb_test "b spin" ".*Breakpoint 5.*" "" - -send_gdb "r\n" -gdb_expect { - -re ".*Start it from the beginning.*$" { - send_gdb "y\n" - gdb_expect { - -re ".*$gdb_prompt $" { pass "restart" } - } - } - -re ".*Starting program.*$gdb_prompt $" { - pass "restart after previous fails" - } - -re ".*$gdb_prompt $" { fail "Can't restart" } -} -gdb_test "i ad a_global" ".*a_global.*static storage at address.*" "i ad a_global" -gdb_test "i add me" ".*me.*local variable at frame offset.*" "i ad me" -gdb_test "i ad a_thread_local" ".*a_thread_local.*a thread-local variable at offset.*" "i ad a_thread_local" - -# Done! -# -gdb_exit - -set timeout $oldtimeout -set verbose $oldverbose - -# execute_anywhere "rm -f ${binfile}" -# -return 0 diff --git a/gdb/testsuite/gdb.hp/vforked-program.c b/gdb/testsuite/gdb.hp/vforked-program.c deleted file mode 100644 index 52c6cd2bbfd..00000000000 --- a/gdb/testsuite/gdb.hp/vforked-program.c +++ /dev/null @@ -1,6 +0,0 @@ -#include <stdio.h> - -main() -{ - printf("Hello from vforked_program...\n"); -} diff --git a/gdb/testsuite/gdb.hp/virtfun-hp.cc b/gdb/testsuite/gdb.hp/virtfun-hp.cc deleted file mode 100644 index 6552a6233fc..00000000000 --- a/gdb/testsuite/gdb.hp/virtfun-hp.cc +++ /dev/null @@ -1,192 +0,0 @@ -// Pls try the following program on virtual functions and try to do print on -// most of the code in main(). Almost none of them works ! - -// -// The inheritance structure is: -// -// V : VA VB -// A : (V) -// B : A -// D : AD (V) -// C : (V) -// E : B (V) D C -// - -class VA -{ -public: - int va; -}; - -class VB -{ -public: - int vb; - int fvb(); - virtual vvb(); -}; - -class V : public VA, public VB -{ -public: - int f(); - virtual vv(); - int w; -}; - -class A : virtual public V -{ -public: - virtual int f(); -private: - int a; -}; - -class B : public A -{ -public: - int f(); -private: - int b; -}; - -class C : public virtual V -{ -public: - int c; -}; - -class AD -{ -public: - virtual int vg() = 0; -}; - -class D : public AD, virtual public V -{ -public: - static void s(); - virtual int vg(); - virtual int vd(); - int fd(); - int d; -}; - -class E : public B, virtual public V, public D, public C -{ -public: - int f(); - int vg(); - int vv(); - int e; -}; - -D dd; -D* ppd = ⅆ -AD* pAd = ⅆ - -A a; -B b; -C c; -D d; -E e; -V v; -VB vb; - - -A* pAa = &a; -A* pAe = &e; - -B* pBe = &e; - -D* pDd = &d; -D* pDe = &e; - -V* pVa = &a; -V* pVv = &v; -V* pVe = &e; -V* pVd = &d; - -AD* pADe = &e; - -E* pEe = &e; - -VB* pVB = &vb; - -void init() -{ - a.vb = 1; - b.vb = 2; - c.vb = 3; - d.vb = 4; - e.vb = 5; - v.vb = 6; - vb.vb = 7; - - d.d = 1; - e.d = 2; -} - -extern "C" printf(const char *, ...); - -int all_count = 0; -int failed_count = 0; - -#define TEST(EXPR, EXPECTED) \ - ret = EXPR; \ - if (ret != EXPECTED) {\ - printf("Failed %s is %d, should be %d!\n", #EXPR, ret, EXPECTED); \ - failed_count++; } \ - all_count++; - -int ret; - -void test_calls() -{ - TEST(pAe->f(), 20); - TEST(pAa->f(), 1); - - TEST(pDe->vg(), 202); - TEST(pADe->vg(), 202); - TEST(pDd->vg(), 101); - - TEST(pEe->vvb(), 411); - - TEST(pVB->vvb(), 407); - - TEST(pBe->vvb(), 411); - TEST(pDe->vvb(), 411); - - TEST(pEe->vd(), 282); - TEST(pEe->fvb(), 311); - - TEST(pEe->D::vg(), 102); - printf("Did %d tests, of which %d failed.\n", all_count, failed_count); -} - -int main() -{ - - init(); - - e.w = 7; - e.vb = 11; - - test_calls(); - return 0; - -} - -int A::f() {return 1;} -int B::f() {return 2;} -void D::s() {} -int E::f() {return 20;} -int D::vg() {return 100+d;} -int E::vg() {return 200+d;} -int V::f() {return 600+w;} -int V::vv() {return 400+w;} -int E::vv() {return 450+w;} -int D::fd() {return 250+d;} -int D::vd() {return 280+d;} -int VB::fvb() {return 300+vb;} -int VB::vvb() {return 400+vb;} diff --git a/gdb/testsuite/gdb.hp/virtfun-hp.exp b/gdb/testsuite/gdb.hp/virtfun-hp.exp deleted file mode 100644 index f5b36375082..00000000000 --- a/gdb/testsuite/gdb.hp/virtfun-hp.exp +++ /dev/null @@ -1,773 +0,0 @@ -# Copyright (C) 1992, 1994, 1997 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - -# Please email any bugs, comments, and/or additions to this file to: -# bug-gdb@prep.ai.mit.edu - -# This file was written by Fred Fish. (fnf@cygnus.com) - -set ws "\[\r\n\t \]+" - -if $tracelevel then { - strace $tracelevel -} - -set testfile "virtfun-hp" -set srcfile ${testfile}.cc -set binfile ${objdir}/${subdir}/${testfile} - -if [get_compiler_info ${binfile} "c++"] { - return -1; -} - - -if {[skip_hp_tests $gcc_compiled]} then { continue } - -if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug c++}] != "" } { - gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail." -} - - -proc gdb_virtfunc_init {} { - global srcdir subdir binfile - global gdb_prompt - - gdb_reinitialize_dir $srcdir/$subdir - gdb_load $binfile - - send_gdb "set language c++\n" - gdb_expect -re "$gdb_prompt $" - send_gdb "set width 0\n" - gdb_expect -re "$gdb_prompt $" -} - -proc gdb_virtfunc_restart {} { - gdb_exit; - gdb_start; - gdb_virtfunc_init; - runto 'test_calls(void)'; -} - -# -# Test printing of the types of various classes. -# - -proc test_ptype_of_classes {} { - global gdb_prompt - global ws - - # This used to be a fail if it printed "struct" not "class". But - # since this struct doesn't use any special C++ features, it is - # considered right for GDB to print it as "struct". - send_gdb "ptype VA\n" - gdb_expect { - -re "type = (struct|class) VA \{(${ws}public:|)${ws}int va;${ws}VA & operator=\\(VA const &\\);${ws}VA\\(VA const &\\);${ws}VA\\(void\\);${ws}\}.*$gdb_prompt $" { - pass "ptype VA" - } - -re "type = (struct|class) VA \{(${ws}public:|)${ws}int va;((${ws}VA & operator=\\(VA const &\\);)|(${ws}VA\\(VA const &\\);)|(${ws}VA\\(void\\);))*${ws}\}.*$gdb_prompt $" { - pass "ptype VA (obsolescent gcc or gdb)" - } - -re ".*$gdb_prompt $" { - fail "ptype VA" - } - timeout { - fail "ptype VA (timeout)" - } - } - - send_gdb "ptype VB\n" - gdb_expect { - -re "type = class VB \{${ws}public:${ws}int vb;${ws}VB & operator=\\(VB const &\\);${ws}VB\\(VB const &\\);${ws}VB\\(void\\);${ws}int fvb\\(void\\);${ws}virtual int vvb\\(void\\);${ws}\}.*$gdb_prompt $" { - pass "ptype VB" - } - -re "type = class VB \{${ws}public:${ws}int vb;((${ws}VB & operator=\\(VB const &\\);)|(${ws}VB\\(VB const &\\);)|(${ws}VB\\(void\\);)|(${ws}int fvb\\(void\\);)|(${ws}virtual int vvb\\(void\\);))*${ws}\}.*$gdb_prompt $" { - pass "ptype VB (obsolescent gcc or gdb)" - } - -re ".*$gdb_prompt $" { - fail "ptype VB" - } - timeout { - fail "ptype VB (timeout)" - } - } - - send_gdb "ptype V\n" - gdb_expect { - -re "type = class V : public VA, public VB \{${ws}public:${ws}int w;${ws}V & operator=\\(V const &\\);${ws}V\\(V const &\\);${ws}V\\(void\\);${ws}int f\\(void\\);${ws}virtual int vv\\(void\\);${ws}\}\r\n$gdb_prompt $" { - pass "ptype V" - } - -re "type = class V : public VA, public VB \{${ws}public:${ws}int w;((${ws}V & operator=\\(V const &\\);)|(${ws}V\\(V const &\\);)|(${ws}V\\(void\\);)|(${ws}int f\\(void\\);)|(${ws}virtual int vv\\(void\\);))*${ws}\}\r\n$gdb_prompt $" { - pass "ptype V (obsolescent gcc or gdb)" - } - -re ".*$gdb_prompt $" { - fail "ptype V" - } - timeout { - fail "ptype V (timeout)" - } - } - - send_gdb "ptype A\n" - gdb_expect { - -re "type = class A : public virtual V \{\[\r\n\t \]+private:\[\r\n\t \]+int a;\[\r\n\t \]+public:\[\r\n\t \]+virtual int f\\(void\\);\[\r\n\t \]+\}\r\n$gdb_prompt $" { - pass "ptype A (aCC)" - } - -re "type = class A : public virtual V \{${ws}private:${ws}V \[*\]+_vb\[\\\$\.\]+V;${ws}int a;${ws}public:${ws}A & operator=\\(A const &\\);${ws}A\\(int, A const &\\);${ws}A\\(int\\);${ws}virtual int f\\(void\\);${ws}\}\r\n$gdb_prompt $" { - pass "ptype A" - } - -re "type = class A : public virtual V \{${ws}private:${ws}V \[*\]+_vb\[\\\$\.\]+V;${ws}int a;${ws}public:((${ws}A & operator=\\(A const &\\);)|(${ws}A\\(int, A const &\\);)|(${ws}A\\(int\\);)|(${ws}virtual int f\\(void\\);))*${ws}\}\r\n$gdb_prompt $" { - pass "ptype A (obsolescent gcc or gdb)" - } - -re "type = class A : public virtual V \{${ws}private:${ws}V \[*\]+_vb.FOO;${ws}int a;${ws}public:${ws}virtual int f.void.;${ws}\}\r\n$gdb_prompt $" { - # This happens because the type is defined only after it is - # too late. - fail "ptype A (known failure with gcc cygnus-2.4.5-930417)" - # Many of the rest of these tests have the same problem. - return 0 - } - -re ".*$gdb_prompt $" { - fail "ptype A" - } - timeout { - fail "ptype A (timeout)" - } - } - - send_gdb "ptype B\n" - gdb_expect { - -re "type = class B : public A \{${ws}private:${ws}int b;${ws}public:${ws}B & operator=\\(B const &\\);${ws}B\\(int, B const &\\);${ws}B\\(int\\);${ws}virtual int f\\(void\\);${ws}\}\r\n$gdb_prompt $" { - pass "ptype B" - } - -re "type = class B : public A \{${ws}private:${ws}int b;${ws}public:((${ws}B & operator=\\(B const &\\);)|(${ws}B\\(int, B const &\\);)|(${ws}B\\(int\\);)|(${ws}virtual int f\\(void\\);))*${ws}\}\r\n$gdb_prompt $" { - pass "ptype B (obsolescent gcc or gdb)" - } - -re ".*$gdb_prompt $" { - fail "ptype B" - } - timeout { - fail "ptype B (timeout)" - } - } - - send_gdb "ptype C\n" - gdb_expect { - -re "type = class C : public virtual V \{\[\r\n\t \]+public:\[\r\n\t \]+int c;\[\r\n\t \]+\}\r\n$gdb_prompt $" { - pass "ptype C (aCC)" - } - -re "type = class C : public virtual V \{${ws}private:${ws}V \[*\]+_vb.V;${ws}public:${ws}int c;${ws}C & operator=\\(C const &\\);${ws}C\\(int, C const &\\);${ws}C\\(int\\);${ws}\}\r\n$gdb_prompt $" { - pass "ptype C" - } - -re "type = class C : public virtual V \{${ws}private:${ws}V \[*\]+_vb.V;${ws}public:${ws}int c;((${ws}C & operator=\\(C const &\\);)|(${ws}C\\(int, C const &\\);)|(${ws}C\\(int\\);))*${ws}\}\r\n$gdb_prompt $" { - pass "ptype C (obsolescent gcc or gdb)" - } - -re ".*$gdb_prompt $" { - fail "ptype C" - } - timeout { - fail "ptype C (timeout)" - } - } - - send_gdb "ptype AD\n" - gdb_expect { - -re "type = class AD \{${ws}public:${ws}AD & operator=\\(AD const &\\);${ws}AD\\(AD const &\\);${ws}AD\\(void\\);${ws}virtual int vg\\(void\\);${ws}\}\r\n$gdb_prompt $" { - pass "ptype AD" - } - -re "type = class AD \{${ws}public:((${ws}AD & operator=\\(AD const &\\);)|(${ws}AD\\(AD const &\\);)|(${ws}AD\\(void\\);)|(${ws}virtual int vg\\(void\\);))*${ws}\}\r\n$gdb_prompt $" { - pass "ptype AD (obsolescent gcc or gdb)" - } - -re ".*$gdb_prompt $" { - fail "ptype AD" - } - timeout { - fail "ptype AD (timeout)" - } - } - - send_gdb "ptype D\n" - gdb_expect { - -re "type = class D : public AD, public virtual V \{\[\r\n\t \]+public:\[\r\n\t \]+int d;\[\r\n\t \]+static void s\\(void\\);\[\r\n\t \]+virtual int vg\\(void\\);\[\r\n\t \]+virtual int vd\\(void\\);\[\r\n\t \]+int fd\\(void\\);\[\r\n\t \]+\}\r\n$gdb_prompt $" { - pass "ptype D (aCC)" - } - -re "type = class D : public AD, public virtual V \{${ws}private:${ws}V \[*\]+_vb.V;${ws}public:${ws}int d;${ws}D & operator=\\(D const &\\);${ws}D\\(int, D const &\\);${ws}D\\(int\\);${ws}static void s\\(void\\);${ws}virtual int vg\\(void\\);${ws}virtual int vd\\(void\\);${ws}int fd\\(void\\);${ws}\}\r\n$gdb_prompt $" { - pass "ptype D" - } - -re "type = class D : public AD, public virtual V \{${ws}private:${ws}V \[*\]+_vb.V;${ws}public:${ws}int d;((${ws}D & operator=\\(D const &\\);)|(${ws}D\\(int, D const &\\);)|(${ws}D\\(int\\);)|(${ws}static void s\\(void\\);)|(${ws}virtual int vg\\(void\\);)|(${ws}virtual int vd\\(void\\);)|(${ws}int fd\\(void\\);))*${ws}\}\r\n$gdb_prompt $" { - pass "ptype D (obsolescent gcc or gdb)" - } - -re ".*$gdb_prompt $" { - fail "ptype D" - } - timeout { - fail "ptype D (timeout)" - } - } - - send_gdb "ptype E\n" - gdb_expect { - -re "type = class E : public B, public virtual V, public D, public C \{${ws}public:${ws}int e;${ws}E & operator=\\(E const &\\);${ws}E\\(int, E const &\\);${ws}E\\(int\\);${ws}virtual int f\\(void\\);${ws}virtual int vg\\(void\\);${ws}virtual int vv\\(void\\);${ws}\}\r\n$gdb_prompt $" { - pass "ptype E" - } - -re "type = class E : public B, public virtual V, public D, public C \{${ws}public:${ws}int e;((${ws}E & operator=\\(E const &\\);)|(${ws}E\\(int, E const &\\);)|(${ws}E\\(int\\);)|(${ws}virtual int f\\(void\\);)|(${ws}virtual int vg\\(void\\);)|(${ws}virtual int vv\\(void\\);))*${ws}\}\r\n$gdb_prompt $" { - pass "ptype E (obsolescent gcc or gdb)" - } - -re ".*$gdb_prompt $" { - fail "ptype E" - } - timeout { - fail "ptype E (timeout)" - } - } - - send_gdb "ptype dd\n" - gdb_expect { - -re "type = class D : public AD, public virtual V \{\[\r\n\t \]+public:\[\r\n\t \]+int d;\[\r\n\t \]+static void s\\(void\\);\[\r\n\t \]+virtual int vg\\(void\\);\[\r\n\t \]+virtual int vd\\(void\\);\[\r\n\t \]+int fd\\(void\\);\[\r\n\t \]+\}\r\n$gdb_prompt $" { - pass "ptype dd (aCC)" - } - -re "type = class D : public AD, public virtual V \{${ws}private:${ws}V \[*\]+_vb.V;${ws}public:${ws}int d;${ws}D & operator=\\(D const &\\);${ws}D\\(int, D const &\\);${ws}D\\(int\\);${ws}static void s\\(void\\);${ws}virtual int vg\\(void\\);${ws}virtual int vd\\(void\\);${ws}int fd\\(void\\);${ws}\}\r\n$gdb_prompt $" { - pass "ptype dd" - } - -re "type = class D : public AD, public virtual V \{${ws}private:${ws}V \[*\]+_vb.V;${ws}public:${ws}int d;((${ws}D & operator=\\(D const &\\);)|(${ws}D\\(int, D const &\\);)|(${ws}D\\(int\\);)|(${ws}static void s\\(void\\);)|(${ws}virtual int vg\\(void\\);)|(${ws}virtual int vd\\(void\\);)|(${ws}int fd\\(void\\);))*${ws}\}\r\n$gdb_prompt $" { - pass "ptype dd (obsolescent gcc or gdb)" - } - -re ".*$gdb_prompt $" { - fail "ptype dd" - } - timeout { - fail "ptype dd (timeout)" - } - } - - send_gdb "ptype ppd\n" - gdb_expect { - -re "type = class D : public AD, public virtual V \{\[\r\n\t \]+public:\[\r\n\t \]+int d;\[\r\n\t \]+static void s\\(void\\);\[\r\n\t \]+virtual int vg\\(void\\);\[\r\n\t \]+virtual int vd\\(void\\);\[\r\n\t \]+int fd\\(void\\);\[\r\n\t \]+\} \[*\]+\r\n$gdb_prompt $" { - pass "ptype ppd (aCC)" - } - -re "type = class D : public AD, public virtual V \{${ws}private:${ws}V \[*\]+_vb.V;${ws}public:${ws}int d;${ws}D & operator=\\(D const &\\);${ws}D\\(int, D const &\\);${ws}D\\(int\\);${ws}static void s\\(void\\);${ws}virtual int vg\\(void\\);${ws}virtual int vd\\(void\\);${ws}int fd\\(void\\);${ws}\} \[*\]+\r\n$gdb_prompt $" { - pass "ptype ppd" - } - -re "type = class D : public AD, public virtual V \{${ws}private:${ws}V \[*\]+_vb.V;${ws}public:${ws}int d;((${ws}D & operator=\\(D const &\\);)|(${ws}D\\(int, D const &\\);)|(${ws}D\\(int\\);)|(${ws}static void s\\(void\\);)|(${ws}virtual int vg\\(void\\);)|(${ws}virtual int vd\\(void\\);)|(${ws}int fd\\(void\\);))*${ws}\} \[*\]+\r\n$gdb_prompt $" { - pass "ptype ppd (obsolescent gcc or gdb)" - } - -re ".*$gdb_prompt $" { - fail "ptype ppd" - } - timeout { - fail "ptype ppd (timeout)" - } - } - - send_gdb "ptype pAd\n" - gdb_expect { - -re "type = class AD \{${ws}public:${ws}AD & operator=\\(AD const &\\);${ws}AD\\(AD const &\\);${ws}AD\\(void\\);${ws}virtual int vg\\(void\\);${ws}\} \[*\]+\r\n$gdb_prompt $" { - pass "ptype pAd" - } - -re "type = class AD \{${ws}public:((${ws}AD & operator=\\(AD const &\\);)|(${ws}AD\\(AD const &\\);)|(${ws}AD\\(void\\);)|(${ws}virtual int vg\\(void\\);))*${ws}\} \[*\]+\r\n$gdb_prompt $" { - pass "ptype pAd (obsolescent gcc or gdb)" - } - -re ".*$gdb_prompt $" { - fail "ptype pAd" - } - timeout { - fail "ptype pAd (timeout)" - } - } - - send_gdb "ptype a\n" - gdb_expect { - -re "type = class A : public virtual V \{\[\r\n\t \]+private:\[\r\n\t \]+int a;\[\r\n\t \]+public:\[\r\n\t \]+virtual int f\\(void\\);\[\r\n\t \]+\}\r\n$gdb_prompt $" { - pass "ptype a (aCC)" - } - -re "type = class A : public virtual V \{${ws}private:${ws}V \[*\]+_vb.V;${ws}int a;${ws}public:${ws}A & operator=\\(A const &\\);${ws}A\\(int, A const &\\);${ws}A\\(int\\);${ws}virtual int f\\(void\\);${ws}\}\r\n$gdb_prompt $" { - pass "ptype a" - } - -re "type = class A : public virtual V \{${ws}private:${ws}V \[*\]+_vb.V;${ws}int a;${ws}public:((${ws}A & operator=\\(A const &\\);)|(${ws}A\\(int, A const &\\);)|(${ws}A\\(int\\);)|(${ws}virtual int f\\(void\\);))*${ws}\}\r\n$gdb_prompt $" { - pass "ptype a (obsolescent gcc or gdb)" - } - -re ".*$gdb_prompt $" { - fail "ptype a" - } - timeout { - fail "ptype a (timeout)" - } - } - - send_gdb "ptype b\n" - gdb_expect { - -re "type = class B : public A \{${ws}private:${ws}int b;${ws}public:${ws}B & operator=\\(B const &\\);${ws}B\\(int, B const &\\);${ws}B\\(int\\);${ws}virtual int f\\(void\\);${ws}\}\r\n$gdb_prompt $" { - pass "ptype b" - } - -re "type = class B : public A \{${ws}private:${ws}int b;${ws}public:((${ws}B & operator=\\(B const &\\);)|(${ws}B\\(int, B const &\\);)|(${ws}B\\(int\\);)|(${ws}virtual int f\\(void\\);))*${ws}\}\r\n$gdb_prompt $" { - pass "ptype b (obsolescent gcc or gdb)" - } - -re ".*$gdb_prompt $" { - fail "ptype b" - } - timeout { - fail "ptype b (timeout)" - } - } - - send_gdb "ptype c\n" - gdb_expect { - -re "type = class C : public virtual V \{\[\r\n\t \]+public:\[\r\n\t \]+int c;\[\r\n\t \]+\}\r\n$gdb_prompt $" { - pass "ptype c (aCC)" - } - -re "type = class C : public virtual V \{${ws}private:${ws}V \[*\]+_vb.V;${ws}public:${ws}int c;${ws}C & operator=\\(C const &\\);${ws}C\\(int, C const &\\);${ws}C\\(int\\);${ws}\}\r\n$gdb_prompt $" { - pass "ptype c" - } - -re "type = class C : public virtual V \{${ws}private:${ws}V \[*\]+_vb.V;${ws}public:${ws}int c;((${ws}C & operator=\\(C const &\\);)|(${ws}C\\(int, C const &\\);)|(${ws}C\\(int\\);))*${ws}\}\r\n$gdb_prompt $" { - pass "ptype c (obsolescent gcc or gdb)" - } - -re ".*$gdb_prompt $" { - fail "ptype c" - } - timeout { - fail "ptype c (timeout)" - } - } - - send_gdb "ptype d\n" - gdb_expect { - -re "type = class D : public AD, public virtual V \{\[\r\n\t \]+public:\[\r\n\t \]+int d;\[\r\n\t \]+static void s\\(void\\);\[\r\n\t \]+virtual int vg\\(void\\);\[\r\n\t \]+virtual int vd\\(void\\);\[\r\n\t \]+int fd\\(void\\);\[\r\n\t \]+\}\r\n$gdb_prompt $" { - pass "ptype d (aCC)" - } - -re "type = class D : public AD, public virtual V \{${ws}private:${ws}V \[*\]+_vb.V;${ws}public:${ws}int d;${ws}D & operator=\\(D const &\\);${ws}D\\(int, D const &\\);${ws}D\\(int\\);${ws}static void s\\(void\\);${ws}virtual int vg\\(void\\);${ws}virtual int vd\\(void\\);${ws}int fd\\(void\\);${ws}\}\r\n$gdb_prompt $" { - pass "ptype d" - } - -re "type = class D : public AD, public virtual V \{${ws}private:${ws}V \[*\]+_vb.V;${ws}public:${ws}int d;((${ws}D & operator=\\(D const &\\);)|(${ws}D\\(int, D const &\\);)|(${ws}D\\(int\\);)|(${ws}static void s\\(void\\);)|(${ws}virtual int vg\\(void\\);)|(${ws}virtual int vd\\(void\\);)|(${ws}int fd\\(void\\);))*${ws}\}\r\n$gdb_prompt $" { - pass "ptype d (obsolescent gcc or gdb)" - } - -re ".*$gdb_prompt $" { - fail "ptype d" - } - timeout { - fail "ptype d (timeout)" - } - } - - send_gdb "ptype e\n" - gdb_expect { - -re "type = class E : public B, public virtual V, public D, public C \{${ws}public:${ws}int e;${ws}E & operator=\\(E const &\\);${ws}E\\(int, E const &\\);${ws}E\\(int\\);${ws}virtual int f\\(void\\);${ws}virtual int vg\\(void\\);${ws}virtual int vv\\(void\\);${ws}\}\r\n$gdb_prompt $" { - pass "ptype e" - } - -re "type = class E : public B, public virtual V, public D, public C \{${ws}public:${ws}int e;((${ws}E & operator=\\(E const &\\);)|(${ws}E\\(int, E const &\\);)|(${ws}E\\(int\\);)|(${ws}virtual int f\\(void\\);)|(${ws}virtual int vg\\(void\\);)|(${ws}virtual int vv\\(void\\);))*${ws}\}\r\n$gdb_prompt $" { - pass "ptype e (obsolescent gcc or gdb)" - } - -re ".*$gdb_prompt $" { - fail "ptype e" - } - timeout { - fail "ptype e (timeout)" - } - } - - send_gdb "ptype v\n" - gdb_expect { - -re "type = class V : public VA, public VB \{${ws}public:${ws}int w;${ws}V & operator=\\(V const &\\);${ws}V\\(V const &\\);${ws}V\\(void\\);${ws}int f\\(void\\);${ws}virtual int vv\\(void\\);${ws}\}\r\n$gdb_prompt $" { - pass "ptype v" - } - -re "type = class V : public VA, public VB \{${ws}public:${ws}int w;((${ws}V & operator=\\(V const &\\);)|(${ws}V\\(V const &\\);)|(${ws}V\\(void\\);)|(${ws}int f\\(void\\);)|(${ws}virtual int vv\\(void\\);))*${ws}\}\r\n$gdb_prompt $" { - pass "ptype v (obsolescent gcc or gdb)" - } - -re ".*$gdb_prompt $" { - fail "ptype v" - } - timeout { - fail "ptype v (timeout)" - } - } - - send_gdb "ptype vb\n" - gdb_expect { - -re "type = class VB \{${ws}public:${ws}int vb;${ws}VB & operator=\\(VB const &\\);${ws}VB\\(VB const &\\);${ws}VB\\(void\\);${ws}int fvb\\(void\\);${ws}virtual int vvb\\(void\\);${ws}\}\r\n$gdb_prompt $" { - pass "ptype vb" - } - -re "type = class VB \{${ws}public:${ws}int vb;((${ws}VB & operator=\\(VB const &\\);)|(${ws}VB\\(VB const &\\);)|(${ws}VB\\(void\\);)|(${ws}int fvb\\(void\\);)|(${ws}virtual int vvb\\(void\\);))*${ws}\}\r\n$gdb_prompt $" { - pass "ptype vb (obsolescent gcc or gdb)" - } - -re ".*$gdb_prompt $" { - fail "ptype vb" - } - timeout { - fail "ptype vb (timeout)" - } - } - - send_gdb "ptype pAa\n" - gdb_expect { - -re "type = class A : public virtual V \{\[\r\n\t \]+private:\[\r\n\t \]+int a;\[\r\n\t \]+public:\[\r\n\t \]+virtual int f\\(void\\);\[\r\n\t \]+\} \[*\]+\r\n$gdb_prompt $" { - pass "ptype pAa (aCC)" - } - -re "type = class A : public virtual V \{${ws}private:${ws}V \[*\]+_vb.V;${ws}int a;${ws}public:${ws}A & operator=\\(A const &\\);${ws}A\\(int, A const &\\);${ws}A\\(int\\);${ws}virtual int f\\(void\\);${ws}\} \[*\]+\r\n$gdb_prompt $" { - pass "ptype pAa" - } - -re "type = class A : public virtual V \{${ws}private:${ws}V \[*\]+_vb.V;${ws}int a;${ws}public:((${ws}A & operator=\\(A const &\\);)|(${ws}A\\(int, A const &\\);)|(${ws}A\\(int\\);)|(${ws}virtual int f\\(void\\);))*${ws}\} \[*\]+\r\n$gdb_prompt $" { - pass "ptype pAa (obsolescent gcc or gdb)" - } - -re ".*$gdb_prompt $" { - fail "ptype pAa" - } - timeout { - fail "ptype pAa (timeout)" - } - } - - send_gdb "ptype pAe\n" - gdb_expect { - -re "type = class A : public virtual V \{\[\r\n\t \]+private:\[\r\n\t \]+int a;\[\r\n\t \]+public:\[\r\n\t \]+virtual int f\\(void\\);\[\r\n\t \]+\} \[*\]+\r\n$gdb_prompt $" { - pass "ptype pAe (aCC)" - } - -re "type = class A : public virtual V \{${ws}private:${ws}V \[*\]+_vb.V;${ws}int a;${ws}public:${ws}A & operator=\\(A const &\\);${ws}A\\(int, A const &\\);${ws}A\\(int\\);${ws}virtual int f\\(void\\);${ws}\} \[*\]+\r\n$gdb_prompt $" { - pass "ptype pAe" - } - -re "type = class A : public virtual V \{${ws}private:${ws}V \[*\]+_vb.V;${ws}int a;${ws}public:((${ws}A & operator=\\(A const &\\);)|(${ws}A\\(int, A const &\\);)|(${ws}A\\(int\\);)|(${ws}virtual int f\\(void\\);))*${ws}\} \[*\]+\r\n$gdb_prompt $" { - pass "ptype pAe (obsolescent gcc or gdb)" - } - -re ".*$gdb_prompt $" { - fail "ptype pAe" - } - timeout { - fail "ptype pAe (timeout)" - } - } - - send_gdb "ptype pBe\n" - gdb_expect { - -re "type = class B : public A \{${ws}private:${ws}int b;${ws}public:${ws}B & operator=\\(B const &\\);${ws}B\\(int, B const &\\);${ws}B\\(int\\);${ws}virtual int f\\(void\\);${ws}\} \[*\]+\r\n$gdb_prompt $" { - pass "ptype pBe" - } - -re "type = class B : public A \{${ws}private:${ws}int b;${ws}public:((${ws}B & operator=\\(B const &\\);)|(${ws}B\\(int, B const &\\);)|(${ws}B\\(int\\);)|(${ws}virtual int f\\(void\\);))*${ws}\} \[*\]+\r\n$gdb_prompt $" { - pass "ptype pBe (obsolescent gcc or gdb)" - } - -re ".*$gdb_prompt $" { - fail "ptype pBe" - } - timeout { - fail "ptype pBe (timeout)" - } - } - - send_gdb "ptype pDd\n" - gdb_expect { - -re "type = class D : public AD, public virtual V \{\[\r\n\t \]+public:\[\r\n\t \]+int d;\[\r\n\t \]+static void s\\(void\\);\[\r\n\t \]+virtual int vg\\(void\\);\[\r\n\t \]+virtual int vd\\(void\\);\[\r\n\t \]+int fd\\(void\\);\[\r\n\t \]+\} \[*\]+\r\n$gdb_prompt $" { - pass "ptype pDd (aCC)" - } - -re "type = class D : public AD, public virtual V \{${ws}private:${ws}V \[*\]+_vb.V;${ws}public:${ws}int d;${ws}D & operator=\\(D const &\\);${ws}D\\(int, D const &\\);${ws}D\\(int\\);${ws}static void s\\(void\\);${ws}virtual int vg\\(void\\);${ws}virtual int vd\\(void\\);${ws}int fd\\(void\\);${ws}\} \[*\]+\r\n$gdb_prompt $" { - pass "ptype pDd" - } - -re "type = class D : public AD, public virtual V \{${ws}private:${ws}V \[*\]+_vb.V;${ws}public:${ws}int d;((${ws}D & operator=\\(D const &\\);)|(${ws}D\\(int, D const &\\);)|(${ws}D\\(int\\);)|(${ws}static void s\\(void\\);)|(${ws}virtual int vg\\(void\\);)|(${ws}virtual int vd\\(void\\);)|(${ws}int fd\\(void\\);))*${ws}\} \[*\]+\r\n$gdb_prompt $" { - pass "ptype pDd (obsolescent gcc or gdb)" - } - -re ".*$gdb_prompt $" { - fail "ptype pDd" - } - timeout { - fail "ptype pDd (timeout)" - } - } - - send_gdb "ptype pDe\n" - gdb_expect { - -re "type = class D : public AD, public virtual V \{\[\r\n\t \]+public:\[\r\n\t \]+int d;\[\r\n\t \]+static void s\\(void\\);\[\r\n\t \]+virtual int vg\\(void\\);\[\r\n\t \]+virtual int vd\\(void\\);\[\r\n\t \]+int fd\\(void\\);\[\r\n\t \]+\} \[*\]+\r\n$gdb_prompt $" { - pass "ptype pDe (aCC)" - } - -re "type = class D : public AD, public virtual V \{${ws}private:${ws}V \[*\]+_vb.V;${ws}public:${ws}int d;${ws}D & operator=\\(D const &\\);${ws}D\\(int, D const &\\);${ws}D\\(int\\);${ws}static void s\\(void\\);${ws}virtual int vg\\(void\\);${ws}virtual int vd\\(void\\);${ws}int fd\\(void\\);${ws}\} \[*\]+\r\n$gdb_prompt $" { - pass "ptype pDe" - } - -re "type = class D : public AD, public virtual V \{${ws}private:${ws}V \[*\]+_vb.V;${ws}public:${ws}int d;((${ws}D & operator=\\(D const &\\);)|(${ws}D\\(int, D const &\\);)|(${ws}D\\(int\\);)|(${ws}static void s\\(void\\);)|(${ws}virtual int vg\\(void\\);)|(${ws}virtual int vd\\(void\\);)|(${ws}int fd\\(void\\);))*${ws}\} \[*\]+\r\n$gdb_prompt $" { - pass "ptype pDe (obsolescent gcc or gdb)" - } - -re ".*$gdb_prompt $" { - fail "ptype pDe" - } - timeout { - fail "ptype pDe (timeout)" - } - } - - send_gdb "ptype pVa\n" - gdb_expect { - -re "type = class V : public VA, public VB \{${ws}public:${ws}int w;${ws}V & operator=\\(V const &\\);${ws}V\\(V const &\\);${ws}V\\(void\\);${ws}int f\\(void\\);${ws}virtual int vv\\(void\\);${ws}\} \[*\]+\r\n$gdb_prompt $" { - pass "ptype pVa" - } - -re "type = class V : public VA, public VB \{${ws}public:${ws}int w;((${ws}V & operator=\\(V const &\\);)|(${ws}V\\(V const &\\);)|(${ws}V\\(void\\);)|(${ws}int f\\(void\\);)|(${ws}virtual int vv\\(void\\);))*${ws}\} \[*\]+\r\n$gdb_prompt $" { - pass "ptype pVa (obsolescent gcc or gdb)" - } - -re ".*$gdb_prompt $" { - fail "ptype pVa" - } - timeout { - fail "ptype pVa (timeout)" - } - } - - send_gdb "ptype pVv\n" - gdb_expect { - -re "type = class V : public VA, public VB \{${ws}public:${ws}int w;${ws}V & operator=\\(V const &\\);${ws}V\\(V const &\\);${ws}V\\(void\\);${ws}int f\\(void\\);${ws}virtual int vv\\(void\\);${ws}\} \[*\]+\r\n$gdb_prompt $" { - pass "ptype pVv" - } - -re "type = class V : public VA, public VB \{${ws}public:${ws}int w;((${ws}V & operator=\\(V const &\\);)|(${ws}V\\(V const &\\);)|(${ws}V\\(void\\);)|(${ws}int f\\(void\\);)|(${ws}virtual int vv\\(void\\);))*${ws}\} \[*\]+\r\n$gdb_prompt $" { - pass "ptype pVv (obsolescent gcc or gdb)" - } - -re ".*$gdb_prompt $" { - fail "ptype pVv" - } - timeout { - fail "ptype pVv (timeout)" - } - } - - send_gdb "ptype pVe\n" - gdb_expect { - -re "type = class V : public VA, public VB \{${ws}public:${ws}int w;${ws}V & operator=\\(V const &\\);${ws}V\\(V const &\\);${ws}V\\(void\\);${ws}int f\\(void\\);${ws}virtual int vv\\(void\\);${ws}\} \[*\]+\r\n$gdb_prompt $" { - pass "ptype pVe" - } - -re "type = class V : public VA, public VB \{${ws}public:${ws}int w;((${ws}V & operator=\\(V const &\\);)|(${ws}V\\(V const &\\);)|(${ws}V\\(void\\);)|(${ws}int f\\(void\\);)|(${ws}virtual int vv\\(void\\);))*${ws}\} \[*\]+\r\n$gdb_prompt $" { - pass "ptype pVe (obsolescent gcc or gdb)" - } - -re ".*$gdb_prompt $" { - fail "ptype pVe" - } - timeout { - fail "ptype pVe (timeout)" - } - } - - send_gdb "ptype pVd\n" - gdb_expect { - -re "type = class V : public VA, public VB \{${ws}public:${ws}int w;${ws}V & operator=\\(V const &\\);${ws}V\\(V const &\\);${ws}V\\(void\\);${ws}int f\\(void\\);${ws}virtual int vv\\(void\\);${ws}\} \[*\]+\r\n$gdb_prompt $" { - pass "ptype pVd" - } - -re "type = class V : public VA, public VB \{${ws}public:${ws}int w;((${ws}V & operator=\\(V const &\\);)|(${ws}V\\(V const &\\);)|(${ws}V\\(void\\);)|(${ws}int f\\(void\\);)|(${ws}virtual int vv\\(void\\);))*${ws}\} \[*\]+\r\n$gdb_prompt $" { - pass "ptype pVd (obsolescent gcc or gdb)" - } - -re ".*$gdb_prompt $" { - fail "ptype pVd" - } - timeout { - fail "ptype pVd (timeout)" - } - } - - send_gdb "ptype pADe\n" - gdb_expect { - -re "type = class AD \{${ws}public:${ws}AD & operator=\\(AD const &\\);${ws}AD\\(AD const &\\);${ws}AD\\(void\\);${ws}virtual int vg\\(void\\);${ws}\} \[*\]+\r\n$gdb_prompt $" { - pass "ptype pADe" - } - -re "type = class AD \{${ws}public:((${ws}AD & operator=\\(AD const &\\);)|(${ws}AD\\(AD const &\\);)|(${ws}AD\\(void\\);)|(${ws}virtual int vg\\(void\\);))*${ws}\} \[*\]+\r\n$gdb_prompt $" { - pass "ptype pADe (obsolescent gcc or gdb)" - } - -re ".*$gdb_prompt $" { - fail "ptype pADe" - } - timeout { - fail "ptype pADe (timeout)" - } - } - - send_gdb "ptype pEe\n" - gdb_expect { - -re "type = class E : public B, public virtual V, public D, public C \{${ws}public:${ws}int e;${ws}E & operator=\\(E const &\\);${ws}E\\(int, E const &\\);${ws}E\\(int\\);${ws}virtual int f\\(void\\);${ws}virtual int vg\\(void\\);${ws}virtual int vv\\(void\\);${ws}\} \[*\]+\r\n$gdb_prompt $" { - pass "ptype pEe" - } - -re "type = class E : public B, public virtual V, public D, public C \{${ws}public:${ws}int e;((${ws}E & operator=\\(E const &\\);)|(${ws}E\\(int, E const &\\);)|(${ws}E\\(int\\);)|(${ws}virtual int f\\(void\\);)|(${ws}virtual int vg\\(void\\);)|(${ws}virtual int vv\\(void\\);))*${ws}\} \[*\]+\r\n$gdb_prompt $" { - pass "ptype pEe (obsolescent gcc or gdb)" - } - -re ".*$gdb_prompt $" { - fail "ptype pEe" - } - timeout { - fail "ptype pEe (timeout)" - } - } - - send_gdb "ptype pVB\n" - gdb_expect { - -re "type = class VB \{${ws}public:${ws}int vb;${ws}VB & operator=\\(VB const &\\);${ws}VB\\(VB const &\\);${ws}VB\\(void\\);${ws}int fvb\\(void\\);${ws}virtual int vvb\\(void\\);${ws}\} \[*\]+\r\n$gdb_prompt $" { - pass "ptype pVB" - } - -re "type = class VB \{${ws}public:${ws}int vb;((${ws}VB & operator=\\(VB const &\\);)|(${ws}VB\\(VB const &\\);)|(${ws}VB\\(void\\);)|(${ws}int fvb\\(void\\);)|(${ws}virtual int vvb\\(void\\);))*${ws}\} \[*\]+\r\n$gdb_prompt $" { - pass "ptype pVB (obsolescent gcc or gdb)" - } - -re ".*$gdb_prompt $" { - fail "ptype pVB" - } - timeout { - fail "ptype pVB (timeout)" - } - } -} - -# -# Test calling of virtual functions. -# - -proc test_virtual_calls {} { - global gdb_prompt - global GDB - - if [target_info exists gdb,cannot_call_functions] { - setup_xfail "*-*-*" 2416 - fail "This target can not call functions" - return 0 - } - - send_gdb "print pAe->f()\n" - gdb_expect { - -re ".* = 20\r\n$gdb_prompt $" { pass "print pAe->f()" } - -re "Cannot invoke functions on this machine.*$gdb_prompt $" { - fail "print pAe->f() (cannot invoke functions, skipping virtual calls)" - return 0 - } - -re ".*Cannot access memory at address 0x8.*$gdb_prompt $" { - fail "print pAe->f() \ -(known failure with gcc cygnus-2.4.5-930417, skipping virtual calls)" - return 0 - } - -re ".*$gdb_prompt $" { fail "print pAe->f()" } - timeout { fail "print pAe->f() (timeout)" } - eof { fail "print pAe->f() ($GDB dumped core) (FIXME)" ; gdb_virtfunc_restart; return } - } - - send_gdb "print pAa->f()\n" - gdb_expect { - -re ".* = 1\r\n$gdb_prompt $" { pass "print pAa->f()" } - -re ".*$gdb_prompt $" { fail "print pAa->f()" } - timeout { fail "print pAa->f() (timeout)" } - eof { fail "print pAa->f() ($GDB dumped core) (FIXME)" ; gdb_virtfunc_restart; return } - } - - send_gdb "print pDe->vg()\n" -# setup_xfail "*-*-*" - gdb_expect { - -re ".* = 202\r\n$gdb_prompt $" { pass "print pDe->vg()" } - -re ".*$gdb_prompt $" { fail "print pDe->vg()" } - timeout { fail "print pDe->vg() (timeout)" } - eof { fail "print pDe->vg() ($GDB dumped core) (FIXME)" ; gdb_virtfunc_restart; return } - } - - send_gdb "print pADe->vg()\n" - gdb_expect { - -re ".* = 202\r\n$gdb_prompt $" { pass "print pADe->vg()" } - -re ".*$gdb_prompt $" { fail "print pADe->vg()" } - timeout { fail "print pADe->vg() (timeout)" } - eof { fail "print pADe->vg() ($GDB dumped core) (FIXME)" ; gdb_virtfunc_restart; return } - } - - send_gdb "print pDd->vg()\n" -# setup_xfail "*-*-*" - gdb_expect { - -re ".* = 101\r\n$gdb_prompt $" { pass "print pDd->vg()" } - -re ".*$gdb_prompt $" { fail "print pDd->vg()" } - timeout { fail "print pDd->vg() (timeout)" } - eof { fail "print pDd->vg() ($GDB dumped core) (FIXME)" ; gdb_virtfunc_restart; return } - } - - send_gdb "print pEe->vvb()\n" -# setup_xfail "*-*-*" - gdb_expect { - -re ".* = 411\r\n$gdb_prompt $" { pass "print pEe->vvb()" } - -re ".*$gdb_prompt $" { fail "print pEe->vvb()" } - timeout { fail "print pEe->vvb() (timeout)" } - eof { fail "print pEe->vvb() ($GDB dumped core) (FIXME)" ; gdb_virtfunc_restart; return } - } - - send_gdb "print pVB->vvb()\n" - gdb_expect { - -re ".* = 407\r\n$gdb_prompt $" { pass "print pVB->vvb()" } - -re ".*$gdb_prompt $" { fail "print pVB->vvb()" } - timeout { fail "print pVB->vvb() (timeout)" } - eof { fail "print pVB->vvb() ($GDB dumped core) (FIXME)" ; gdb_virtfunc_restart; return } - } - - send_gdb "print pBe->vvb()\n" -# setup_xfail "*-*-*" - gdb_expect { - -re ".* = 411\r\n$gdb_prompt $" { pass "print pBe->vvb()" } - -re ".*$gdb_prompt $" { fail "print pBe->vvb()" } - timeout { fail "print pBe->vvb() (timeout)" } - eof { fail "print pBe->vvb() ($GDB dumped core) (FIXME)" ; gdb_virtfunc_restart; return } - } - - send_gdb "print pDe->vvb()\n" -# setup_xfail "*-*-*" - gdb_expect { - -re ".* = 411\r\n$gdb_prompt $" { pass "print pDe->vvb()" } - -re ".*$gdb_prompt $" { fail "print pDe->vvb()" } - timeout { fail "print pDe->vvb() (timeout)" } - eof { fail "print pDe->vvb() ($GDB dumped core) (FIXME)" ; gdb_virtfunc_restart; return } - } - - send_gdb "print pEe->vd()\n" -# setup_xfail "*-*-*" - gdb_expect { - -re ".* = 282\r\n$gdb_prompt $" { pass "print pEe->vd()" } - -re ".*$gdb_prompt $" { fail "print pEe->vd()" } - timeout { fail "print pEe->vd() (timeout)" } - eof { fail "print pEe->vd() ($GDB dumped core) (FIXME)" ; gdb_virtfunc_restart; return } - } - - send_gdb "print pEe->fvb()\n" -# setup_xfail "*-*-*" - gdb_expect { - -re ".* = 311\r\n$gdb_prompt $" { pass "print pEe->fvb()" } - -re ".*$gdb_prompt $" { fail "print pEe->fvb()" } - timeout { fail "print pEe->fvb() (timeout)" } - eof { fail "print pEe->fvb() ($GDB dumped core) (FIXME)" ; gdb_virtfunc_restart; return } - } - - send_gdb "print pEe->D::vg()\n" - setup_xfail "*-*-*" - gdb_expect { - -re ".* = 102\r\n$gdb_prompt $" { pass "print pEe->D::vg()" } - -re ".*$gdb_prompt $" { fail "print pEe->D::vg()" } - timeout { fail "print pEe->D::vg() (timeout)" } - eof { fail "print pEe->D::vg() ($GDB dumped core) (FIXME)" ; gdb_virtfunc_restart; return } - } -} - -proc do_tests {} { - global prms_id - global bug_id - - set prms_id 0 - set bug_id 0 - - gdb_start; - gdb_virtfunc_init; - - # Get the debug format for the compiled test case. If that - # format is DWARF 1 then just skip all the tests since none of - # them will pass. - - if [ runto_main ] then { - get_debug_format - if [ setup_xfail_format "DWARF 1" ] then { - fail "C++ tests skipped due to limited C++ support in DWARF 1 debug format" - return - } - clear_xfail "*-*-*" - } - - test_ptype_of_classes - - if [ runto 'test_calls(void)' ] then { - test_virtual_calls - } -} - -do_tests diff --git a/gdb/testsuite/gdb.hp/watch-cmd.exp b/gdb/testsuite/gdb.hp/watch-cmd.exp deleted file mode 100644 index a7e3b5c5132..00000000000 --- a/gdb/testsuite/gdb.hp/watch-cmd.exp +++ /dev/null @@ -1,165 +0,0 @@ -# Copyright (C) 1998 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - -# Please email any bugs, comments, and/or additions to this file to: -# bug-gdb@prep.ai.mit.edu - -if $tracelevel then { - strace $tracelevel -} - -# -# test special commands -# -set prms_id 0 -set bug_id 0 - -set testfile "run-hp" -set srcfile ${testfile}.c -set binfile ${objdir}/${subdir}/${testfile} -if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug additional_flags=-DFAKEARGV}] != "" } { - gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail." - -} - -# are we on a target board -if ![isnative] then { - return -} - -if {![istarget "hppa*-*-hpux10.30"] && ![istarget "hppa*-*-hpux11.*"]} { - #setup_xfail "*-*.*" - return 0 -} - -if [get_compiler_info ${binfile}] { - return -1; -} -if {[skip_hp_tests $gcc_compiled]} then { continue } - - -gdb_exit -gdb_start -delete_breakpoints -gdb_reinitialize_dir $srcdir/$subdir -gdb_load ${binfile} - - - -proc watchpoint_command_test {} { - global gdb_prompt - - if [target_info exists noargs] { - verbose "Skipping watchpoint_command_test because of noargs." - return - } - - if { ![runto factorial] } then { gdb_suppress_tests } - # Don't depend upon argument passing, since most simulators don't currently - # support it. Bash value variable to be what we want. - gdb_test "p value=6" "" "set value to 6 in watchpoint_command_test" - delete_breakpoints - - # Verify that we can create a watchpoint, and give it a commands - # list that continues the inferior. We set the watchpoint on a - # local variable, too, so that it self-deletes when the watched - # data goes out of scope. - # - # What should happen is: Each time the watchpoint triggers, it - # continues the inferior. Eventually, the watchpoint will self- - # delete, when the watched variable is out of scope. But by that - # time, the inferior should have exited. GDB shouldn't crash or - # anything untoward as a result of this. - # - send_gdb "watch local_var\n" - gdb_expect { - -re ".*\[Ww\]atchpoint (\[0-9\]*): local_var.*$gdb_prompt $"\ - { pass "watch local_var" - set wp_id $expect_out(1,string) - send_gdb "commands $wp_id\n" - gdb_expect { - -re "Type commands for when breakpoint $wp_id is hit, one per line.*>"\ - { pass "begin commands on watch"} - -re "$gdb_prompt $"\ - {fail "begin commands on watch"} - timeout {fail "(timeout) begin commands on watch"} - } - } - -re "$gdb_prompt $"\ - {fail "watch local_var"} - timeout {fail "(timeout) watch local_var"} - } -# set wp_id $expect_out(1,string) -# send_gdb "commands $wp_id\n" -# gdb_expect { -# -re "Type commands for when breakpoint $wp_id is hit, one per line.*>"\ -# {pass "begin commands on watch"} -# -re "$gdb_prompt $"\ -# {fail "begin commands on watch"} -# timeout {fail "(timeout) begin commands on watch"} -# } - send_gdb "print value\n" - gdb_expect { - -re ">"\ - {pass "add print command to watch"} - -re "$gdb_prompt $"\ - {fail "add print command to watch"} - timeout {fail "(timeout) add print command to watch"} - } - send_gdb "continue\n" - gdb_expect { - -re ">"\ - {pass "add continue command to watch"} - -re "$gdb_prompt $"\ - {fail "add continue command to watch"} - timeout {fail "(timeout) add continue command to watch"} - } - send_gdb "end\n" - gdb_expect { - -re "$gdb_prompt $"\ - {pass "begin commands on watch"} - timeout {fail "(timeout) begin commands on watch"} - } - send_gdb "continue\n" - gdb_expect { - -re "Continuing.*\[Ww\]atchpoint $wp_id deleted because the program has left the block in.*which its expression is valid.*in main.*$gdb_prompt $"\ - {pass "continue with watch"} - -re "$gdb_prompt $"\ - {fail "continue with watch"} - timeout {fail "(timeout) continue with watch"} - } - send_gdb "continue\n" - gdb_expect { - -re "Continuing.*$gdb_prompt $"\ - {pass "continue until exit"} - -re "$gdb_prompt $"\ - {fail "continue until exit"} - timeout {fail "(timeout) continue until exit"} - } -} - -watchpoint_command_test - - - - - - - - - - - diff --git a/gdb/testsuite/gdb.hp/watch-hp.c b/gdb/testsuite/gdb.hp/watch-hp.c deleted file mode 100644 index 7336fe2bec8..00000000000 --- a/gdb/testsuite/gdb.hp/watch-hp.c +++ /dev/null @@ -1,166 +0,0 @@ -#include <stdio.h> -/* - * Since using watchpoints can be very slow, we have to take some pains to - * ensure that we don't run too long with them enabled or we run the risk - * of having the test timeout. To help avoid this, we insert some marker - * functions in the execution stream so we can set breakpoints at known - * locations, without worrying about invalidating line numbers by changing - * this file. We use null bodied functions are markers since gdb does - * not support breakpoints at labeled text points at this time. - * - * One place we need is a marker for when we start executing our tests - * instructions rather than any process startup code, so we insert one - * right after entering main(). Another is right before we finish, before - * we start executing any process termination code. - * - * Another problem we have to guard against, at least for the test - * suite, is that we need to ensure that the line that causes the - * watchpoint to be hit is still the current line when gdb notices - * the hit. Depending upon the specific code generated by the compiler, - * the instruction after the one that triggers the hit may be part of - * the same line or part of the next line. Thus we ensure that there - * are always some instructions to execute on the same line after the - * code that should trigger the hit. - */ - -int count = -1; -int ival1 = -1; -int ival2 = -1; -int ival3 = -1; -int ival4 = -1; -int ival5 = -1; -char buf[10]; -struct foo -{ - int val; -}; -struct foo struct1, struct2, *ptr1, *ptr2; - -int doread = 0; - -void marker1 () -{ -} - -void marker2 () -{ -} - -void marker4 () -{ -} - -void marker5 () -{ -} - -void marker6 () -{ -} - -void recurser (x) - int x; -{ - int local_x; - - if (x > 0) - recurser (x-1); - local_x = x; -} - -void -func2 () -{ - int local_a; - static int static_b; - - ival5++; - local_a = ival5; - static_b = local_a; -} - -int -func1 () -{ - /* The point of this is that we will set a breakpoint at this call. - - Then, if DECR_PC_AFTER_BREAK equals the size of a function call - instruction (true on a sun3 if this is gcc-compiled--FIXME we - should use asm() to make it work for any compiler, present or - future), then we will end up branching to the location just after - the breakpoint. And we better not confuse that with hitting the - breakpoint. */ - func2 (); - return 73; -} - -int main () -{ - struct1.val = 1; - struct2.val = 2; - ptr1 = &struct1; - ptr2 = &struct2; - marker1 (); - func1 (); - for (count = 0; count < 4; count++) { - ival1 = count; - ival3 = count; ival4 = count; - } - ival1 = count; /* Outside loop */ - ival2 = count; - ival3 = count; ival4 = count; - marker2 (); - if (doread) - { - static char msg[] = "type stuff for buf now:"; - write (1, msg, sizeof (msg) - 1); - read (0, &buf[0], 5); - } - marker4 (); - - /* We have a watchpoint on ptr1->val. It should be triggered if - ptr1's value changes. */ - ptr1 = ptr2; - - /* This should not trigger the watchpoint. If it does, then we - used the wrong value chain to re-insert the watchpoints or we - are not evaluating the watchpoint expression correctly. */ - struct1.val = 5; - marker5 (); - - /* We have a watchpoint on ptr1->val. It should be triggered if - ptr1's value changes. */ - ptr1 = ptr2; - - /* This should not trigger the watchpoint. If it does, then we - used the wrong value chain to re-insert the watchpoints or we - are not evaluating the watchpoint expression correctly. */ - struct1.val = 5; - marker5 (); - - /* We're going to watch locals of func2, to see that out-of-scope - watchpoints are detected and properly deleted. - */ - marker6 (); - - /* This invocation is used for watches of a single - local variable. */ - func2 (); - - /* This invocation is used for watches of an expression - involving a local variable. */ - func2 (); - - /* This invocation is used for watches of a static - (non-stack-based) local variable. */ - func2 (); - - /* This invocation is used for watches of a local variable - when recursion happens. - */ - marker6 (); - recurser (2); - - marker6 (); - return 0; -} diff --git a/gdb/testsuite/gdb.hp/watch-hp.exp b/gdb/testsuite/gdb.hp/watch-hp.exp deleted file mode 100644 index a1c3fc823f7..00000000000 --- a/gdb/testsuite/gdb.hp/watch-hp.exp +++ /dev/null @@ -1,784 +0,0 @@ -# Copyright (C) 1992, 1994, 1997 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - -# Please email any bugs, comments, and/or additions to this file to: -# bug-gdb@prep.ai.mit.edu - -# This file was written by Fred Fish. (fnf@cygnus.com) - -if $tracelevel then { - strace $tracelevel -} - -set prms_id 0 -set bug_id 0 - -set testfile "watch-hp" -set srcfile ${testfile}.c -set binfile ${objdir}/${subdir}/${testfile} -if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug}] != "" } { - gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail." -} - -if [get_compiler_info ${binfile}] { - return -1; -} -if {[skip_hp_tests $gcc_compiled]} then { continue } - -# Prepare for watchpoint tests by setting up two breakpoints and one -# watchpoint. -# -# We use breakpoints at marker functions to get past all the startup code, -# so we can get to the watchpoints in a reasonable amount of time from a -# known starting point. -# -# For simplicity, so we always know how to reference specific breakpoints or -# watchpoints by number, we expect a particular ordering and numbering of -# each in the combined breakpoint/watchpoint table, as follows: -# -# Number What Where -# 1 Breakpoint marker1() -# 2 Breakpoint marker2() -# 3 Watchpoint ival3 - -proc initialize {} { - global gdb_prompt - global hex - global decimal - global srcfile - - if [gdb_test "break marker1" "Breakpoint 1 at $hex: file .*$srcfile, line $decimal.*" "set breakpoint at marker1" ] { - return 0; - } - - - if [gdb_test "break marker2" "Breakpoint 2 at $hex: file .*$srcfile, line $decimal.*" "set breakpoint at marker2" ] { - return 0; - } - - - if [gdb_test "info break" "1\[ \]*breakpoint.*marker1.*\r\n2\[ \]*breakpoint.*marker2.*" "info break in watchpoint.exp" ] { - return 0; - } - -# ??rehrauer: To fix DTS #CHFts23014, in which setting a watchpoint -# before running can cause the inferior to croak on HP-UX 10.30 and -# 11.0 for reasons as yet unknown, we've disabled the ability to set -# watches without a running inferior. Verify the restriction. -# - send_gdb "watch ival3\n" - gdb_expect { - -re ".*can't do that without a running program; try \"break main\", \"run\" first.*$gdb_prompt $" { - pass "set watchpoint on ival3" - } - -re ".*$gdb_prompt $" { fail "set watchpoint on ival3" } - timeout { fail "set watchpoint on ival3 (timeout)" } - } - - -# if [gdb_test "watch ival3" ".*\[Ww\]atchpoint 3: ival3" "set watchpoint on ival3" ] { -# return 0; -# } - - - # "info watch" is the same as "info break" - -# if [gdb_test "info watch" "1\[ \]*breakpoint.*marker1.*\r\n2\[ \]*breakpoint.*marker2.*\r\n3\[ \]*.*watchpoint.*ival3" "watchpoint found in watchpoint/breakpoint table" ] { -# return 0; -# } - - - # After installing the watchpoint, we disable it until we are ready - # to use it. This allows the test program to run at full speed until - # we get to the first marker function. - -# if [gdb_test "disable 3" "disable 3\[\r\n\]+" "disable watchpoint" ] { -# return 0; -# } - - - return 1 -} - -# -# Test simple watchpoint. -# - -proc test_simple_watchpoint {} { - global gdb_prompt - global hex - global decimal - - # Ensure that the watchpoint is disabled when we startup. - -# if [gdb_test "disable 3" "^disable 3\[\r\n\]+" "disable watchpoint in test_simple_watchpoint" ] { -# return 0; -# } - - - # Run until we get to the first marker function. - - gdb_run_cmd - set timeout 600 - gdb_expect { - -re "Breakpoint 1, marker1 .*$gdb_prompt $" { - pass "run to marker1 in test_simple_watchpoint" - } - -re ".*$gdb_prompt $" { - fail "run to marker1 in test_simple_watchpoint" - return - } - timeout { - fail "run to marker1 in test_simple_watchpoint (timeout)" - return - } - } -#************************ - -# ??rehrauer: To fix DTS #CHFts23014, in which setting a watchpoint -# before running can cause the inferior to croak on HP-UX 10.30 and -# 11.0 for reasons as yet unknown, we've disabled the ability to set -# watches without a running inferior. The following testpoints used -# to be in [initialize]. -# - send_gdb "watch ival3\n" - gdb_expect { - -re ".*\[Ww\]atchpoint 3: ival3\r\n$gdb_prompt $" { - pass "set watchpoint on ival3" - } - -re ".*$gdb_prompt $" { fail "set watchpoint on ival3" } - timeout { fail "set watchpoint on ival3 (timeout)" } - } - - # "info watch" is the same as "info break" - - send_gdb "info watch\n" - gdb_expect { - -re "1\[ \]*breakpoint.*marker1.*\r\n2\[ \]*breakpoint.*marker2.*\r\n3\[ \]*.*watchpoint.*ival3\r\n$gdb_prompt $" { - pass "watchpoint found in watchpoint/breakpoint table" - } - -re ".*$gdb_prompt $" { - fail "watchpoint found in watchpoint/breakpoint table" - } - timeout { - fail "watchpoint found in watchpoint/breakpoint table" - } - } - - # After installing the watchpoint, we disable it until we are ready - # to use it. This allows the test program to run at full speed until - # we get to the first marker function. - - send_gdb "disable 3\n" - gdb_expect { - -re "disable 3\[\r\n\]+$gdb_prompt $" { pass "disable watchpoint" } - -re ".*$gdb_prompt $" { fail "disable watchpoint" } - timeout { fail "disable watchpoint (timeout)" } - } -#****** - # After reaching the marker function, enable the watchpoint. - - if [gdb_test "enable 3" "^enable 3\[\r\n\]+" "enable watchpoint" ] { - return ; - } - - - gdb_test "break func1" "Breakpoint.*at.*" - gdb_test "set \$func1_breakpoint_number = \$bpnum" "" - - gdb_test "continue" "Continuing.*Breakpoint \[0-9\]*, func1.*" \ - "continue to breakpoint at func1" - - # Continue until the first change, from -1 to 0 - - send_gdb "cont\n" - gdb_expect { - -re "Continuing.*\[Ww\]atchpoint.*ival3.*Old value = -1.*New value = 0.*ival3 = count; ival4 = count;.*$gdb_prompt $" { - pass "watchpoint hit, first time" - } - -re "Continuing.*Breakpoint.*func1.*$gdb_prompt $" { - setup_xfail "m68*-*-*" 2597 - fail "thought it hit breakpoint at func1 twice" - gdb_test "delete \$func1_breakpoint_number" "" - gdb_test "continue" "\ -Continuing.*\[Ww\]atchpoint.*ival3.*Old value = -1.*New value = 0.*ival3 = count;" \ - "watchpoint hit, first time" - } - -re ".*$gdb_prompt $" { fail "watchpoint hit, first time" ; return } - timeout { fail "watchpoint hit, first time (timeout)" ; return } - eof { fail "watchpoint hit, first time (eof)" ; return } - } - - gdb_test "delete \$func1_breakpoint_number" "" - - # Continue until the next change, from 0 to 1. - gdb_test "cont" "Continuing.*\[Ww\]atchpoint.*ival3.*Old value = 0.*New value = 1.*ival3 = count; ival4 = count;.*" "watchpoint hit, second time" - - # Continue until the next change, from 1 to 2. - gdb_test "cont" "Continuing.*\[Ww\]atchpoint.*ival3.*Old value = 1.*New value = 2.*ival3 = count; ival4 = count;.*" "watchpoint hit, third time" - - # Continue until the next change, from 2 to 3. - gdb_test "cont" "Continuing.*\[Ww\]atchpoint.*ival3.*Old value = 2.*New value = 3.*ival3 = count; ival4 = count;.*" "watchpoint hit, fourth time" - - # Continue until the next change, from 3 to 4. - # Note that this one is outside the loop. - - gdb_test "cont" "Continuing.*\[Ww\]atchpoint.*ival3.*Old value = 3.*New value = 4.*ival3 = count; ival4 = count;.*" "watchpoint hit, fifth time" - - # Continue until we hit the finishing marker function. - # Make sure we hit no more watchpoints. - - gdb_test "cont" "Continuing.*Breakpoint.*marker2 \(\).*" \ - "continue to marker2" - - # Disable the watchpoint so we run at full speed until we exit. - - if [gdb_test "disable 3" "^disable 3\[\r\n\]+" "watchpoint disabled" ] { - return ; - } - - - # Run until process exits. - - if [target_info exists gdb,noresults] { return } - - gdb_test "cont" "Continuing.*Program exited normally.*" \ - "continue to exit in test_simple_watchpoint" -} - -# Test disabling watchpoints. - -proc test_disabling_watchpoints {} { - global gdb_prompt - global binfile - global srcfile - global decimal - global hex - - # Ensure that the watchpoint is disabled when we startup. - - if [gdb_test "disable 3" "^disable 3\[\r\n\]+" "disable watchpoint in test_disabling_watchpoints" ] { - return 0; - } - - - # Run until we get to the first marker function. - - gdb_run_cmd - set timeout 600 - gdb_expect { - -re "Breakpoint 1, marker1 .*$gdb_prompt $" { - pass "run to marker1 in test_disabling_watchpoints" - } - -re ".*$gdb_prompt $" { - fail "run to marker1 in test_disabling_watchpoints" - return - } - timeout { - fail "run to marker1 in test_disabling_watchpoints (timeout)" - return - } - } - - # After reaching the marker function, enable the watchpoint. - - if [gdb_test "enable 3" "^enable 3\[\r\n\]+" "watchpoint enabled" ] { - return ; - } - - - # Continue until the first change, from -1 to 0 - # Don't check the old value, because on VxWorks the variable value - # will not have been reinitialized. - gdb_test "cont" "Continuing.*\[Ww\]atchpoint.*ival3.*Old value = .*New value = 0.*ival3 = count; ival4 = count;.*" "watchpoint hit in test_disabling_watchpoints, first time" - - # Continue until the next change, from 0 to 1. - gdb_test "cont" "Continuing.*\[Ww\]atchpoint.*ival3.*Old value = 0.*New value = 1.*ival3 = count; ival4 = count;.*" "watchpoint hit in test_disabling_watchpoints, second time" - - # Disable the watchpoint but leave breakpoints - - if [gdb_test "disable 3" "^disable 3\[\r\n\]+" "disable watchpoint #2 in test_disabling_watchpoints" ] { - return 0; - } - - - # Check watchpoint list, looking for the entry that confirms the - # watchpoint is disabled. - gdb_test "info watchpoints" "3\[ \]*.*watchpoint\[ \]*keep\[ \]*n\[ \]*ival3\r\n.*" "watchpoint disabled in table" - - # Continue until we hit the finishing marker function. - # Make sure we hit no more watchpoints. - gdb_test "cont" "Continuing.*Breakpoint.*marker2 \\(\\).*" \ - "disabled watchpoint skipped" - - if [target_info exists gdb,noresults] { return } - - gdb_test "cont" "Continuing.*Program exited normally.*" \ - "continue to exit in test_disabling_watchpoints" -} - -# Test stepping and other mundane operations with watchpoints enabled -proc test_stepping {} { - global gdb_prompt - - if [runto marker1] then { - gdb_test "watch ival2" ".*\[Ww\]atchpoint \[0-9\]*: ival2" - - # Well, let's not be too mundane. It should be a *bit* of a challenge - gdb_test "break func2 if 0" "Breakpoint.*at.*" - gdb_test "p \$func2_breakpoint_number = \$bpnum" " = .*" - - # The HPPA has a problem here if it's not using hardware watchpoints - if {[ istarget "hppa*-*-*" ] && ![ istarget "hppa*-*-*bsd*" ]} then { - # Don't actually try doing the call, if we do we can't continue. - setup_xfail "*-*-*" - fail "calling function with watchpoint enabled" - } else { - # The problem is that GDB confuses stepping through the call - # dummy with hitting the breakpoint at the end of the call dummy. - # Will be fixed once all architectures define - # CALL_DUMMY_BREAKPOINT_OFFSET. - setup_xfail "*-*-*" - # This doesn't occur if the call dummy starts with a call, - # because we are out of the dummy by the first time the inferior - # stops. - clear_xfail "d10v*-*-*" - clear_xfail "m68*-*-*" - clear_xfail "i*86*-*-*" - clear_xfail "vax-*-*" - # The following architectures define CALL_DUMMY_BREAKPOINT_OFFSET. - clear_xfail "alpha-*-*" - clear_xfail "mips*-*-*" - clear_xfail "sparc-*-*" - clear_xfail "hppa*-*-*bsd*" - # It works with the generic inferior function calling code too. - clear_xfail "mn10200*-*-*" - clear_xfail "mn10300*-*-*" - gdb_test "p func1 ()" "= 73" \ - "calling function with watchpoint enabled" - } - - # - # "finish" brings us back to main. - # On some targets (e.g. alpha) gdb will stop from the finish in midline - # of the marker1 call. This is due to register restoring code on - # the alpha and might be caused by stack adjustment instructions - # on other targets. In this case we will step once more. - # - - send_gdb "finish\n" - gdb_expect { - -re "Run.*exit from.*marker1.* at" { } - default { fail "finish from marker1" ; return } - } - - gdb_expect { - -re "marker1 \\(\\);.*$gdb_prompt $" { - send_gdb "step\n" - exp_continue - } - -re "func1 \\(\\);.*$gdb_prompt $" { - pass "finish from marker1" - } - -re ".*$gdb_prompt $" { - fail "finish from marker1" - } - default { fail "finish from marker1" ; return } - } - - gdb_test "next" "for \\(count = 0.*" "next to `for' in watchpoint.exp" - - # Now test that "until" works. It's a bit tricky to test - # "until", because compilers don't always arrange the code - # exactly the same way, and we might get slightly different - # sequences of statements. But the following should be true - # (if not it is a compiler or a debugger bug): The user who - # does "until" at every statement of a loop should end up - # stepping through the loop once, and the debugger should not - # stop for any of the remaining iterations. - - gdb_test "until" "ival1 = count.*" "until to ival1 assignment" - gdb_test "until" "ival3 = count.*" "until to ival3 assignment" - send_gdb "until\n" - gdb_expect { - -re "(for \\(count = 0|\}).*$gdb_prompt $" { - gdb_test "until" "ival1 = count; /. Outside loop ./" \ - "until out of loop" - } - -re "ival1 = count; /. Outside loop ./.*$gdb_prompt $" { - pass "until out of loop" - } - -re ".*$gdb_prompt $" { - fail "until out of loop" - } - default { fail "until out of loop" ; return } - } - - gdb_test "step" "ival2 = count.*" "step to ival2 assignment" - } -} - -# Test stepping and other mundane operations with watchpoints enabled -proc test_watchpoint_triggered_in_syscall {} { - global gdb_prompt - - if [target_info exists gdb,noinferiorio] { - verbose "Skipping test_watchpoint_triggered_in_syscall due to noinferiorio" - return - } - # Run until we get to the first marker function. - set x 0 - set y 0 - set testname "Watch buffer passed to read syscall" - if [runto marker2] then { - gdb_test "watch buf\[0\]" ".*\[Ww\]atchpoint \[0-9\]*: buf\\\[0\\\]" - gdb_test "watch buf\[1\]" ".*\[Ww\]atchpoint \[0-9\]*: buf\\\[1\\\]" - gdb_test "watch buf\[2\]" ".*\[Ww\]atchpoint \[0-9\]*: buf\\\[2\\\]" - gdb_test "watch buf\[3\]" ".*\[Ww\]atchpoint \[0-9\]*: buf\\\[3\\\]" - gdb_test "watch buf\[4\]" ".*\[Ww\]atchpoint \[0-9\]*: buf\\\[4\\\]" - gdb_test "break marker4" ".*Breakpoint.*" - - gdb_test "set doread = 1" "" - - # If we send_gdb "123\n" before gdb has switched the tty, then it goes - # to gdb, not the inferior, and we lose. So that is why we have - # watchpoint.c prompt us, so we can wait for that prompt. - send_gdb "continue\n"; - gdb_expect { - -re "Continuing\\.\r\ntype stuff for buf now:" { - pass "continue to read" - } - default { - fail "continue to read"; - return ; - } - } - - send_gdb "123\n" - gdb_expect { - -re ".*\[Ww\]atchpoint.*buf\\\[0\\\].*Old value = 0.*New value = 49\[^\n\]*\n" { set x [expr $x+1] ; exp_continue } - -re ".*\[Ww\]atchpoint.*buf\\\[1\\\].*Old value = 0.*New value = 50\[^\n\]*\n" { set x [expr $x+1] ; exp_continue } - -re ".*\[Ww\]atchpoint.*buf\\\[2\\\].*Old value = 0.*New value = 51\[^\n\]*\n" { set x [expr $x+1] ; exp_continue } - -re ".*\[Ww\]atchpoint.*buf\\\[3\\\].*Old value = 0.*New value = 10\[^\n\]*\n" { set x [expr $x+1] ; exp_continue } - -re ".*$gdb_prompt $" { pass "sent 123" } - timeout { fail "sent 123 (timeout)" } - } - - # Examine the values in buf to see how many watchpoints we - # should have printed. - send_gdb "print buf\[0\]\n" - gdb_expect { - -re ".*= 49.*$gdb_prompt $" { set y [expr $y+1]; pass "print buf\[0\]"} - -re ".*= 0.*$gdb_prompt $" { pass "print buf\[0\]"} - -re ".*$gdb_prompt $" { fail "print buf\[0\]"} - default { fail "print buf\[0\]"} - } - send_gdb "print buf\[1\]\n" - gdb_expect { - -re ".*= 50.*$gdb_prompt $" { set y [expr $y+1]; pass "print buf\[1\]"} - -re ".*= 0.*$gdb_prompt $" { pass "print buf\[1\]"} - -re ".*$gdb_prompt $" { fail "print buf\[1\]"} - default { fail "print buf\[1\]"} - } - send_gdb "print buf\[2\]\n" - gdb_expect { - -re ".*= 51.*$gdb_prompt $" { set y [expr $y+1]; pass "print buf\[2\]"} - -re ".*= 0.*$gdb_prompt $" { pass "print buf\[2\]"} - -re ".*$gdb_prompt $" { fail "print buf\[2\]"} - default { fail "print buf\[2\]"} - } - send_gdb "print buf\[3\]\n" - gdb_expect { - -re ".*= 10.*$gdb_prompt $" { set y [expr $y+1]; pass "print buf\[3\]"} - -re ".*= 0.*$gdb_prompt $" { pass "print buf\[3\]"} - -re ".*$gdb_prompt $" { fail "print buf\[3\]" } - default { fail "print buf\[3\]" } - } - - # Did we find what we were looking for? If not, flunk it. - if [expr $x==$y] then { pass $testname } else { fail "$testname (only triggered $x watchpoints, expected $y)"} - - # Continue until we hit the finishing marker function. - # Make sure we hit no more watchpoints. - gdb_test "cont" "Continuing.*Breakpoint.*marker4 \\(\\).*" \ - "continue to marker4" - - # Disable everything so we can finish the program at full speed - gdb_test "disable" "" "disable in test_watchpoint_triggered_in_syscall" - - if [target_info exists gdb,noresults] { return } - - gdb_test "cont" "Continuing.*Program exited normally.*" \ - "continue to exit in test_watchpoint_triggered_in_syscall" - } -} - -# Do a simple test of of watching through a pointer when the pointer -# itself changes. Should add some more complicated stuff here. - -proc test_complex_watchpoint {} { - global gdb_prompt - - if [runto marker4] then { - gdb_test "watch ptr1->val" ".*\[Ww\]atchpoint \[0-9\]*: ptr1->val" - gdb_test "break marker5" ".*Breakpoint.*" - - gdb_test "cont" "Continuing.*\[Ww\]atchpoint.*ptr1->val.*Old value = 1.*New value = 2.*" "Test complex watchpoint" - - # Continue until we hit the marker5 function. - # Make sure we hit no more watchpoints. - - gdb_test "cont" "Continuing.*Breakpoint.*marker5 \\(\\).*" \ - "did not trigger wrong watchpoint" -#******************** - # Test watches of things declared locally in a function. - # In particular, test that a watch of stack-based things - # is deleted when the stack-based things go out of scope. - # - gdb_test "disable" "" "disable in test_complex_watchpoint" - gdb_test "break marker6" ".*Breakpoint.*" - gdb_test "cont" "Continuing.*Breakpoint.*marker6 \\(\\).*" \ - "continue to marker6" - gdb_test "break func2" ".*Breakpoint.*" - gdb_test "cont" "Continuing.*func2.*" - - # Test a watch of a single stack-based variable, whose scope - # is the function we're now in. This should auto-delete when - # execution exits the scope of the watchpoint. - # - gdb_test "watch local_a" ".*\[Ww\]atchpoint \[0-9\]*: local_a" "set local watch" - gdb_test "cont" "\[Ww\]atchpoint.*local_a.*" "trigger local watch" - gdb_test "cont" "Continuing.*Watchpoint .* deleted because the program has left the block in.*which its expression is valid.*" "self-delete local watch" - - # after func2 returned, gdb stopped and deleted the watchpoint - # we're now in main, let's get to func2 - gdb_test "cont" "Continuing.*func2.*" - - # We should be in "func2" again now. Test a watch of an - # expression which includes both a stack-based local and - # something whose scope is larger than this invocation - # of "func2". This should also auto-delete. - # - gdb_test "watch local_a + ival5" ".*\[Ww\]atchpoint \[0-9\]*: local_a . ival5" \ - "set partially local watch" - gdb_test "cont" "Continuing.*\[Ww\]atchpoint .*: local_a . ival5.*" \ - "trigger1 partially local watch" - gdb_test "cont" "Continuing.*\[Ww\]atchpoint .*: local_a . ival5.*" \ - "trigger2 partially local watch" - gdb_test "cont" "Continuing.*\[Ww\]atchpoint .* deleted because the program has left the block in.*which its expression is valid.*" \ - "self-delete partially local watch" - - # after func2 returned, gdb stopped and deleted the watchpoint - # we're now in main, let's get to func2 - gdb_test "cont" "Continuing.*func2.*" - - # We should be in "func2" again now. Test a watch of a - # static (non-stack-based) local. Since this has scope - # across any invocations of "func2", it should not auto- - # delete. - # - gdb_test "watch static_b" ".*\[Ww\]atchpoint \[0-9\]*: static_b" \ - "set static local watch" - gdb_test "cont" "Continuing.*\[Ww\]atchpoint .*: static_b.*" \ - "trigger static local watch" - gdb_test "cont" "Continuing.*marker6 \\(\\).*" \ - "continue after trigger static local watch" - gdb_test "info break" ".*watchpoint.*static_b.*" \ - "static local watch did not self-delete" - - # We should be in "recurser" now. Test a watch of a stack- - # based local. Symbols mentioned in a watchpoint are bound - # at watchpoint-creation. Thus, a watch of a stack-based - # local to a recursing function should be bound only to that - # one invocation, and should not trigger for other invocations. - # - gdb_test "tbreak recurser" ".*Breakpoint.*" - gdb_test "cont" "Continuing.*recurser.*" - gdb_test "watch local_x" ".*\[Ww\]atchpoint \[0-9\]*: local_x" \ - "set local watch in recursive call" - gdb_test "cont" "Continuing.*\[Ww\]atchpoint .*: local_x.*New value = 2.*" \ - "trigger local watch in recursive call" - gdb_test "cont" "Continuing.*\[Ww\]atchpoint .* deleted because the program has left the block in.*which its expression is valid.*" \ - "self-delete local watch in recursive call" - - - - -#****************** - # Disable everything so we can finish the program at full speed - gdb_test "disable" "" "disable in test_complex_watchpoint" - - if [target_info exists gdb,noresults] { return } - - - gdb_test "cont" "Continuing.*Program exited normally.*" \ - "continue to exit in test_complex_watchpoint" - } -} - -# Start with a fresh gdb. - -gdb_start -gdb_reinitialize_dir $srcdir/$subdir -gdb_load $binfile -set timeout 600 -verbose "Timeout now 600 sec.\n" - -if [initialize] then { - - test_simple_watchpoint - - # The IDT/sim monitor only has 8 (!) open files, of which it uses - # 4 (!). So we have to make sure one program exits before - # starting another one. - if [istarget "mips-idt-*"] then { - gdb_exit - gdb_start - gdb_reinitialize_dir $srcdir/$subdir - gdb_load $binfile - initialize - } - - test_disabling_watchpoints - - # See above. - if [istarget "mips-idt-*"] then { - gdb_exit - gdb_start - gdb_reinitialize_dir $srcdir/$subdir - gdb_load $binfile - initialize - } - - if ![target_info exists gdb,cannot_call_functions] { - test_stepping - - # See above. - if [istarget "mips-idt-*"] then { - gdb_exit - gdb_start - gdb_reinitialize_dir $srcdir/$subdir - gdb_load $binfile - initialize - } - } - - # Only enabled for some targets merely because it has not been tested - # elsewhere. - # On sparc-sun-sunos4.1.3, GDB was running all the way to the marker4 - # breakpoint before stopping for the watchpoint. I don't know why. - if {[istarget "hppa*-*-*"]} then { - test_watchpoint_triggered_in_syscall - } - - # See above. - if [istarget "mips-idt-*"] then { - gdb_exit - gdb_start - gdb_reinitialize_dir $srcdir/$subdir - gdb_load $binfile - initialize - } - - # Only enabled for some targets merely because it has not been tested - # elsewhere. - if {[istarget "hppa*-*-*"] || \ - [istarget "sparc*-*-sunos*"] || \ - [istarget "m32r-*-*"]} then { - test_complex_watchpoint -#*************** - } - - # Verify that a user can force GDB to use "slow" watchpoints. - # (This proves rather little on kernels that don't support - # fast watchpoints, but still...) - # - if ![runto_main] then { fail "watch tests suppressed" } - - send_gdb "set can-use-hw-watchpoints 0\n" - gdb_expect { - -re "$gdb_prompt $"\ - {pass "disable fast watches"} - timeout {fail "(timeout) disable fast watches"} - } - send_gdb "show can-use-hw-watchpoints\n" - gdb_expect { - -re "Debugger's willingness to use watchpoint hardware is 0.*$gdb_prompt $"\ - {pass "show disable fast watches"} - -re "$gdb_prompt $"\ - {fail "show disable fast watches"} - timeout {fail "(timeout) show disable fast watches"} - } - send_gdb "watch ival3 if count > 1\n" - gdb_expect { - -re "Watchpoint \[0-9\]*: ival3.*$gdb_prompt $"\ - {pass "set slow conditional watch"} - -re "$gdb_prompt $"\ - {fail "set slow conditional watch"} - timeout {fail "(timeout) set slow conditional watch"} - } - send_gdb "continue\n" - gdb_expect { - -re "Watchpoint \[0-9\]*: ival3.*Old value = 1.*New value = 2.*$gdb_prompt $"\ - {pass "trigger slow conditional watch"} - -re "$gdb_prompt $"\ - {fail "trigger slow conditional watch"} - timeout {fail "(timeout) trigger slow conditional watch"} - } - - # We've explicitly disabled hardware watches. Verify that GDB - # - # - send_gdb "rwatch ival3\n" - gdb_expect { - -re "Expression cannot be implemented with read/access watchpoint..*$gdb_prompt $"\ - {pass "rwatch disallowed when can-set-hw-watchpoints cleared"} - -re "$gdb_prompt $"\ - {fail "rwatch disallowed when can-set-hw-watchpoints cleared"} - timeout {fail "(timeout) rwatch disallowed when can-use-hw-watchpoints cleared"} - } - - # Read- and access watchpoints are unsupported on HP-UX. Verify - # that GDB gracefully responds to requests to create them. - # - if [istarget "hppa*-*-hpux*"] then { - send_gdb "set can-use-hw-watchpoints 1\n" - gdb_expect { - -re "$gdb_prompt $"\ - {pass "enable fast watches"} - timeout {fail "(timeout) enable fast watches"} - } - send_gdb "rwatch ival3\n" - gdb_expect { - -re "Target does not have this type of hardware watchpoint support.*$gdb_prompt $"\ - {pass "read watches disallowed"} - -re "$gdb_prompt $"\ - {fail "read watches disallowed"} - timeout {fail "(timeout) read watches disallowed"} - } - - send_gdb "awatch ival3\n" - gdb_expect { - -re "Target does not have this type of hardware watchpoint support.*$gdb_prompt $"\ - {pass "access watches disallowed"} - -re "$gdb_prompt $"\ - {fail "access watches disallowed"} - timeout {fail "(timeout) access watches disallowed"} - } - -#*************** - } -} diff --git a/gdb/testsuite/gdb.hp/xdb.c b/gdb/testsuite/gdb.hp/xdb.c deleted file mode 100644 index e3e3fc23e9f..00000000000 --- a/gdb/testsuite/gdb.hp/xdb.c +++ /dev/null @@ -1,20 +0,0 @@ -#include <stdio.h> - -int callee( x ) -int x; -{ - int y = x * x; - return (y - 2); -} - -main() -{ - int i; - for (i = 1; i < 10; i++) - { - printf( "%d ", callee( i )); - - } - printf( " Goodbye!\n" ); - -} diff --git a/gdb/testsuite/gdb.hp/xdb0.c b/gdb/testsuite/gdb.hp/xdb0.c deleted file mode 100644 index fa5c76f7418..00000000000 --- a/gdb/testsuite/gdb.hp/xdb0.c +++ /dev/null @@ -1,42 +0,0 @@ -#include "xdb0.h" - -main () -{ - int x; -#ifdef usestubs - set_debug_traps(); - breakpoint(); -#endif - x = 0; - foo (x++); - foo (x++); - foo (x++); - foo (x++); - foo (x++); - foo (x++); - foo (x++); - foo (x++); - foo (x++); - foo (x++); - foo (x++); - foo (x++); - foo (x++); - foo (x++); - foo (x++); - foo (x++); - foo (x++); - foo (x++); - foo (x++); - foo (x++); - foo (x++); - foo (x++); - foo (x++); - foo (x++); - foo (x++); -} - -static void -unused () -{ - /* Not used for anything */ -} diff --git a/gdb/testsuite/gdb.hp/xdb0.h b/gdb/testsuite/gdb.hp/xdb0.h deleted file mode 100644 index c4d337c6770..00000000000 --- a/gdb/testsuite/gdb.hp/xdb0.h +++ /dev/null @@ -1,36 +0,0 @@ -/* An include file that actually causes code to be generated in the - including file. This is known to cause problems on some systems. */ - -static void -foo (x) -int x; -{ - bar (x++); - bar (x++); - bar (x++); - bar (x++); - bar (x++); - bar (x++); - bar (x++); - bar (x++); - bar (x++); - bar (x++); - bar (x++); - bar (x++); - bar (x++); - bar (x++); - bar (x++); - bar (x++); - bar (x++); - bar (x++); - bar (x++); - bar (x++); - bar (x++); - bar (x++); - bar (x++); - bar (x++); - bar (x++); - bar (x++); - bar (x++); - bar (x++); -} diff --git a/gdb/testsuite/gdb.hp/xdb1.c b/gdb/testsuite/gdb.hp/xdb1.c deleted file mode 100644 index 51632b94d07..00000000000 --- a/gdb/testsuite/gdb.hp/xdb1.c +++ /dev/null @@ -1,33 +0,0 @@ -void -bar (x) -int x; -{ - printf ("%d\n", x); - - long_line (); -} - -static void -unused () -{ - /* Not used for anything */ -} - - -/* This routine has a very long line that will break searching in older - versions of GDB. */ - -long_line () -{ - oof (67); - - oof (6789); - - oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* 5 */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* 10 */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* 15 */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* 20 */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* 25 */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* 30 */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* 35 */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* 40 */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* 45 */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* 50 */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* 55 */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* 60 */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* 65 */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (1234); /* 70 */ -} - -oof (n) - int n; -{ - return n + 1; -} diff --git a/gdb/testsuite/gdb.hp/xdb1.exp b/gdb/testsuite/gdb.hp/xdb1.exp deleted file mode 100644 index 88ab2fc5864..00000000000 --- a/gdb/testsuite/gdb.hp/xdb1.exp +++ /dev/null @@ -1,77 +0,0 @@ -# Copyright (C) 1992, 1994, 1995 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ - -# Please email any bugs, comments, and/or additions to this file to: -# bug-gdb@prep.ai.mit.edu - -# This file was written by Fred Fish. (fnf@cygnus.com) - -if $tracelevel then { - strace $tracelevel - } - - -global usestubs - -# -# test running programs -# -set prms_id 0 -set bug_id 0 - -set testfile "xdb" -set srcfile ${testfile}.c -set binfile ${objdir}/${subdir}/${testfile} -if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug}] != "" } { - gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail." -} - -if [get_compiler_info ${binfile}] { - return -1; -} -if {[skip_hp_tests $gcc_compiled]} then { continue } - -global GDBFLAGS -set saved_gdbflags $GDBFLAGS - -set GDBFLAGS "$GDBFLAGS --xdb" - -gdb_exit -gdb_start -gdb_reinitialize_dir $srcdir/$subdir -gdb_load ${binfile} - -gdb_test "set pagination off" "" -gdb_test "show pagination" "State of pagination is off." -gdb_test "set pagination on" "" -gdb_test "show pagination" "State of pagination is on." - -gdb_test "txbreak callee" "Breakpoint.*at.*" -gdb_test "info break" "Num.*Type.*Disp.*Enb.*Address.*What\r\n.*breakpoint.*del.*y.*" - -gdb_test "xbreak callee" "Breakpoint.*at.*.*" -gdb_test "info break" "Num.*Type.*Disp.*Enb.*Address.*What\r\n.*breakpoint.*keep.*y.*" - -gdb_exit -set GDBFLAGS $saved_gdbflags -return 0 - - - - - - - diff --git a/gdb/testsuite/gdb.hp/xdb2.exp b/gdb/testsuite/gdb.hp/xdb2.exp deleted file mode 100644 index 4cc7b341e09..00000000000 --- a/gdb/testsuite/gdb.hp/xdb2.exp +++ /dev/null @@ -1,104 +0,0 @@ -# Copyright (C) 1992, 1994, 1995 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ - -# Please email any bugs, comments, and/or additions to this file to: -# bug-gdb@prep.ai.mit.edu - -# This file was written by Fred Fish. (fnf@cygnus.com) - -if $tracelevel then { - strace $tracelevel - } - -global message - -# -# test running programs -# -set prms_id 0 -set bug_id 0 - -set testfile "xdb" -set binfile ${objdir}/${subdir}/${testfile} - -if { [gdb_compile "${srcdir}/${subdir}/xdb0.c" "${binfile}0.o" object {debug}] != "" } { - perror "Couldn't compile ${testfile}0.c to object" - return -1 -} - -if { [gdb_compile "${srcdir}/${subdir}/xdb1.c" "${binfile}1.o" object {debug}] != "" } { - perror "Couldn't compile ${testfile}1.c to object" - return -1 -} - -if { [gdb_compile "${binfile}0.o ${binfile}1.o" ${binfile} executable {debug}] != "" } { - perror "Couldn't link ${testfile}." - return -1 -} - - -if [get_compiler_info ${binfile}] { - return -1; -} -if {[skip_hp_tests $gcc_compiled]} then { continue } - - -global GDBFLAGS -set saved_gdbflags $GDBFLAGS -set GDBFLAGS "$GDBFLAGS --xdb" - -gdb_exit -gdb_start -gdb_reinitialize_dir $srcdir/$subdir -gdb_load ${binfile} -gdb_test "break main" "" -gdb_test "run" "" -gdb_test "go +2" "Breakpoint.*at.*file.*xdb0\.c, line 12\.\r\nContinuing at.*\r\nmain \\(\\) at.*xdb0\.c:12\r\n12\[ \t\]+foo \\(x\\+\\+\\);" -gdb_test "go -2" "Note: breakpoint.*also set at pc.*\.\r\nBreakpoint.*at.*file.*xdb0\.c, line 10\.\r\nContinuing at.*\.\r\n\r\nBreakpoint.*, main \\(\\) at.*xdb0\.c:10.*" -gdb_test "go 16" "Breakpoint.*at.*file.*xdb0\.c, line 16\.\r\nContinuing at.*\.\r\nmain \\(\\) at.*xdb0\.c:16\r\n16\[ \t\]+foo \\(x\\+\\+\\);" - -send_gdb "go bar\n" - gdb_expect { - -re ".*Line 5 is not in .main.. Jump anyway.*y or n. $" { - send_gdb "y\n" - gdb_expect { - -re "$gdb_prompt $"\ - {pass "go bar"} - timeout {fail "(timeout) go bar"} - } - } - -re "Continuing at.*\.\r\nbar \\(x=0\\) at.*xdb1\.c:5" {} - timeout { perror "(timeout) go bar" ; return } - } - -# Verify that GDB responds gracefully to a "go" command without -# an argument. -# -gdb_test "go" "Usage: go <location>" - -gdb_exit -gdb_start -gdb_reinitialize_dir $srcdir/$subdir -gdb_load ${binfile} - -gdb_test "break bar" "" -gdb_test "run" "" -gdb_test "backtrace full" ".*bar \\(x=0\\) at.*xdb1\.c:5\r\nNo locals\.\r\n.1.* in foo \\(x=1\\) at.*xdb0\.h:8\r\nNo locals\.\r\n.2.* in main \\(\\) at.*xdb0\.c:11\r\n.*x = 1" -gdb_test "bt 1 full" ".*bar \\(x=0\\) at.*xdb1\.c:5\r\nNo locals\.\r\n\\(More stack frames follow\.\.\.\\)" -gdb_test "bt full 2" ".*bar \\(x=0\\) at.*xdb1\.c:5\r\nNo locals\.\r\n.1.* in foo \\(x=1\\) at.*xdb0\.h:8\r\nNo locals\.\r\n\\(More stack frames follow\.\.\.\\)" - -set GDBFLAGS $saved_gdbflags -return 0 diff --git a/gdb/testsuite/gdb.hp/xdb3.exp b/gdb/testsuite/gdb.hp/xdb3.exp deleted file mode 100644 index cf569e9511c..00000000000 --- a/gdb/testsuite/gdb.hp/xdb3.exp +++ /dev/null @@ -1,307 +0,0 @@ -# Copyright (C) 1998 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ - -# Please email any bugs, comments, and/or additions to this file to: -# bug-gdb@prep.ai.mit.edu - - -if $tracelevel then { - strace $tracelevel -} - - -set testfile1 "average" -set testfile2 "sum" -set testfile "xdb-test" -set binfile1 ${objdir}/${subdir}/${testfile1} -set binfile2 ${objdir}/${subdir}/${testfile2} -set binfile ${objdir}/${subdir}/${testfile} - -if { [gdb_compile "${srcdir}/${subdir}/average.c" "${binfile1}.o" object {debug}] != "" } { - gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail." -} - -if { [gdb_compile "${srcdir}/${subdir}/sum.c" "${binfile2}.o" object {debug}] != "" } { - gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail." -} - -if { [gdb_compile "${binfile1}.o ${binfile2}.o" ${binfile} executable {debug}] != "" } { - gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail." -} - -if [get_compiler_info ${binfile}] { - return -1; -} -if {[skip_hp_tests $gcc_compiled]} then { continue } - - -proc xdb_reinitialize_dir { subdir } { - global gdb_prompt - - send_gdb "D\n" - gdb_expect { - -re "Reinitialize source path to empty.*y or n. " { - send_gdb "y\n" - gdb_expect { - -re "Source directories searched.*$gdb_prompt $" { - send_gdb "D $subdir\n" - gdb_expect { - -re "Source directories searched.*$gdb_prompt $" { - verbose "Dir set to $subdir" - } - -re ".*$gdb_prompt $" { - perror "Dir \"$subdir\" failed." - } - } - } - -re ".*$gdb_prompt $" { - perror "Dir \"$subdir\" failed." - } - } - } - -re ".*$gdb_prompt $" { - perror "Dir \"$subdir\" failed." - } - } -} - -# -#test_search -# -proc test_search { } { - gdb_test "set listsize 4" "" - gdb_test "list average.c:1" "1\[ \t\]+/. This is a sample .*" - gdb_test "/ print_average" "10\[ \t\]+void print_average\\(int list.*" - gdb_test "/ print_average" "12\[ \t\]+void print_average\\(list, low, high\\)" - gdb_test "/ print_average" "35\[ \t\]+print_average \\(my_list, first, last\\);" - gdb_test "? print_average" "12\[ \t\]+void print_average\\(list, low, high\\)" - gdb_test "? sum" "Expression not found" -} - -# -#test_viewing_loc -# -proc test_viewing_loc { } { - gdb_test "L" "No stack." - gdb_test "break main" "" - gdb_test "R" "" - gdb_test "L" "#0\[ \t\]+main \\(\\) at.*average.c:31\r\n31\[ \t\]+int first = 0;" -} - -# -#test_dir_list -# -proc test_dir_list { } { - gdb_test "ld" "Source directories searched: .*" -} - -# -#test_list_sources -# -proc test_list_sources { } { - gdb_test "lf" "Source files for which symbols have been read in:.*average\\.c,.*Source files for which symbols will be read in on demand:.*sum\\.c" -} - -# -#test_vlist -# -proc test_vlist { } { - gdb_test "v main" "27\[ \t\]+main \\(\\)\r\n28\[ \t\]+#endif\r\n29\[ \t\]+.\r\n30\[ \t\]+char c;" -} - -# -#test_va -# -proc test_va { } { - gdb_test "va main" "Dump of assembler code for function main:.*End of assembler dump\." -} - -# -#test_list_globals -# -proc test_list_globals { } { - gdb_test "lg" "All defined variables:\r\n\r\nFile globals:.*" -# gdb_test "lg" "All defined variables:\r\n\r\nFile globals:\r\nchar __buffer.512.;\r\nint __d_eh_catch_catch;\r\nint __d_eh_catch_throw;.*" -} - -# -#test_list_registers -# -proc test_list_registers { } { - gdb_test "lr" "\[ \t\]+flags:.*r18:.*pcsqt:.*ccr:.*\r\n\[ \t\]+r1:.*r19:.*eiem:.*cr12:.*" - gdb_test "lr r1" "r1 .*" -} - -# -#test_backtrace -# -proc test_backtrace { } { - gdb_test "t" "#0 main \\(\\) at.*average.c:31" - gdb_test "T" "#0 main \\(\\) at.*average.c:31\r\n\[ \t\]+c = 0.*\r\n\[ \t\]+first = 0\r\n\[ \t\]+last = 0" - - gdb_test "break sum" "" - gdb_test "cont" "" - - gdb_test "t" "#0 sum \\(list=0x.*, low=0, high=9\\) at.*sum\.c:11\r\n#1 0x.* in print_average \\(list=0x.*, low=0, high=9\\) at.*average\.c:17\r\n#2 0x.* in main \\(\\) at.*average\.c:35" - gdb_test "t 1" "#0 sum \\(list=0x.*, low=0, high=9\\) at.*sum\.c:11\r\n\\(More stack frames follow\.\.\.\\)" - gdb_test "T" "#0 sum \\(list=0x.*, low=0, high=9\\) at.*sum\.c:11\r\n\[ \t\]+i = 0\r\n\[ \t\]+s = 0\r\n#1 0x.* in print_average \\(list=0x.*, low=0, high=9\\) at.*average\.c:17\r\n\[ \t\]+total = 0\r\n\[ \t\]+num_elements = 0\r\n\[ \t\]+average = 0\r\n#2 0x.* in main \\(\\) at.*average\.c:35\r\n\[ \t\]+c = 0 '.000'\r\n\[ \t\]+first = 0\r\n\[ \t\]+last = 9" - gdb_test "T 1" "#0 sum \\(list=0x.*, low=0, high=9\\) at.*sum\.c:11\r\n\[ \t\]+i = 0\r\n\[ \t\]+s = 0\r\n\\(More stack frames follow\.\.\.\\)" - - gdb_test "V" "#0 sum \\(list=0x.*, low=0, high=9\\) at.*sum\.c:11\r\n\\11\[ \t\]+int i, s = 0;" - gdb_test "V 1" "#1 0x.* in print_average \\(list=0x.*, low=0, high=9\\) at.*average\.c:17\r\n17\[ \t\]+total = sum\\(list, low, high\\);" -} - -# -# test_go -# -proc test_go { } { - gdb_test "break main" "" - gdb_test "R" "" - - gdb_test "g +1" "Breakpoint.*at 0x.*: file.*average\.c, line 32\.\r\nContinuing at 0x.*\.\r\nmain \\(\\) at.*average\.c:32\r\n32\[ \t\]+int last = num-1;" - gdb_test "g 35" "Breakpoint.*at 0x.*: file.*average\.c, line 35\.\r\nContinuing at 0x.*\.\r\nmain \\(\\) at.*average\.c:35\r\n35\[ \t\]+print_average \\(my_list, first, last\\);" - -} - -# -#test_breakpoints -# -proc test_breakpoints { } { - global gdb_prompt - - gdb_test "sb" "" - gdb_test "lb" "Num.*Type.*Disp.*Enb.*Address.*What\r\n1\[ \r\]+breakpoint\[ \r\]+keep n.*in main at.*average\.c:31.*" - gdb_test "ab" "" - gdb_test "lb" "Num.*Type.*Disp.*Enb.*Address.*What\r\n1\[ \r\]+breakpoint\[ \r\]+keep y.*in main at.*average\.c:31.*" - gdb_test "ba sum" "Breakpoint.*at.*: file.*sum\.c, line 11\." - gdb_test "cont" "" - gdb_test "bx" "Breakpoint.*at.*: file.*sum.c, line 15\." - gdb_test "bx if (1)" "Breakpoint.*at.*: file.*sum.c, line 15\." - gdb_test "bx 1" "Breakpoint.*at.*: file.*average.c, line 22\." - gdb_test "bx 1 if (1)" "Breakpoint.*at.*: file.*average.c, line 22\." - gdb_test "bc 1 2" "Will ignore next 2 crossings of breakpoint 1\." - gdb_test "lb 1" "Num.*Type.*Disp.*Enb.*Address.*What\r\n1\[ \r\]+breakpoint\[ \r\]+keep y.*in main at.*average\.c:31\r\n.*breakpoint already hit 1 time\r\n.*ignore next 2 hits.*" - - send_gdb "db\n" - gdb_expect { - -re "Delete all breakpoints.*y or n. $" { - send_gdb "y\n" - exp_continue - } - -re "y\r\n$gdb_prompt $" {} - -re ".*$gdb_prompt $" { # This happens if there were no breakpoints - } - timeout { perror "Delete all breakpoints (timeout)" ; return } - } - send_gdb "lb\n" - gdb_expect { - -re "No breakpoints or watchpoints..*$gdb_prompt $" {} - -re ".*$gdb_prompt $" { perror "breakpoints not deleted" ; return } - timeout { perror "info breakpoints (timeout)" ; return } - } -gdb_test "xbreak" "Breakpoint.*at.*file.*sum.c, line 15." -gdb_test "xbreak print_average" "Breakpoint.*at.*file.*average.c, line 22." -gdb_test "xbreak if (1)" "Note: breakpoint.*also set at pc.*Breakpoint.*at.*file.*sum.c, line 15." -gdb_test "xbreak print_average if (1)" "Note: breakpoint.*also set at pc.*Breakpoint.*at.*file.*average.c, line 22." - - send_gdb "lb\n" - gdb_expect { - -re "Num Type Disp Enb Address What.*breakpoint keep y.*in sum at.*sum.c:15.*breakpoint keep y.*in print_average at.*average.c:22.*breakpoint keep y.*in sum at.*sum.c:15.*stop only if 1.*breakpoint keep y.*in print_average at.*average.c:22.*stop only if 1.*$gdb_prompt $" {pass "lb on xbreaks"} - -re ".*$gdb_prompt $" { fail "breakpoints not deleted"} - timeout { fail "info breakpoints (timeout)" } - } - -} - -# -# test_signals -# -proc test_signals { } { - gdb_test "handle SIGTERM nostop noprint" "" - gdb_test "z SIGTERM s" "Signal.*Stop.*Print.*Pass to program.*Description\r\nSIGTERM.*Yes.*Yes.*Yes.*Terminated" - gdb_test "z SIGTERM r" "Signal.*Stop.*Print.*Pass to program.*Description\r\nSIGTERM.*No.*No.*Yes.*Terminated" - gdb_test "z SIGTERM i" "Signal.*Stop.*Print.*Pass to program.*Description\r\nSIGTERM.*No.*No.*No.*Terminated" - gdb_test "z SIGTERM r" "Signal.*Stop.*Print.*Pass to program.*Description\r\nSIGTERM.*No.*Yes.*No.*Terminated" - gdb_test "z SIGTERM Q" "Signal.*Stop.*Print.*Pass to program.*Description\r\nSIGTERM.*No.*No.*No.*Terminated" - gdb_test "lz" "Signal.*Stop.*Print.*Pass to program.*Description\r\n\r\nSIGHUP.*Yes.*" -} - - - -# Start with a fresh gdb. -global GDBFLAGS -set saved_gdbflags $GDBFLAGS - -set GDBFLAGS "$GDBFLAGS --xdb" - -gdb_exit -gdb_start - -xdb_reinitialize_dir $srcdir/$subdir - -gdb_load ${binfile} -send_gdb "set width 0\n" -gdb_expect -re "$gdb_prompt $" -test_search -test_viewing_loc -test_dir_list -test_list_sources -test_vlist -test_va -gdb_test "l" "No arguments.\r\nc = 0.*\r\nfirst = 0\r\nlast = 0" -#test_list_globals -test_list_registers -test_backtrace - -# Start with a fresh gdb. - -gdb_exit -gdb_start -xdb_reinitialize_dir $srcdir/$subdir - -gdb_load ${binfile} -send_gdb "set width 0\n" -gdb_expect -re "$gdb_prompt $" -test_go - - -gdb_exit -gdb_start -xdb_reinitialize_dir $srcdir/$subdir - -gdb_load ${binfile} -send_gdb "set width 0\n" -gdb_expect -re "$gdb_prompt $" -gdb_test "break main" "" -gdb_test "R" "" -gdb_test "S" "32\[ \t\]+int last = num-1;" -test_breakpoints -test_signals -gdb_test "sm" "" -gdb_test "info set" ".*pagination: State of pagination is off.*" -gdb_test "am" "" -gdb_test "info set" ".*pagination: State of pagination is on.*" -gdb_exit - -set GDBFLAGS $saved_gdbflags - -return 0 - - - - - - diff --git a/gdb/testsuite/gdb.stabs/.Sanitize b/gdb/testsuite/gdb.stabs/.Sanitize deleted file mode 100644 index e3af0ef269e..00000000000 --- a/gdb/testsuite/gdb.stabs/.Sanitize +++ /dev/null @@ -1,44 +0,0 @@ -# .Sanitize for devo/gdb/testsuite/gdb.stabs. - -# Each directory to survive its way into a release will need a file -# like this one called "./.Sanitize". All keyword lines must exist, -# and must exist in the order specified by this file. Each directory -# in the tree will be processed, top down, in the following order. - -# Hash started lines like this one are comments and will be deleted -# before anything else is done. Blank lines will also be squashed -# out. - -# The lines between the "Do-first:" line and the "Things-to-keep:" -# line are executed as a /bin/sh shell script before anything else is -# done in this directory. - -Do-first: - -# All files listed between the "Things-to-keep:" line and the -# "Do-last:" line will be kept. All other files will be removed. -# Directories listed in this section will have their own Sanitize -# called. Directories not listed will be removed in their entirety -# with rm -rf. - -Things-to-keep: - -Makefile.in -configure -configure.in -aout.sed -ecoff.sed -hppa.sed -xcoff.sed -weird.def -weird.exp - -Things-to-lose: - - -# The lines between the "Do-last:" line and the end of the file -# are executed as a /bin/sh shell script after everything else is -# done. - -Do-last: -# eof diff --git a/gdb/testsuite/gdb.stabs/Makefile.in b/gdb/testsuite/gdb.stabs/Makefile.in deleted file mode 100644 index 246bc47fec1..00000000000 --- a/gdb/testsuite/gdb.stabs/Makefile.in +++ /dev/null @@ -1,19 +0,0 @@ -#### host, target, and site specific Makefile frags come in here. - -srcdir = . - -all: wierd.o - -wierd.o: ${srcdir}/${WIERDSTABS_S} ${srcdir}/wierd.def - cp ${srcdir}/${WIERDSTABS_S} tmp.c - $(CC) -I${srcdir} -E tmp.c >wierd.s - $(CC) -c wierd.s - -clean mostlyclean: - -rm -f *.o ${PROGS} *~ core tmp.c wierd.s - -distclean realclean: clean - -rm -f Makefile config.status - -Makefile: $(srcdir)/Makefile.in $(host_makefile_frag) $(target_makefile_frag) - $(SHELL) ./config.status diff --git a/gdb/testsuite/gdb.stabs/aout.sed b/gdb/testsuite/gdb.stabs/aout.sed deleted file mode 100644 index 0ed3a5e7cc2..00000000000 --- a/gdb/testsuite/gdb.stabs/aout.sed +++ /dev/null @@ -1,18 +0,0 @@ -# GDB legitimately expects a file name. -# The sun3 assembler bogusly requires that the value of this stab be a -# label. Placate it. -1i\ - .stabs "weird.c",0x64,0,0,Label0\ -Label0: -# -s/N_LSYM/0x80/ -s/N_GSYM/0x20/ -# Replace a single backslash with a doubled backslash -/\.stabs/s/\\/\\\\/ -s/\.begin_common\(.*\)/.stabs \1,0xe2,0,0,0/ -s/\.end_common\(.*\)/.stabs \1,0xe4,0,0,0/ -s/\.align_it/.align 2/ -/^#/d -/.if alpha/,/.endif alpha/d -/.if/d -/.endif/d diff --git a/gdb/testsuite/gdb.stabs/configure b/gdb/testsuite/gdb.stabs/configure deleted file mode 100644 index 0ff7143bf5c..00000000000 --- a/gdb/testsuite/gdb.stabs/configure +++ /dev/null @@ -1,863 +0,0 @@ -#! /bin/sh - -# Guess values for system-dependent variables and create Makefiles. -# Generated automatically using autoconf version 2.9 -# Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc. -# -# This configure script is free software; the Free Software Foundation -# gives unlimited permission to copy, distribute and modify it. - -# Defaults: -ac_help= -ac_default_prefix=/usr/local -# Any additions from configure.in: - -# Initialize some variables set by options. -# The variables have the same names as the options, with -# dashes changed to underlines. -build=NONE -cache_file=./config.cache -exec_prefix=NONE -host=NONE -no_create= -nonopt=NONE -no_recursion= -prefix=NONE -program_prefix=NONE -program_suffix=NONE -program_transform_name=s,x,x, -silent= -site= -srcdir= -target=NONE -verbose= -x_includes=NONE -x_libraries=NONE -bindir='${exec_prefix}/bin' -sbindir='${exec_prefix}/sbin' -libexecdir='${exec_prefix}/libexec' -datadir='${prefix}/share' -sysconfdir='${prefix}/etc' -sharedstatedir='${prefix}/com' -localstatedir='${prefix}/var' -libdir='${exec_prefix}/lib' -includedir='${prefix}/include' -oldincludedir='/usr/include' -infodir='${prefix}/info' -mandir='${prefix}/man' - -# Initialize some other variables. -subdirs= -MFLAGS= MAKEFLAGS= - -ac_prev= -for ac_option -do - - # If the previous option needs an argument, assign it. - if test -n "$ac_prev"; then - eval "$ac_prev=\$ac_option" - ac_prev= - continue - fi - - case "$ac_option" in - -*=*) ac_optarg=`echo "$ac_option" | sed 's/[-_a-zA-Z0-9]*=//'` ;; - *) ac_optarg= ;; - esac - - # Accept the important Cygnus configure options, so we can diagnose typos. - - case "$ac_option" in - - -bindir | --bindir | --bindi | --bind | --bin | --bi) - ac_prev=bindir ;; - -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) - bindir="$ac_optarg" ;; - - -build | --build | --buil | --bui | --bu) - ac_prev=build ;; - -build=* | --build=* | --buil=* | --bui=* | --bu=*) - build="$ac_optarg" ;; - - -cache-file | --cache-file | --cache-fil | --cache-fi \ - | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) - ac_prev=cache_file ;; - -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ - | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) - cache_file="$ac_optarg" ;; - - -datadir | --datadir | --datadi | --datad | --data | --dat | --da) - ac_prev=datadir ;; - -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \ - | --da=*) - datadir="$ac_optarg" ;; - - -disable-* | --disable-*) - ac_feature=`echo $ac_option|sed -e 's/-*disable-//'` - # Reject names that are not valid shell variable names. - if test -n "`echo $ac_feature| sed 's/[-a-zA-Z0-9_]//g'`"; then - { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; } - fi - ac_feature=`echo $ac_feature| sed 's/-/_/g'` - eval "enable_${ac_feature}=no" ;; - - -enable-* | --enable-*) - ac_feature=`echo $ac_option|sed -e 's/-*enable-//' -e 's/=.*//'` - # Reject names that are not valid shell variable names. - if test -n "`echo $ac_feature| sed 's/[-_a-zA-Z0-9]//g'`"; then - { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; } - fi - ac_feature=`echo $ac_feature| sed 's/-/_/g'` - case "$ac_option" in - *=*) ;; - *) ac_optarg=yes ;; - esac - eval "enable_${ac_feature}='$ac_optarg'" ;; - - -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ - | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ - | --exec | --exe | --ex) - ac_prev=exec_prefix ;; - -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ - | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ - | --exec=* | --exe=* | --ex=*) - exec_prefix="$ac_optarg" ;; - - -gas | --gas | --ga | --g) - # Obsolete; use --with-gas. - with_gas=yes ;; - - -help | --help | --hel | --he) - # Omit some internal or obsolete options to make the list less imposing. - # This message is too long to be a string in the A/UX 3.1 sh. - cat << EOF -Usage: configure [options] [host] -Options: [defaults in brackets after descriptions] -Configuration: - --cache-file=FILE cache test results in FILE - --help print this message - --no-create do not create output files - --quiet, --silent do not print \`checking...' messages - --version print the version of autoconf that created configure -Directory and file names: - --prefix=PREFIX install architecture-independent files in PREFIX - [$ac_default_prefix] - --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX - [same as prefix] - --bindir=DIR user executables in DIR [EPREFIX/bin] - --sbindir=DIR system admin executables in DIR [EPREFIX/sbin] - --libexecdir=DIR program executables in DIR [EPREFIX/libexec] - --datadir=DIR read-only architecture-independent data in DIR - [PREFIX/share] - --sysconfdir=DIR read-only single-machine data in DIR [PREFIX/etc] - --sharedstatedir=DIR modifiable architecture-independent data in DIR - [PREFIX/com] - --localstatedir=DIR modifiable single-machine data in DIR [PREFIX/var] - --libdir=DIR object code libraries in DIR [EPREFIX/lib] - --includedir=DIR C header files in DIR [PREFIX/include] - --oldincludedir=DIR C header files for non-gcc in DIR [/usr/include] - --infodir=DIR info documentation in DIR [PREFIX/info] - --mandir=DIR man documentation in DIR [PREFIX/man] - --srcdir=DIR find the sources in DIR [configure dir or ..] - --program-prefix=PREFIX prepend PREFIX to installed program names - --program-suffix=SUFFIX append SUFFIX to installed program names - --program-transform-name=PROGRAM - run sed PROGRAM on installed program names -EOF - cat << EOF -Host type: - --build=BUILD configure for building on BUILD [BUILD=HOST] - --host=HOST configure for HOST [guessed] - --target=TARGET configure for TARGET [TARGET=HOST] -Features and packages: - --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) - --enable-FEATURE[=ARG] include FEATURE [ARG=yes] - --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] - --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) - --x-includes=DIR X include files are in DIR - --x-libraries=DIR X library files are in DIR -EOF - if test -n "$ac_help"; then - echo "--enable and --with options recognized:$ac_help" - fi - exit 0 ;; - - -host | --host | --hos | --ho) - ac_prev=host ;; - -host=* | --host=* | --hos=* | --ho=*) - host="$ac_optarg" ;; - - -includedir | --includedir | --includedi | --included | --include \ - | --includ | --inclu | --incl | --inc) - ac_prev=includedir ;; - -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ - | --includ=* | --inclu=* | --incl=* | --inc=*) - includedir="$ac_optarg" ;; - - -infodir | --infodir | --infodi | --infod | --info | --inf) - ac_prev=infodir ;; - -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) - infodir="$ac_optarg" ;; - - -libdir | --libdir | --libdi | --libd) - ac_prev=libdir ;; - -libdir=* | --libdir=* | --libdi=* | --libd=*) - libdir="$ac_optarg" ;; - - -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ - | --libexe | --libex | --libe) - ac_prev=libexecdir ;; - -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ - | --libexe=* | --libex=* | --libe=*) - libexecdir="$ac_optarg" ;; - - -localstatedir | --localstatedir | --localstatedi | --localstated \ - | --localstate | --localstat | --localsta | --localst \ - | --locals | --local | --loca | --loc | --lo) - ac_prev=localstatedir ;; - -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ - | --localstate=* | --localstat=* | --localsta=* | --localst=* \ - | --locals=* | --local=* | --loca=* | --loc=* | --lo=*) - localstatedir="$ac_optarg" ;; - - -mandir | --mandir | --mandi | --mand | --man | --ma | --m) - ac_prev=mandir ;; - -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) - mandir="$ac_optarg" ;; - - -nfp | --nfp | --nf) - # Obsolete; use --without-fp. - with_fp=no ;; - - -no-create | --no-create | --no-creat | --no-crea | --no-cre \ - | --no-cr | --no-c) - no_create=yes ;; - - -no-recursion | --no-recursion | --no-recursio | --no-recursi \ - | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) - no_recursion=yes ;; - - -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ - | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ - | --oldin | --oldi | --old | --ol | --o) - ac_prev=oldincludedir ;; - -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ - | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ - | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) - oldincludedir="$ac_optarg" ;; - - -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) - ac_prev=prefix ;; - -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) - prefix="$ac_optarg" ;; - - -program-prefix | --program-prefix | --program-prefi | --program-pref \ - | --program-pre | --program-pr | --program-p) - ac_prev=program_prefix ;; - -program-prefix=* | --program-prefix=* | --program-prefi=* \ - | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) - program_prefix="$ac_optarg" ;; - - -program-suffix | --program-suffix | --program-suffi | --program-suff \ - | --program-suf | --program-su | --program-s) - ac_prev=program_suffix ;; - -program-suffix=* | --program-suffix=* | --program-suffi=* \ - | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) - program_suffix="$ac_optarg" ;; - - -program-transform-name | --program-transform-name \ - | --program-transform-nam | --program-transform-na \ - | --program-transform-n | --program-transform- \ - | --program-transform | --program-transfor \ - | --program-transfo | --program-transf \ - | --program-trans | --program-tran \ - | --progr-tra | --program-tr | --program-t) - ac_prev=program_transform_name ;; - -program-transform-name=* | --program-transform-name=* \ - | --program-transform-nam=* | --program-transform-na=* \ - | --program-transform-n=* | --program-transform-=* \ - | --program-transform=* | --program-transfor=* \ - | --program-transfo=* | --program-transf=* \ - | --program-trans=* | --program-tran=* \ - | --progr-tra=* | --program-tr=* | --program-t=*) - program_transform_name="$ac_optarg" ;; - - -q | -quiet | --quiet | --quie | --qui | --qu | --q \ - | -silent | --silent | --silen | --sile | --sil) - silent=yes ;; - - -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) - ac_prev=sbindir ;; - -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ - | --sbi=* | --sb=*) - sbindir="$ac_optarg" ;; - - -sharedstatedir | --sharedstatedir | --sharedstatedi \ - | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ - | --sharedst | --shareds | --shared | --share | --shar \ - | --sha | --sh) - ac_prev=sharedstatedir ;; - -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ - | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ - | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ - | --sha=* | --sh=*) - sharedstatedir="$ac_optarg" ;; - - -site | --site | --sit) - ac_prev=site ;; - -site=* | --site=* | --sit=*) - site="$ac_optarg" ;; - - -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) - ac_prev=srcdir ;; - -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) - srcdir="$ac_optarg" ;; - - -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ - | --syscon | --sysco | --sysc | --sys | --sy) - ac_prev=sysconfdir ;; - -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ - | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) - sysconfdir="$ac_optarg" ;; - - -target | --target | --targe | --targ | --tar | --ta | --t) - ac_prev=target ;; - -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) - target="$ac_optarg" ;; - - -v | -verbose | --verbose | --verbos | --verbo | --verb) - verbose=yes ;; - - -version | --version | --versio | --versi | --vers) - echo "configure generated by autoconf version 2.9" - exit 0 ;; - - -with-* | --with-*) - ac_package=`echo $ac_option|sed -e 's/-*with-//' -e 's/=.*//'` - # Reject names that are not valid shell variable names. - if test -n "`echo $ac_package| sed 's/[-_a-zA-Z0-9]//g'`"; then - { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; } - fi - ac_package=`echo $ac_package| sed 's/-/_/g'` - case "$ac_option" in - *=*) ;; - *) ac_optarg=yes ;; - esac - eval "with_${ac_package}='$ac_optarg'" ;; - - -without-* | --without-*) - ac_package=`echo $ac_option|sed -e 's/-*without-//'` - # Reject names that are not valid shell variable names. - if test -n "`echo $ac_package| sed 's/[-a-zA-Z0-9_]//g'`"; then - { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; } - fi - ac_package=`echo $ac_package| sed 's/-/_/g'` - eval "with_${ac_package}=no" ;; - - --x) - # Obsolete; use --with-x. - with_x=yes ;; - - -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ - | --x-incl | --x-inc | --x-in | --x-i) - ac_prev=x_includes ;; - -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ - | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) - x_includes="$ac_optarg" ;; - - -x-libraries | --x-libraries | --x-librarie | --x-librari \ - | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) - ac_prev=x_libraries ;; - -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ - | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) - x_libraries="$ac_optarg" ;; - - -*) { echo "configure: error: $ac_option: invalid option; use --help to show usage" 1>&2; exit 1; } - ;; - - *) - if test -n "`echo $ac_option| sed 's/[-a-z0-9.]//g'`"; then - echo "configure: warning: $ac_option: invalid host type" 1>&2 - fi - if test "x$nonopt" != xNONE; then - { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; } - fi - nonopt="$ac_option" - ;; - - esac -done - -if test -n "$ac_prev"; then - { echo "configure: error: missing argument to --`echo $ac_prev | sed 's/_/-/g'`" 1>&2; exit 1; } -fi - -trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15 - -# File descriptor usage: -# 0 standard input -# 1 file creation -# 2 errors and warnings -# 3 some systems may open it to /dev/tty -# 4 used on the Kubota Titan -# 6 checking for... messages and results -# 5 compiler messages saved in config.log -if test "$silent" = yes; then - exec 6>/dev/null -else - exec 6>&1 -fi -exec 5>./config.log - -echo "\ -This file contains any messages produced by compilers while -running configure, to aid debugging if configure makes a mistake. -" 1>&5 - -# Strip out --no-create and --no-recursion so they do not pile up. -# Also quote any args containing shell metacharacters. -ac_configure_args= -for ac_arg -do - case "$ac_arg" in - -no-create | --no-create | --no-creat | --no-crea | --no-cre \ - | --no-cr | --no-c) ;; - -no-recursion | --no-recursion | --no-recursio | --no-recursi \ - | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) ;; - *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?]*) - ac_configure_args="$ac_configure_args '$ac_arg'" ;; - *) ac_configure_args="$ac_configure_args $ac_arg" ;; - esac -done - -# NLS nuisances. -# Only set LANG and LC_ALL to C if already set. -# These must not be set unconditionally because not all systems understand -# e.g. LANG=C (notably SCO). -if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi -if test "${LANG+set}" = set; then LANG=C; export LANG; fi - -# confdefs.h avoids OS command line length limits that DEFS can exceed. -rm -rf conftest* confdefs.h -# AIX cpp loses on an empty file, so make sure it contains at least a newline. -echo > confdefs.h - -# A filename unique to this package, relative to the directory that -# configure is in, which we can look for to find out if srcdir is correct. -ac_unique_file=weird.exp - -# Find the source files, if location was not specified. -if test -z "$srcdir"; then - ac_srcdir_defaulted=yes - # Try the directory containing this script, then its parent. - ac_prog=$0 - ac_confdir=`echo $ac_prog|sed 's%/[^/][^/]*$%%'` - test "x$ac_confdir" = "x$ac_prog" && ac_confdir=. - srcdir=$ac_confdir - if test ! -r $srcdir/$ac_unique_file; then - srcdir=.. - fi -else - ac_srcdir_defaulted=no -fi -if test ! -r $srcdir/$ac_unique_file; then - if test "$ac_srcdir_defaulted" = yes; then - { echo "configure: error: can not find sources in $ac_confdir or .." 1>&2; exit 1; } - else - { echo "configure: error: can not find sources in $srcdir" 1>&2; exit 1; } - fi -fi -srcdir=`echo "${srcdir}" | sed 's%\([^/]\)/*$%\1%'` - -# Prefer explicitly selected file to automatically selected ones. -if test -z "$CONFIG_SITE"; then - if test "x$prefix" != xNONE; then - CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site" - else - CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site" - fi -fi -for ac_site_file in $CONFIG_SITE; do - if test -r "$ac_site_file"; then - echo "loading site script $ac_site_file" - . "$ac_site_file" - fi -done - -if test -r "$cache_file"; then - echo "loading cache $cache_file" - . $cache_file -else - echo "creating cache $cache_file" - > $cache_file -fi - -ac_ext=c -# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. -ac_cpp='$CPP $CPPFLAGS' -ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5' -ac_link='${CC-cc} -o conftest $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5' - -if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then - # Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu. - if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then - ac_n= ac_c=' -' ac_t=' ' - else - ac_n=-n ac_c= ac_t= - fi -else - ac_n= ac_c='\c' ac_t= -fi - - - -CC=${CC-cc} - -ac_aux_dir= -for ac_dir in `cd $srcdir;pwd`/../../.. $srcdir/`cd $srcdir;pwd`/../../..; do - if test -f $ac_dir/install-sh; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/install-sh -c" - break - elif test -f $ac_dir/install.sh; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/install.sh -c" - break - fi -done -if test -z "$ac_aux_dir"; then - { echo "configure: error: can not find install-sh or install.sh in `cd $srcdir;pwd`/../../.. $srcdir/`cd $srcdir;pwd`/../../.." 1>&2; exit 1; } -fi -ac_config_guess=$ac_aux_dir/config.guess -ac_config_sub=$ac_aux_dir/config.sub -ac_configure=$ac_aux_dir/configure # This should be Cygnus configure. - - -# Do some error checking and defaulting for the host and target type. -# The inputs are: -# configure --host=HOST --target=TARGET --build=BUILD NONOPT -# -# The rules are: -# 1. You are not allowed to specify --host, --target, and nonopt at the -# same time. -# 2. Host defaults to nonopt. -# 3. If nonopt is not specified, then host defaults to the current host, -# as determined by config.guess. -# 4. Target and build default to nonopt. -# 5. If nonopt is not specified, then target and build default to host. - -# The aliases save the names the user supplied, while $host etc. -# will get canonicalized. -case $host---$target---$nonopt in -NONE---*---* | *---NONE---* | *---*---NONE) ;; -*) { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; } ;; -esac - - -# Make sure we can run config.sub. -if $ac_config_sub sun4 >/dev/null 2>&1; then : -else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; } -fi - -echo $ac_n "checking host system type""... $ac_c" 1>&6 - -host_alias=$host -case "$host_alias" in -NONE) - case $nonopt in - NONE) - if host_alias=`$ac_config_guess`; then : - else { echo "configure: error: can not guess host type; you must specify one" 1>&2; exit 1; } - fi ;; - *) host_alias=$nonopt ;; - esac ;; -esac - -host=`$ac_config_sub $host_alias` -host_cpu=`echo $host | sed 's/^\(.*\)-\(.*\)-\(.*\)$/\1/'` -host_vendor=`echo $host | sed 's/^\(.*\)-\(.*\)-\(.*\)$/\2/'` -host_os=`echo $host | sed 's/^\(.*\)-\(.*\)-\(.*\)$/\3/'` -echo "$ac_t""$host" 1>&6 - -echo $ac_n "checking target system type""... $ac_c" 1>&6 - -target_alias=$target -case "$target_alias" in -NONE) - case $nonopt in - NONE) target_alias=$host_alias ;; - *) target_alias=$nonopt ;; - esac ;; -esac - -target=`$ac_config_sub $target_alias` -target_cpu=`echo $target | sed 's/^\(.*\)-\(.*\)-\(.*\)$/\1/'` -target_vendor=`echo $target | sed 's/^\(.*\)-\(.*\)-\(.*\)$/\2/'` -target_os=`echo $target | sed 's/^\(.*\)-\(.*\)-\(.*\)$/\3/'` -echo "$ac_t""$target" 1>&6 - -echo $ac_n "checking build system type""... $ac_c" 1>&6 - -build_alias=$build -case "$build_alias" in -NONE) - case $nonopt in - NONE) build_alias=$host_alias ;; - *) build_alias=$nonopt ;; - esac ;; -esac - -build=`$ac_config_sub $build_alias` -build_cpu=`echo $build | sed 's/^\(.*\)-\(.*\)-\(.*\)$/\1/'` -build_vendor=`echo $build | sed 's/^\(.*\)-\(.*\)-\(.*\)$/\2/'` -build_os=`echo $build | sed 's/^\(.*\)-\(.*\)-\(.*\)$/\3/'` -echo "$ac_t""$build" 1>&6 - -test "$host_alias" != "$target_alias" && - test "$program_prefix$program_suffix$program_transform_name" = \ - NONENONEs,x,x, && - program_prefix=${target_alias}- - - -case "${target}" in - -# Do any other machines use .stabx? What about i386-*-aix*? -rs6000-*-aix*) target_makefile_frag=xcoff.mt ;; - -alpha-*-*) if test "x${with_gnu_as}" = xyes ; then - target_makefile_frag=aout.mt - else - target_makefile_frag=alpha.mt - fi - ;; - -hppa*-*-*) target_makefile_frag=hppa.mt ;; - -mips-*-bsd*) target_makefile_frag=aout.mt ;; -mips-*-*) if test "x${with_gnu_as}" = xyes ; then - target_makefile_frag=aout.mt - else - target_makefile_frag=ecoff.mt - fi - ;; - -*-*-*) target_makefile_frag=aout.mt ;; - -esac - -# We also need to use a makefile fragment for the embedded targets -# to get the flags right to build the test cases - - -trap '' 1 2 15 -cat > confcache <<\EOF -# This file is a shell script that caches the results of configure -# tests run on this system so they can be shared between configure -# scripts and configure runs. It is not useful on other systems. -# If it contains results you don't want to keep, you may remove or edit it. -# -# By default, configure uses ./config.cache as the cache file, -# creating it if it does not exist already. You can give configure -# the --cache-file=FILE option to use a different cache file; that is -# what configure does when it calls configure scripts in -# subdirectories, so they share the cache. -# Giving --cache-file=/dev/null disables caching, for debugging configure. -# config.status only pays attention to the cache file if you give it the -# --recheck option to rerun configure. -# -EOF -# Ultrix sh set writes to stderr and can't be redirected directly, -# and sets the high bit in the cache file unless we assign to the vars. -(set) 2>&1 | - sed -n "s/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=\${\1='\2'}/p" \ - >> confcache -if cmp -s $cache_file confcache; then - : -else - if test -w $cache_file; then - echo "updating cache $cache_file" - cat confcache > $cache_file - else - echo "not updating unwritable cache $cache_file" - fi -fi -rm -f confcache - -trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15 - -test "x$prefix" = xNONE && prefix=$ac_default_prefix -# Let make expand exec_prefix. -test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' - -# Any assignment to VPATH causes Sun make to only execute -# the first set of double-colon rules, so remove it if not needed. -# If there is a colon in the path, we need to keep it. -if test "x$srcdir" = x.; then - ac_vpsub='/^[ ]*VPATH[ ]*=[^:]*$/d' -fi - -trap 'rm -f $CONFIG_STATUS conftest*; exit 1' 1 2 15 - -# Transform confdefs.h into DEFS. -# Protect against shell expansion while executing Makefile rules. -# Protect against Makefile macro expansion. -cat > conftest.defs <<\EOF -s%#define \([A-Za-z_][A-Za-z0-9_]*\) *\(.*\)%-D\1=\2%g -s%[ `~#$^&*(){}\\|;'"<>?]%\\&%g -s%\[%\\&%g -s%\]%\\&%g -s%\$%$$%g -EOF -DEFS=`sed -f conftest.defs confdefs.h | tr '\012' ' '` -rm -f conftest.defs - - -# Without the "./", some shells look in PATH for config.status. -: ${CONFIG_STATUS=./config.status} - -echo creating $CONFIG_STATUS -rm -f $CONFIG_STATUS -cat > $CONFIG_STATUS <<EOF -#! /bin/sh -# Generated automatically by configure. -# Run this file to recreate the current configuration. -# This directory was configured as follows, -# on host `(hostname || uname -n) 2>/dev/null | sed 1q`: -# -# $0 $ac_configure_args -# -# Compiler output produced by configure, useful for debugging -# configure, is in ./config.log if it exists. - -ac_cs_usage="Usage: $CONFIG_STATUS [--recheck] [--version] [--help]" -for ac_option -do - case "\$ac_option" in - -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) - echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion" - exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;; - -version | --version | --versio | --versi | --vers | --ver | --ve | --v) - echo "$CONFIG_STATUS generated by autoconf version 2.9" - exit 0 ;; - -help | --help | --hel | --he | --h) - echo "\$ac_cs_usage"; exit 0 ;; - *) echo "\$ac_cs_usage"; exit 1 ;; - esac -done - -ac_given_srcdir=$srcdir - -trap 'rm -fr `echo "Makefile" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15 -EOF -cat >> $CONFIG_STATUS <<EOF - -# Protect against being on the right side of a sed subst in config.status. -sed 's/%@/@@/; s/@%/@@/; s/%g\$/@g/; /@g\$/s/[\\\\&%]/\\\\&/g; - s/@@/%@/; s/@@/@%/; s/@g\$/%g/' > conftest.subs <<\\CEOF -$ac_vpsub -$extrasub -s%@CFLAGS@%$CFLAGS%g -s%@CPPFLAGS@%$CPPFLAGS%g -s%@CXXFLAGS@%$CXXFLAGS%g -s%@DEFS@%$DEFS%g -s%@LDFLAGS@%$LDFLAGS%g -s%@LIBS@%$LIBS%g -s%@exec_prefix@%$exec_prefix%g -s%@prefix@%$prefix%g -s%@program_transform_name@%$program_transform_name%g -s%@bindir@%$bindir%g -s%@sbindir@%$sbindir%g -s%@libexecdir@%$libexecdir%g -s%@datadir@%$datadir%g -s%@sysconfdir@%$sysconfdir%g -s%@sharedstatedir@%$sharedstatedir%g -s%@localstatedir@%$localstatedir%g -s%@libdir@%$libdir%g -s%@includedir@%$includedir%g -s%@oldincludedir@%$oldincludedir%g -s%@infodir@%$infodir%g -s%@mandir@%$mandir%g -s%@CC@%$CC%g -s%@host@%$host%g -s%@host_alias@%$host_alias%g -s%@host_cpu@%$host_cpu%g -s%@host_vendor@%$host_vendor%g -s%@host_os@%$host_os%g -s%@target@%$target%g -s%@target_alias@%$target_alias%g -s%@target_cpu@%$target_cpu%g -s%@target_vendor@%$target_vendor%g -s%@target_os@%$target_os%g -s%@build@%$build%g -s%@build_alias@%$build_alias%g -s%@build_cpu@%$build_cpu%g -s%@build_vendor@%$build_vendor%g -s%@build_os@%$build_os%g -/@target_makefile_frag@/r $target_makefile_frag -s%@target_makefile_frag@%%g - -CEOF -EOF -cat >> $CONFIG_STATUS <<EOF - -CONFIG_FILES=\${CONFIG_FILES-"Makefile"} -EOF -cat >> $CONFIG_STATUS <<\EOF -for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then - # Support "outfile[:infile]", defaulting infile="outfile.in". - case "$ac_file" in - *:*) ac_file_in=`echo "$ac_file"|sed 's%.*:%%'` - ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;; - *) ac_file_in="${ac_file}.in" ;; - esac - - # Adjust relative srcdir, etc. for subdirectories. - - # Remove last slash and all that follows it. Not all systems have dirname. - ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'` - if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then - # The file is in a subdirectory. - test ! -d "$ac_dir" && mkdir "$ac_dir" - ac_dir_suffix="/`echo $ac_dir|sed 's%^\./%%'`" - # A "../" for each directory in $ac_dir_suffix. - ac_dots=`echo $ac_dir_suffix|sed 's%/[^/]*%../%g'` - else - ac_dir_suffix= ac_dots= - fi - - case "$ac_given_srcdir" in - .) srcdir=. - if test -z "$ac_dots"; then top_srcdir=. - else top_srcdir=`echo $ac_dots|sed 's%/$%%'`; fi ;; - /*) srcdir="$ac_given_srcdir$ac_dir_suffix"; top_srcdir="$ac_given_srcdir" ;; - *) # Relative path. - srcdir="$ac_dots$ac_given_srcdir$ac_dir_suffix" - top_srcdir="$ac_dots$ac_given_srcdir" ;; - esac - - echo creating "$ac_file" - rm -f "$ac_file" - configure_input="Generated automatically from `echo $ac_file_in|sed 's%.*/%%'` by configure." - case "$ac_file" in - *Makefile*) ac_comsub="1i\\ -# $configure_input" ;; - *) ac_comsub= ;; - esac - sed -e "$ac_comsub -s%@configure_input@%$configure_input%g -s%@srcdir@%$srcdir%g -s%@top_srcdir@%$top_srcdir%g -" -f conftest.subs $ac_given_srcdir/$ac_file_in > $ac_file -fi; done -rm -f conftest.subs - - - -exit 0 -EOF -chmod +x $CONFIG_STATUS -rm -fr confdefs* $ac_clean_files -test "$no_create" = yes || ${CONFIG_SHELL-/bin/sh} $CONFIG_STATUS || exit 1 - diff --git a/gdb/testsuite/gdb.stabs/configure.in b/gdb/testsuite/gdb.stabs/configure.in deleted file mode 100644 index aa494262bc1..00000000000 --- a/gdb/testsuite/gdb.stabs/configure.in +++ /dev/null @@ -1,15 +0,0 @@ -dnl Process this file file with autoconf to produce a configure script. -dnl This file is a shell script fragment that supplies the information -dnl necessary to tailor a template configure script into the configure -dnl script appropriate for this directory. For more information, check -dnl any existing configure script. - -AC_PREREQ(2.5) -AC_INIT(weird.exp) - -CC=${CC-cc} -AC_SUBST(CC) -AC_CONFIG_AUX_DIR(`cd $srcdir;pwd`/../../..) -AC_CANONICAL_SYSTEM - -AC_OUTPUT(Makefile) diff --git a/gdb/testsuite/gdb.stabs/ecoff.sed b/gdb/testsuite/gdb.stabs/ecoff.sed deleted file mode 100644 index 18925394ff4..00000000000 --- a/gdb/testsuite/gdb.stabs/ecoff.sed +++ /dev/null @@ -1,18 +0,0 @@ -# GDB legitimately expects a file name. -1i\ - .file 1 "weird.c"\ - #@stabs\ - #.stabs "weird.c",0x64,0,0,0 -/^#/d -# Remove whitespace from various places. -s/" *, */",/g -s/\([0-9]\) *, */\1,/g -s/ *$// -# -s/N_LSYM/0x80/ -s/N_GSYM/0x20/ -s/\.begin_common\(.*\)/.stabs \1,0xe2,0,0,0/ -s/\.end_common\(.*\)/.stabs \1,0xe4,0,0,0/ -s/\.align_it/.align 2/ -/.if/d -/.endif/d diff --git a/gdb/testsuite/gdb.stabs/hppa.sed b/gdb/testsuite/gdb.stabs/hppa.sed deleted file mode 100644 index 05d15c9a34b..00000000000 --- a/gdb/testsuite/gdb.stabs/hppa.sed +++ /dev/null @@ -1,19 +0,0 @@ -# GDB legitimately expects a file name. -# The sun3 assembler bogusly requires that the value of this stab be a -# label. Placate it. -1i\ - .stabs "weird.c",0x64,0,0,Label0\ -Label0: -# -s/N_LSYM/0x80/ -s/N_GSYM/0x20/ -# Replace a single backslash with a doubled backslash -/\.stabs/s/\\/\\\\/ -s/\.begin_common\(.*\)/.stabs \1,0xe2,0,0,0/ -s/\.end_common\(.*\)/.stabs \1,0xe4,0,0,0/ -s/\.align_it/.align 4/ -s/\.globl/.export/ -/^#/d -/.if alpha/,/.endif alpha/d -/.if/d -/.endif/d diff --git a/gdb/testsuite/gdb.stabs/weird.def b/gdb/testsuite/gdb.stabs/weird.def deleted file mode 100644 index d558f9871e4..00000000000 --- a/gdb/testsuite/gdb.stabs/weird.def +++ /dev/null @@ -1,965 +0,0 @@ -# We'll need an integer type. -.stabs "inttype:t1=bu4;0;32;",N_LSYM,0,0,0 - -# There are several kinds of tests in here. We mix up the order to see -# if we can test for poor handling of a stab affecting the next or previous -# stab. - -# Try all possible symbol descriptors. Note that GDB should merely -# complain() even though these strings are totally bogus. This allows -# us to define new syntaxes. -.stabs "sym32: !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0 - -# Type descriptors. -.stabs "type32:t32= !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0 - -# Note that a 'G', N_GSYM symbol needs no value. The name of the stab is -# used to look up a non-stab symbol with the same name. On some machines, -# the non-stab symbols will normally have underscores, but if they lack -# the underscores, then GDB will simply put the symbol in the minimal -# symbol table all the same. So we can use them without underscores and -# that way we don't need to worry about which machines -# to add underscores and so on. - -# Type attributes. -.stabs "attr104:G404=@h !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",N_GSYM,0,0, 0 -.stabs "attr105:G405=@i !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",N_GSYM,0,0, 0 - -# A few real type attributes. -# Alignment. -.stabs "var0:G300=@a8;1",N_GSYM,0,0, 0 -.globl var0 -.data -.align_it -var0: -.long 42 - -.stabs "sym33:! !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0 -.stabs "sym35:# !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0 -.stabs "sym36:$ !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0 -.stabs "sym37:% !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0 -.stabs "sym38:& !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0 -.stabs "sym39:' !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0 -.stabs "sym40:( !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0 -.stabs "sym41:) !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0 -.stabs "sym42:* !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0 -.stabs "sym43:+ !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0 -.stabs "sym44:, !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0 -.stabs "sym45:- !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0 - -.globl attr122 -.data -.align_it -attr122: -.long 42 -.globl attr123 -.data -.align_it -attr123: -.long 42 -.globl attr124 -.data -.align_it -attr124: -.long 42 - -.stabs "sym46:. !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0 -.stabs "sym47:/ !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0 -.stabs "sym48:0 !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0 -.stabs "sym49:1 !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0 -.stabs "sym50:2 !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0 - -.stabs "attr96:G396=@` !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",N_GSYM,0,0, 0 -.stabs "attr97:G397=@a !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",N_GSYM,0,0, 0 -.stabs "attr98:G398=@b !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",N_GSYM,0,0, 0 -.stabs "attr99:G399=@c !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",N_GSYM,0,0, 0 - -.stabs "sym51:3 !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0 -.stabs "sym52:4 !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0 -.stabs "sym53:5 !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0 -.stabs "sym54:6 !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0 -.stabs "sym55:7 !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0 -.stabs "sym56:8 !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0 -.stabs "sym57:9 !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0 -.stabs "sym58:: !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0 -.stabs "sym59:; !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0 -.stabs "sym60:< !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0 -.stabs "sym61:= !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0 -.stabs "sym62:> !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0 -.stabs "sym63:? !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0 -.stabs "sym64:@ !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0 -.stabs "sym65:A !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0 -.stabs "sym66:B !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0 -.stabs "sym67:C !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0 -.stabs "sym68:D !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0 -.stabs "sym69:E !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0 -.stabs "sym70:F !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0 -.stabs "sym71:G !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0 -.stabs "sym72:H !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0 -.stabs "sym73:I !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0 -.stabs "sym74:J !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0 -.stabs "sym75:K !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0 -.stabs "sym76:L !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0 -.stabs "sym77:M !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0 -.stabs "sym78:N !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0 -.stabs "sym79:O !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0 -.stabs "sym80:P !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0 -.stabs "sym81:Q !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0 -.stabs "sym82:R !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0 -.stabs "sym83:S !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0 -.stabs "sym84:T !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0 -.stabs "sym85:U !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0 -.stabs "sym86:V !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0 -.stabs "sym87:W !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0 -.stabs "sym88:X !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0 -.stabs "sym89:Y !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0 -.stabs "sym90:Z !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0 -.stabs "sym91:[ !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0 - -.stabs "sym93:] !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0 -.stabs "sym94:^ !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0 -.stabs "sym95:_ !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0 -.stabs "sym96:` !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0 -.stabs "sym97:a !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0 -.stabs "sym98:b !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0 -.stabs "sym99:c !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0 -.stabs "sym100:d !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0 -.stabs "sym101:e !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0 -.stabs "sym102:f !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0 -.stabs "sym103:g !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0 -.stabs "sym104:h !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0 -.stabs "sym105:i !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0 -.stabs "sym106:j !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0 -.stabs "sym107:k !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0 -.stabs "sym108:l !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0 -.stabs "sym109:m !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0 -.stabs "sym110:n !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0 -.stabs "sym111:o !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0 -.stabs "sym112:p !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0 -.stabs "sym113:q !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0 -.stabs "sym114:r !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0 -.stabs "sym115:s !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0 -.stabs "sym116:t !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0 -.stabs "sym117:u !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0 -.stabs "sym118:v !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0 -.stabs "sym119:w !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0 -.stabs "sym120:x !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0 -.stabs "sym121:y !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0 -.stabs "sym122:z !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0 -.stabs "sym123:{ !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0 -.stabs "sym124:| !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0 -.stabs "sym125:} !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0 -.stabs "sym126:~ !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0 - -.stabs "type33:t33=! !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0 -.stabs "type35:t35=# !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0 -.stabs "type36:t36=$ !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0 -.stabs "type37:t37=% !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0 -.stabs "type38:t38=& !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0 -.stabs "type39:t39=' !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0 -.stabs "type40:t40=( !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0 -.stabs "type41:t41=) !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0 -.stabs "type42:t42=* !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0 -.stabs "type43:t43=+ !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0 -.stabs "type44:t44=, !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0 -.stabs "type45:t45=- !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0 -.stabs "type46:t46=. !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0 -.stabs "type47:t47=/ !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0 -.stabs "type48:t48=0 !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0 -.stabs "type49:t49=1 !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0 -.stabs "type50:t50=2 !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0 -.stabs "type51:t51=3 !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0 -.stabs "type52:t52=4 !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0 -.stabs "type53:t53=5 !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0 -.stabs "type54:t54=6 !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0 -.stabs "type55:t55=7 !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0 -.stabs "type56:t56=8 !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0 -.stabs "type57:t57=9 !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0 -.stabs "type58:t58=: !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0 -.stabs "type59:t59=; !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0 -.stabs "type60:t60=< !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0 -.stabs "type61:t61== !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0 -.stabs "type62:t62=> !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0 -.stabs "type63:t63=? !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0 -.stabs "type64:t64=@ !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0 -.stabs "type65:t65=A !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0 -.stabs "type66:t66=B !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0 -.stabs "type67:t67=C !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0 - -.globl attr66 -.data -.align_it -attr66: -.long 42 -.globl attr67 -.data -.align_it -attr67: -.long 42 -.globl attr68 -.data -.align_it -attr68: -.long 42 -.globl attr69 -.data -.align_it -attr69: -.long 42 - -.stabs "type68:t68=D !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0 -.stabs "type69:t69=E !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0 -.stabs "type70:t70=F !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0 -.stabs "type71:t71=G !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0 -.stabs "type72:t72=H !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0 -.stabs "type73:t73=I !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0 -.stabs "type74:t74=J !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0 -.stabs "type75:t75=K !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0 -.stabs "type76:t76=L !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0 -.stabs "type77:t77=M !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0 -.stabs "type78:t78=N !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0 -.stabs "type79:t79=O !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0 -.stabs "type80:t80=P !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0 -.stabs "type81:t81=Q !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0 -.stabs "type82:t82=R !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0 -.stabs "type83:t83=S !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0 -.stabs "type84:t84=T !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0 -.stabs "type85:t85=U !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0 -.stabs "type86:t86=V !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0 -.stabs "type87:t87=W !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0 - -.stabs "attr69:G369=@E !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",N_GSYM,0,0, 0 -.stabs "attr70:G370=@F !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",N_GSYM,0,0, 0 -.stabs "attr71:G371=@G !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",N_GSYM,0,0, 0 - -.stabs "type88:t88=X !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0 -.stabs "type89:t89=Y !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0 -.stabs "type90:t90=Z !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0 -.stabs "type91:t91=[ !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0 - -.stabs "type93:t93=] !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0 -.stabs "type94:t94=^ !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0 -.stabs "type95:t95=_ !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0 -.stabs "type96:t96=` !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0 -.stabs "type97:t97=a !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0 -.stabs "type98:t98=b !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0 -.stabs "type99:t99=c !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0 -.stabs "type100:t100=d !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0 -.stabs "type101:t101=e !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0 -.stabs "type102:t102=f !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0 -.stabs "type103:t103=g !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0 -.stabs "type104:t104=h !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0 -.stabs "type105:t105=i !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0 -.stabs "type106:t106=j !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0 -.stabs "type107:t107=k !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0 -.stabs "type108:t108=l !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0 -.stabs "type109:t109=m !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0 -.stabs "type110:t110=n !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0 -.stabs "type111:t111=o !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0 -.stabs "type112:t112=p !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0 -.stabs "type113:t113=q !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0 -.stabs "type114:t114=r !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0 -.stabs "type115:t115=s !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0 -.stabs "type116:t116=t !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0 -.stabs "type117:t117=u !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0 -.stabs "type118:t118=v !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0 -.stabs "type119:t119=w !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0 -.stabs "type120:t120=x !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0 -.stabs "type121:t121=y !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0 -.stabs "type122:t122=z !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0 -.stabs "type123:t123={ !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0 -.stabs "type124:t124=| !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0 -.stabs "type125:t125=} !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0 -.stabs "type126:t126=~ !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0 - -.stabs "attr32:G332=@ !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",N_GSYM,0,0, 0 -.stabs "attr33:G333=@! !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",N_GSYM,0,0, 0 -.stabs "attr35:G334=@# !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",N_GSYM,0,0, 0 - -.stabs "attr36:G335=@$ !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",N_GSYM,0,0, 0 - -.stabs "attr37:G337=@% !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",N_GSYM,0,0, 0 - -# Test 'e' constant on non-enum type. -.stabs "const69:c=e1,69", N_LSYM,0,0, 0 - -# Test constant with the type embedded. -.stabs "const70:c=e190=bs2;0;16;,70", N_LSYM,0,0, 0 - -.stabs "attr38:G338=@& !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",N_GSYM,0,0, 0 - -# Unrecognized negative type number. -.stabs "bad_neg0type:t201=s8field0:1,0,32;field2:-534,32,64;field3:-1,96,32;;", N_LSYM,0,0, 0 - -.stabs "bad_neg0:G201", N_GSYM,0,0, 0 - -.globl bad_neg0 -.data -.align_it -bad_neg0: -.long 42 - .long 43, 44, 45 - -.stabs "attr39:G339=@' !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",N_GSYM,0,0, 0 -.stabs "attr41:G341=@) !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",N_GSYM,0,0, 0 -.stabs "attr42:G342=@* !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",N_GSYM,0,0, 0 -.stabs "attr43:G343=@+ !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",N_GSYM,0,0, 0 -.stabs "attr44:G344=@, !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",N_GSYM,0,0, 0 -.stabs "attr46:G346=@. !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",N_GSYM,0,0, 0 -.stabs "attr47:G347=@/ !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",N_GSYM,0,0, 0 -.stabs "attr58:G358=@: !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",N_GSYM,0,0, 0 - -# Test two type attributes for one type. -.stabs "attr59:G359=@;@ !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",N_GSYM,0,0, 0 - -.stabs "attr60:G360=@< !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",N_GSYM,0,0, 0 -.stabs "attr61:G361=@= !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",N_GSYM,0,0, 0 -.stabs "attr62:G362=@> !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",N_GSYM,0,0, 0 -.stabs "attr63:G363=@? !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",N_GSYM,0,0, 0 -.stabs "attr64:G364=@@ !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",N_GSYM,0,0, 0 -.stabs "attr65:G365=@A !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",N_GSYM,0,0, 0 -.stabs "attr66:G366=@B !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",N_GSYM,0,0, 0 -.stabs "attr67:G367=@C !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",N_GSYM,0,0, 0 -.stabs "attr68:G368=@D !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",N_GSYM,0,0, 0 -.stabs "attr72:G372=@H !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",N_GSYM,0,0, 0 -.stabs "attr73:G373=@I !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",N_GSYM,0,0, 0 -.stabs "attr74:G374=@J !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",N_GSYM,0,0, 0 -.stabs "attr75:G375=@K !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",N_GSYM,0,0, 0 -.stabs "attr76:G376=@L !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",N_GSYM,0,0, 0 -.stabs "attr77:G377=@M !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",N_GSYM,0,0, 0 -.stabs "attr78:G378=@N !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",N_GSYM,0,0, 0 -.stabs "attr79:G379=@O !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",N_GSYM,0,0, 0 -.stabs "attr80:G380=@P !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",N_GSYM,0,0, 0 -.stabs "attr81:G381=@Q !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",N_GSYM,0,0, 0 -.stabs "attr82:G382=@R !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",N_GSYM,0,0, 0 -.stabs "attr83:G383=@S !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",N_GSYM,0,0, 0 -.stabs "attr84:G384=@T !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",N_GSYM,0,0, 0 -.stabs "attr85:G385=@U !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",N_GSYM,0,0, 0 -.stabs "attr86:G386=@V !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",N_GSYM,0,0, 0 -.stabs "attr87:G387=@W !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",N_GSYM,0,0, 0 -.stabs "attr88:G388=@X !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",N_GSYM,0,0, 0 -.stabs "attr89:G389=@Y !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",N_GSYM,0,0, 0 -.stabs "attr90:G390=@Z !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",N_GSYM,0,0, 0 -.stabs "attr91:G391=@[ !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",N_GSYM,0,0, 0 - -.stabs "attr93:G393=@] !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",N_GSYM,0,0, 0 - -# Do with and without underscore, so this wins regardless of whether -# names have underscores. - -.globl _common0 -.data -.align_it -_common0: -.long 42 - .long 24 - .long 22 -.globl common0 -.data -.align_it -common0: -.long 42 - .long 24 - .long 22 -.begin_common "common0" -.stabs "common0var0:S1", N_GSYM,0,0, 0 -.stabs "common0var1:S1", N_GSYM,0,0, 4 -.stabs "common0var2:S1", N_GSYM,0,0, 8 -.end_common "common0" - -.stabs "attr94:G394=@^ !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",N_GSYM,0,0, 0 -.stabs "attr95:G395=@_ !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",N_GSYM,0,0, 0 -.stabs "attr100:G400=@d !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",N_GSYM,0,0, 0 -.stabs "attr101:G401=@e !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",N_GSYM,0,0, 0 -.stabs "attr102:G402=@f !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",N_GSYM,0,0, 0 -.stabs "attr103:G403=@g !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",N_GSYM,0,0, 0 -.stabs "attr106:G406=@j !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",N_GSYM,0,0, 0 -.stabs "attr107:G407=@k !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",N_GSYM,0,0, 0 -.stabs "attr108:G408=@l !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",N_GSYM,0,0, 0 -.stabs "attr109:G409=@m !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",N_GSYM,0,0, 0 -.stabs "attr110:G410=@n !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",N_GSYM,0,0, 0 -.stabs "attr111:G411=@o !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",N_GSYM,0,0, 0 -.stabs "attr112:G412=@p !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",N_GSYM,0,0, 0 -.stabs "attr113:G413=@q !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",N_GSYM,0,0, 0 -.stabs "attr114:G414=@r !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",N_GSYM,0,0, 0 -.stabs "attr115:G415=@s !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",N_GSYM,0,0, 0 -.stabs "attr116:G416=@t !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",N_GSYM,0,0, 0 -.stabs "attr117:G417=@u !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",N_GSYM,0,0, 0 -.stabs "attr118:G418=@v !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",N_GSYM,0,0, 0 -.stabs "attr119:G419=@w !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",N_GSYM,0,0, 0 -.stabs "attr120:G420=@x !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",N_GSYM,0,0, 0 -.stabs "attr121:G421=@y !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",N_GSYM,0,0, 0 -.stabs "attr122:G422=@z !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",N_GSYM,0,0, 0 -.stabs "attr123:G423=@{ !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",N_GSYM,0,0, 0 -.stabs "attr124:G424=@| !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",N_GSYM,0,0, 0 -.stabs "attr125:G425=@} !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",N_GSYM,0,0, 0 -.stabs "attr126:G426=@~ !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",N_GSYM,0,0, 0 - -# Define a variable for all the above stabs. -.globl attr32 -.data -.align_it -attr32: -.long 42 -.globl attr33 -.data -.align_it -attr33: -.long 42 -.globl attr35 -.data -.align_it -attr35: -.long 42 -.globl attr36 -.data -.align_it -attr36: -.long 42 -.globl attr37 -.data -.align_it -attr37: -.long 42 -.globl attr38 -.data -.align_it -attr38: -.long 42 -.globl attr39 -.data -.align_it -attr39: -.long 42 -.globl attr41 -.data -.align_it -attr41: -.long 42 -.globl attr42 -.data -.align_it -attr42: -.long 42 -.globl attr43 -.data -.align_it -attr43: -.long 42 -.globl attr44 -.data -.align_it -attr44: -.long 42 -.globl attr46 -.data -.align_it -attr46: -.long 42 -.globl attr47 -.data -.align_it -attr47: -.long 42 -.globl attr58 -.data -.align_it -attr58: -.long 42 -.globl attr59 -.data -.align_it -attr59: -.long 42 -.globl attr60 -.data -.align_it -attr60: -.long 42 -.globl attr61 -.data -.align_it -attr61: -.long 42 -.globl attr62 -.data -.align_it -attr62: -.long 42 -.globl attr63 -.data -.align_it -attr63: -.long 42 -.globl attr64 -.data -.align_it -attr64: -.long 42 -.globl attr65 -.data -.align_it -attr65: -.long 42 -.globl attr70 -.data -.align_it -attr70: -.long 42 -.globl attr71 -.data -.align_it -attr71: -.long 42 -.globl attr72 -.data -.align_it -attr72: -.long 42 -.globl attr73 -.data -.align_it -attr73: -.long 42 -.globl attr74 -.data -.align_it -attr74: -.long 42 -.globl attr75 -.data -.align_it -attr75: -.long 42 -.globl attr76 -.data -.align_it -attr76: -.long 42 -.globl attr77 -.data -.align_it -attr77: -.long 42 -.globl attr78 -.data -.align_it -attr78: -.long 42 -.globl attr79 -.data -.align_it -attr79: -.long 42 -.globl attr80 -.data -.align_it -attr80: -.long 42 -.globl attr81 -.data -.align_it -attr81: -.long 42 -.globl attr82 -.data -.align_it -attr82: -.long 42 -.globl attr83 -.data -.align_it -attr83: -.long 42 -.globl attr84 -.data -.align_it -attr84: -.long 42 - -# Unrecognized floating point code. -.stabs "float72type:t202=R87;9;", N_LSYM,0,0, 0 - -# 256-bit integer. The point is obviously not that GDB should have a -# special case for this size, but that an integer of any size should -# work (at least for printing in hex, not necessarily for arithmetic. -.stabs "int256var:G203=bu32;0;256;", N_GSYM,0,0, 0 -# The value is palindromic, so it works whether words are big or little -# endian. -.globl int256var -.data -.align_it - int256var: -.long 42 - .long 0x2b, 0x2c, 0x2d, 0x2d, 0x2c, 0x2b, 0x2a - -# Huge value in constant should at least get the type right. - -# This value is just big enough not to fit in 32 bits. -.stabs "consth:c=e1,4294967296", N_LSYM,0,0, 0 - -.stabs "consth2:c=e1,-734723985732642758928475678987234563284937456", N_LSYM,0,0, 0 - -# Test a struct constant using S. -.stabs "bad_neg0const:c=S201,128,128,11222211343434345656565677888877", N_LSYM,0,0, 0 - -# Bad filenumbers. -# This one is totally bogus. -.stabs "bad_type0:t(-3,7)", N_LSYM,0,0, 0 -# This one probably gets interpreted as a forward reference. -.stabs "bad_type1:t(42,6)", N_LSYM,0,0, 0 - -# Arrays indexed by weird things. -.stabs "array_index0:t205=r1;0;5;", N_LSYM,0,0, 0 -.stabs "array0:G206=a205;1", N_GSYM,0,0, 0 -.globl array0 -.data -.align_it - array0: -.long 42 - .long 43, 44, 45, 46, 47 - -.stabs "array_index1:t207=", N_LSYM,0,0, 0 -.stabs "array1:G208=aeai1_red:0,ai1_green:1,ai1_blue:2,;;1", N_GSYM,0,0, 0 -.globl array1 -.data -.align_it - array1: -.long 42 - .long 43, 44 - -# See if GDB can deal with it if the compiler gets smarter about saying -# which variables were defined with which types. -.stabs "inttype_one:t209=1", N_LSYM,0,0, 0 -.stabs "inttype_two:t210=1", N_LSYM,0,0, 0 -.stabs "one_var:G209", N_GSYM,0,0, 0 -.globl one_var -.data -.align_it -one_var: -.long 42 -.stabs "two_var:G210", N_GSYM,0,0, 0 -.globl two_var -.data -.align_it -two_var: -.long 42 - -# And see if the caddr_t hack can deal with the same thing. -.stabs "intp:t211=*1", N_LSYM,0,0, 0 -# If it weren't for this variable, we'd need to ignore the intp name. -.stabs "pointer_to_int_var:G212=*1", N_LSYM,0,0, 0 -.stabs "intp_var:G211", N_GSYM,0,0, 0 -.globl intp_var -.data -.align_it -intp_var: -.long 42 - -# Unrecognized constant code. -.stabs "unrecog_const:c=xjksdflskd33,4;473;", N_LSYM,0,0, 0 - -.globl attr85 -.data -.align_it -attr85: -.long 42 -.globl attr86 -.data -.align_it -attr86: -.long 42 -.globl attr87 -.data -.align_it -attr87: -.long 42 -.globl attr88 -.data -.align_it -attr88: -.long 42 -.globl attr89 -.data -.align_it -attr89: -.long 42 -.globl attr90 -.data -.align_it -attr90: -.long 42 -.globl attr91 -.data -.align_it -attr91: -.long 42 -.globl attr92 -.data -.align_it -attr92: -.long 42 -.globl attr93 -.data -.align_it -attr93: -.long 42 -.globl attr94 -.data -.align_it -attr94: -.long 42 -.globl attr95 -.data -.align_it -attr95: -.long 42 -.globl attr96 -.data -.align_it -attr96: -.long 42 -.globl attr97 -.data -.align_it -attr97: -.long 42 -.globl attr98 -.data -.align_it -attr98: -.long 42 -.globl attr99 -.data -.align_it -attr99: -.long 42 -.globl attr100 -.data -.align_it -attr100: -.long 42 -.globl attr101 -.data -.align_it -attr101: -.long 42 -.globl attr102 -.data -.align_it -attr102: -.long 42 -.globl attr103 -.data -.align_it -attr103: -.long 42 -.globl attr104 -.data -.align_it -attr104: -.long 42 -.globl attr105 -.data -.align_it -attr105: -.long 42 -.globl attr106 -.data -.align_it -attr106: -.long 42 -.globl attr107 -.data -.align_it -attr107: -.long 42 -.globl attr108 -.data -.align_it -attr108: -.long 42 -.globl attr109 -.data -.align_it -attr109: -.long 42 -.globl attr110 -.data -.align_it -attr110: -.long 42 -.globl attr111 -.data -.align_it -attr111: -.long 42 -.globl attr112 -.data -.align_it -attr112: -.long 42 -.globl attr113 -.data -.align_it -attr113: -.long 42 -.globl attr114 -.data -.align_it -attr114: -.long 42 -.globl attr115 -.data -.align_it -attr115: -.long 42 -.globl attr116 -.data -.align_it -attr116: -.long 42 -.globl attr117 -.data -.align_it -attr117: -.long 42 -.globl attr118 -.data -.align_it -attr118: -.long 42 -.globl attr119 -.data -.align_it -attr119: -.long 42 -.globl attr120 -.data -.align_it -attr120: -.long 42 -.globl attr121 -.data -.align_it -attr121: -.long 42 -.globl attr125 -.data -.align_it -attr125: -.long 42 -.globl attr126 -.data -.align_it -attr126: -.long 42 - -# Size. -.stabs "var1:G301=@s32;1",N_GSYM,0,0, 0 -.globl var1 -.data -.align_it -var1: -.long 42 -# Pointer class. -.stabs "var2:G302=@p42;1",N_GSYM,0,0, 0 -.globl var2 -.data -.align_it -var2: -.long 42 -# Packed type. -.stabs "var3:G303=@P;1",N_GSYM,0,0, 0 -.globl var3 -.data -.align_it -var3: -.long 42 - -# Manually hacked version of the following. The manual hacking is to -# remove the extra names (which GDB 4.9 bogusly relies on). - -# Virtual base classes in which there are no variables of the base -# class types. - -# class only_one_instance { -# public: -# int x; -# }; - -# class inherit_path_a : public virtual only_one_instance { -# int a; -# }; - -# class inherit_path_b : public virtual only_one_instance { -# int b; -# }; - -# class combine_paths : public inherit_path_a, public inherit_path_b { -# int comb; -# }; - -# combine_paths v_comb; - -# These are the unhacked stabs I started with (only change has been to -# convert them to weird.def format, and change the numbers to the 400 -# range. - -# .stabs "only_one_instance:Tt444=s4x:1,0,32;;", N_LSYM,0,0, 0 -# .stabs "inherit_path_a:Tt445=s12!1,120,444;$vb444:446=*444,0;a:/01,32,32;;", -# N_LSYM,0,0, 0 -# .stabs "inherit_path_b:Tt447=s12!1,120,444;$vb444:446,0;b:/01,32,32;;", N_LSYM,0,0, 0 -# .stabs "combine_paths:Tt448=s24!2,020,445;0264,447;comb:/01,128,32;;", N_LSYM,0,0, 0 -# .stabs "v_comb:G448", N_GSYM,0,0, 0 - -# Hacked version, without class names. - -.if alpha -.stabs "v_comb:G448=s48!2,020,445=s24!1,120,444=s4x:1,0,32;;;$vb444:446=*444,0;a:/01,64,32;;;02128,447=s24!1,120,444;$vb444:446,0;b:/01,64,32;;;comb:/01,256,32;;", N_GSYM,0,0, 0 - .globl v_comb - .align 3 -v_comb: -# virtual base class pointer for inherit_path_a - .quad v_comb_shared -# a - .long 43 - .align 3 -# virtual base class pointer for inherit_path_b - .quad v_comb_shared -# b - .long 44 - .align 3 -# comb - .long 45 - .align 3 -v_comb_shared: -# x - .long 42 - .align 3 -.endif alpha - -.if notalpha -.stabs "v_comb:G448=s24!2,020,445=s12!1,120,444=s4x:1,0,32;;;$vb444:446=*444,0;a:/01,32,32;;;0264,447=s12!1,120,444;$vb444:446,0;b:/01,32,32;;;comb:/01,128,32;;", N_GSYM,0,0, 0 - - .globl v_comb - .align 1 -v_comb: -# virtual base class pointer for inherit_path_a - .long v_comb_shared -# a - .long 43 -# virtual base class pointer for inherit_path_b - .long v_comb_shared -# b - .long 44 -# comb - .long 45 -v_comb_shared: -# x - .long 42 -.endif notalpha - -.stabs "sym92:\ !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0 -.stabs "type92:t92=\ !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0 -.stabs "attr92:G392=@\ !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",N_GSYM,0,0, 0 diff --git a/gdb/testsuite/gdb.stabs/weird.exp b/gdb/testsuite/gdb.stabs/weird.exp deleted file mode 100644 index aa0bcbce752..00000000000 --- a/gdb/testsuite/gdb.stabs/weird.exp +++ /dev/null @@ -1,321 +0,0 @@ -# Copyright (C) 1997 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - -# Please email any bugs, comments, and/or additions to this file to: -# bug-gdb@prep.ai.mit.edu - -# Test that GDB properly ignores invalid stabs. -# Also test that GDB can debug a .o file, and that it doesn't mind -# a file that's more minimal than what a compiler normally puts out. -if $tracelevel then { - strace $tracelevel -} - -# If the test directory was not created by configure then skip -# this test. -if ![file isdirectory ${objdir}/${subdir}] then { - return 0 -} - -set prms_id 0 -set bug_id 0 - -proc do_tests {} { - global binfile - global gdb_prompt - - # Mips/alpha targets that use gcc with mips-tfile put out the stabs - # assembler directives embedded in comments. If the assembler - # file is then processed with native cc, all stabs directives - # will be lost. - # Skip the rest of the stabs tests for this case. - send_gdb "ptype inttype\n" - gdb_expect { - -re "^ptype inttype\r*\ntype = inttype.*$gdb_prompt $" { - pass "stabs found" - } - -re ".*$gdb_prompt $" { - setup_xfail "mips-*-*" - setup_xfail "alpha-*-*" - fail "stabs not found" - return - } - default { fail "checking for stabs" } - } - - print_weird_var var0 - print_weird_var var1 - print_weird_var var2 - print_weird_var var3 - - print_weird_var attr32 - print_weird_var attr33 - print_weird_var attr35 - print_weird_var attr36 - print_weird_var attr37 - print_weird_var attr38 - print_weird_var attr39 - print_weird_var attr41 - print_weird_var attr42 - print_weird_var attr43 - print_weird_var attr44 - print_weird_var attr46 - print_weird_var attr47 - print_weird_var attr58 - print_weird_var attr59 - print_weird_var attr60 - print_weird_var attr61 - print_weird_var attr62 - print_weird_var attr63 - print_weird_var attr64 - print_weird_var attr65 - print_weird_var attr66 - print_weird_var attr67 - print_weird_var attr68 - print_weird_var attr69 - print_weird_var attr70 - print_weird_var attr71 - print_weird_var attr72 - print_weird_var attr73 - print_weird_var attr74 - print_weird_var attr75 - print_weird_var attr76 - print_weird_var attr77 - print_weird_var attr78 - print_weird_var attr79 - print_weird_var attr80 - print_weird_var attr81 - print_weird_var attr82 - print_weird_var attr83 - print_weird_var attr84 - print_weird_var attr85 - print_weird_var attr86 - print_weird_var attr87 - print_weird_var attr88 - print_weird_var attr89 - print_weird_var attr90 - print_weird_var attr91 - print_weird_var attr92 - print_weird_var attr93 - print_weird_var attr94 - print_weird_var attr95 - print_weird_var attr96 - print_weird_var attr97 - print_weird_var attr98 - print_weird_var attr99 - print_weird_var attr100 - print_weird_var attr101 - print_weird_var attr102 - print_weird_var attr103 - print_weird_var attr104 - print_weird_var attr105 - print_weird_var attr106 - print_weird_var attr107 - print_weird_var attr108 - print_weird_var attr109 - print_weird_var attr110 - print_weird_var attr111 - print_weird_var attr112 - print_weird_var attr113 - print_weird_var attr114 - print_weird_var attr115 - print_weird_var attr116 - print_weird_var attr117 - print_weird_var attr118 - print_weird_var attr119 - print_weird_var attr120 - print_weird_var attr121 - print_weird_var attr122 - print_weird_var attr123 - print_weird_var attr124 - print_weird_var attr125 - print_weird_var attr126 - - gdb_test "p const69" " = 69" "'e' constant on non-enum type" - gdb_test "whatis const69" "type = (unsigned int|inttype)" "whatis const69" - - gdb_test "p sizeof (const70)" " = 2" "'e' constant with embedded type" - - gdb_test "p bad_neg0" " = \{field0 = 42, field2 =.*field3 = 45\}" "p bad_neg0" - - gdb_test "ptype inttype" "type = (unsigned int|inttype)" "ptype on inttype" - gdb_test "p sizeof (float72type)" " = 9" "unrecognized floating point type" - - # This big number needs to be kept as one piece - gdb_test "p/x int256var" " = 0x0*2a0000002b0000002c0000002d0000002d0000002c0000002b0000002a" "print very big integer" - - gdb_test "whatis consth" "type = inttype" "whatis consth" - gdb_test "whatis consth2" "type = inttype" "whatis consth2" - - # GDB does not yet understand S constants - setup_xfail "*-*-*" - gdb_test "p/x bad_neg0const" " = \{field0 = 0x11222211, field2 =.*\ -field3 = 0x77888877\}" "print struct constant" - - gdb_test "ptype bad_type0" "type = .*" "print bad_type0" - gdb_test "ptype bad_type1" "type = .*" "print bad_type1" - - # GDB does not yet support arrays indexed by anything at all unusual - setup_xfail "*-*-*" - gdb_test "p array0" " = \{42, 43, 44, 45, 46, 47\}" "array0 with strange index" - setup_xfail "*-*-*" - gdb_test "p array1" " = \{42, 43, 44\}" "array1 with strange index" - - # GDB does not yet support this feature - gdb_test "whatis one_var" "type = inttype_one" \ - "whatis one_var (known failure in gdb 4.10)" - # But do make sure that it prints as something reasonable - gdb_test "whatis one_var" "type = inttype(|_one)" \ - "whatis one_var test 2" - - gdb_test "whatis two_var" "type = inttype_two" \ - "whatis two_var (known failure in gdb 4.10)" - # But do make sure that it prints as something reasonable - gdb_test "whatis two_var" "type = inttype(|_two)" \ - "whatis two_var test 2" - - setup_xfail "*-*-*" - gdb_test "whatis pointer_to_int_var" "type = int \[*\]" - setup_xfail "*-*-*" - gdb_test "whatis intp_var" "type = intp" - - gdb_test "p common0var0" "= 42" - # GDB seems to only understand common blocks local to a function. - # These variables never get relocated to be relative to the common - # block. - # I'm not sure whether it is valid to have a common block which - # is not local to a function. - setup_xfail "*-*-*" - gdb_test "p common0var1" "= 24" - setup_xfail "*-*-*" - gdb_test "p common0var2" "= 22" - - # this long line must be continous, not with "/" escaping the newline - gdb_test "p v_comb" "{<> = {<> = {x = 42}, \[_a-zA-Z$.\]* = \[0-9xa-fA-F\]*, a = 43}, <> = {\[_a-zA-Z$.\]* = \[0-9xa-fA-F\]*, b = 44}, comb = 45}" -} - -proc print_weird_var { var } { - global gdb_prompt - - # Make sure that the variable gets printed out correctly, without - # any sort of warning message. - send_gdb "print $var\n" - gdb_expect { - -re "^print $var\r*\n.\[0-9\]* = 42.*$gdb_prompt $" { - pass "variable $var printed properly" - } - -re ".*$gdb_prompt $" { - fail "variable $var not printed properly" - } - timeout { fail "variable $var not printed (timeout)" } - eof { fail "(eof) variable $var not printed" } - } - - # Make sure that the stabs did get loaded in a sensible way. - # If somehow the stabs got skipped, then the above test can - # pass because GDB assumes int for variables without a stab. - - # This doesn't work because 32=45 doesn't preserve the name in - # gdb (as of 14 Sep 93 anyway). - #gdb_test "whatis $var" "type = (unsigned int|inttype)" - - # But the size should be right. - gdb_test "print sizeof ($var)" "= 4" -} - -# Start with a fresh gdb - -gdb_exit -gdb_start -gdb_reinitialize_dir $srcdir/$subdir - -# Don't use gdb_load; it doesn't bitch if the loading produced some -# error messages during symbol reading. -set testfile weird -set srcfile ${objdir}/${subdir}/weird.s -set binfile ${objdir}/${subdir}/weirdx.o - -global target_os -set sedscript ${srcdir}/${subdir}/aout.sed -switch -glob ${target_triplet} { - "hppa*-*-*" { - set sedscript ${srcdir}/${subdir}/hppa.sed - } - "mips-*-ecoff" { - set sedscript ${srcdir}/${subdir}/ecoff.sed - } - "powerpc-*-aix*" { - set sedscript ${srcdir}/${subdir}/xcoff.sed - } - "rs6000-*-aix*" { - set sedscript ${srcdir}/${subdir}/xcoff.sed - } - "*-*-aout" { - set sedscript ${srcdir}/${subdir}/aout.sed - } - "*-*-xcoff" { - set sedscript ${srcdir}/${subdir}/xcoff.sed - } - "alpha-*-*" { - set sedscript ${srcdir}/${subdir}/ecoff.sed - } -} - - -# Hope this is a Unix box. -set exec_output [remote_exec build "sed" "-f ${sedscript}" "${srcdir}/${subdir}/weird.def" "${srcfile}"] -if { [lindex $exec_output 0] != 0 } { - perror "Couldn't make test case. $exec_output" - return -1 -} - -if { [gdb_compile "${srcfile}" "${binfile}" object ""] != "" } { - gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail." -} - -remote_file build delete ${srcfile} -set binfile [remote_download host ${binfile} object.o] -send_gdb "file $binfile\n" -# If $binfile is very long, a \r (but not a \n) will echo in the -# middle of the echo of the command. So to match the echo, we -# would like to match anything not containing \n -# (we would prefer to be sure not to match any warning message). -# But \[^\n\]* doesn't seem to work, so instead use the heuristic -# that a filename won't contain a space and a warning message will. -# But spaces following by backspaces aren't really spaces. -gdb_expect { - -re "^file (\[^ \]| +\008)*\r*\nReading symbols from $binfile\.\.\.done\.\r*\n$gdb_prompt $" { - pass "weirdx.o read without error" - } - -re "A program is being debugged already. Kill it\? \(y or n\)" { - send_gdb "y\n" - exp_continue - } - -re ".*$gdb_prompt $" { - fail "Errors reading weirdx.o" - } - timeout { - perror "couldn't load $binfile into $GDB (timed out)." - return -1 - } - eof { fail "(eof) cannot read weirdx.o" } -} - -do_tests - -remote_file host delete ${binfile} - -return 0 diff --git a/gdb/testsuite/gdb.stabs/xcoff.sed b/gdb/testsuite/gdb.stabs/xcoff.sed deleted file mode 100644 index 0dbcf5c2b60..00000000000 --- a/gdb/testsuite/gdb.stabs/xcoff.sed +++ /dev/null @@ -1,18 +0,0 @@ -# Put everything in this csect, which seems to make things work. -# The compiler actually puts the stabs in .csect [PR], but that didn't -# work here (I guess because there is no text section). -1i\ - .csect .data[RW] -# .stabs string,type,0,0,value -> .stabx string,value,type,0 -s/^[ ]*\.stabs[ ]*\("[^"]*"\),[ ]*\([^,]*\),[ ]*0,0,[ ]*\(.*\)$/.stabx \1,\3,\2,0/ -s/N_GSYM/128/ -s/N_LSYM/129/ -s/\.begin_common/.bc/ -# The AIX assembler doesn't want the name in a .ec directive -s/\.end_common.*/.ec/ -s/\.align_it/.align 1/ -/\.data/d -/^#/d -/\.if alpha/,/\.endif alpha/d -/\.if/d -/\.endif/d diff --git a/gdb/testsuite/gdb.threads/.Sanitize b/gdb/testsuite/gdb.threads/.Sanitize deleted file mode 100644 index 52b87dd84f9..00000000000 --- a/gdb/testsuite/gdb.threads/.Sanitize +++ /dev/null @@ -1,44 +0,0 @@ -# .Sanitize for gdb/testsuite/gdb.threads. - -# Each directory to survive its way into a release will need a file -# like this one called "./.Sanitize". All keyword lines must exist, -# and must exist in the order specified by this file. Each directory -# in the tree will be processed, top down, in the following order. - -# Hash started lines like this one are comments and will be deleted -# before anything else is done. Blank lines will also be squashed -# out. - -# The lines between the "Do-first:" line and the "Things-to-keep:" -# line are executed as a /bin/sh shell script before anything else is -# done in this directory. - -Do-first: - -# All files listed between the "Things-to-keep:" line and the -# "Do-last:" line will be kept. All other files will be removed. -# Directories listed in this section will have their own Sanitize -# called. Directories not listed will be removed in their entirety -# with rm -rf. - -Things-to-keep: - -Makefile.in -config.in -configure -configure.in -pthreads.c -pthreads.exp -step.c -step.exp -step2.exp - -Things-to-lose: - -# The lines between the "Do-last:" line and the end of the file -# are executed as a /bin/sh shell script after everything else is -# done. - -Do-last: - -# eof diff --git a/gdb/testsuite/gdb.threads/Makefile.in b/gdb/testsuite/gdb.threads/Makefile.in deleted file mode 100644 index 678e2791c5f..00000000000 --- a/gdb/testsuite/gdb.threads/Makefile.in +++ /dev/null @@ -1,156 +0,0 @@ -# Makefile for the threads tests for GDB. -# Copyright (C) 1992, 1993, 1994, 1995 Free Software Foundation, Inc. - -# This file is part of GDB. - -# GDB is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2, or (at your option) -# any later version. - -# GDB is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - -srcdir = . -prefix = /usr/local -program_transform_name = - -exec_prefix = $(prefix) -bindir = $(exec_prefix)/bin -libdir = $(exec_prefix)/lib -tooldir = $(libdir)/$(target_alias) - -datadir = $(exec_prefix)/lib/dejagnu -mandir = $(prefix)/man -man1dir = $(mandir)/man1 -man2dir = $(mandir)/man2 -man3dir = $(mandir)/man3 -man4dir = $(mandir)/man4 -man5dir = $(mandir)/man5 -man6dir = $(mandir)/man6 -man7dir = $(mandir)/man7 -man8dir = $(mandir)/man8 -man9dir = $(mandir)/man9 -infodir = $(prefix)/info -includedir = $(prefix)/include -gxx_includedir = $(tooldir)/g++-include -targetdir = $(datadir)/$(target_alias) - -SHELL = /bin/sh - -INSTALL = install -c -INSTALL_PROGRAM = $(INSTALL) -INSTALL_DATA = $(INSTALL) - -CFLAGS = -g - -RUNTESTFLAGS = - -LINK= ln -s - -EXPECT = ` \ - if [ -f $${rootme}/../../../expect/expect ] ; then \ - echo $${rootme}/../../../expect/expect ; \ - else \ - echo expect ; \ - fi` - -RUNTEST = ` \ - if [ -f $${rootme}/../../dejagnu/site.exp ] ; then \ - echo $${rootme}/../../dejagnu/runtest ; \ - else \ - if [ "$(host_canonical)" = "$(target_canonical)" ] ; then \ - echo runtest; \ - else \ - t='$(program_transform_name)'; echo runtest | sed -e '' $$t; \ - fi; \ - fi` - -CC = ` \ - if [ -f $${rootme}/../../../gcc/xgcc ] ; then \ - echo $${rootme}/../../../gcc/xgcc -B$${rootme}/../../../gcc/; \ - else \ - if [ "$(host_canonical)" = "$(target_canonical)" ] ; then \ - echo gcc; \ - else \ - t='$(program_transform_name)'; echo gcc | sed -e '' $$t; \ - fi; \ - fi` - -#### host, target, and site specific Makefile frags come in here. - -EXECUTABLES = $(STEP_EXECUTABLE) - - -all: $(EXECUTABLES) - -step.o: $(srcdir)/step.c - $(CC) -c $(CFLAGS) $(THREADFLAGS) $< - -step: step.o - $(CC) $(CFLAGS) $(THREADFLAGS) $(LDFLAGS) -o step step.o $(LIBS) - -# This gets compiled *without* -g, so don't add CFLAGS here. - -.NOEXPORT: - -INFODIRS=doc - -info: - -install-info: - -dvi: - -install: - -uninstall: force - -site.exp: ./config.status Makefile - @echo "Making a new config file..." - -@rm -f ./tmp? - @touch site.exp - -@mv site.exp site.bak - @echo "## these variables are automatically generated by make ##" > ./tmp0 - @echo "# Do not edit here. If you wish to override these values" >> ./tmp0 - @echo "# add them to the last section" >> ./tmp0 - @echo "set host_triplet ${host_canonical}" >> ./tmp0 - @echo "set target_triplet ${target_canonical}" >> ./tmp0 - @echo "set srcdir ${srcdir}" >> ./tmp0 - @echo "set objdir `pwd`" >> ./tmp0 - @echo "set tool gdb" >> ./tmp0 - @echo "## All variables above are generated by configure. Do Not Edit ##" >> ./tmp0 - @cat ./tmp0 > site.exp - @cat site.bak | sed \ - -e '1,/^## All variables above are.*##/ d' >> site.exp - -@rm -f ./tmp? - -installcheck: -check: site.exp all just-check -just-check: - rootme=`pwd`; export rootme; \ - srcdir=${srcdir} ; export srcdir ; \ - EXPECT=${EXPECT} ; export EXPECT ; \ - if [ -f $${rootme}/../../expect/expect ] ; then \ - TCL_LIBRARY=$${srcdir}/../../tcl/library ; \ - export TCL_LIBRARY ; fi ; \ - $(RUNTEST) $(RUNTESTFLAGS) --tool gdb --srcdir $(srcdir) - -clean mostlyclean: - -rm -f *~ *.o a.out xgdb *.x $(EXECUTABLES) - -rm -f core core.coremaker coremaker.core corefile - -distclean maintainer-clean realclean: clean - -rm -f *~ core *.log *.plog *.sum *.psum site.* - -rm -f Makefile config.status *-init.exp - -rm -fr *.log summary detail *.plog *.sum *.psum site.* - -Makefile : $(srcdir)/Makefile.in $(srcdir)/configure.in $(host_makefile_frag) $(target_makefile_frag) - $(SHELL) ./config.status - diff --git a/gdb/testsuite/gdb.threads/config.in b/gdb/testsuite/gdb.threads/config.in deleted file mode 100644 index 37bfc2ba592..00000000000 --- a/gdb/testsuite/gdb.threads/config.in +++ /dev/null @@ -1,4 +0,0 @@ -/* config.in. Generated automatically from configure.in by autoheader. */ - -/* Define if you have the <pthread.h> header file. */ -#undef HAVE_PTHREAD_H diff --git a/gdb/testsuite/gdb.threads/configure b/gdb/testsuite/gdb.threads/configure deleted file mode 100755 index 6649098712b..00000000000 --- a/gdb/testsuite/gdb.threads/configure +++ /dev/null @@ -1,1098 +0,0 @@ -#! /bin/sh - -# Guess values for system-dependent variables and create Makefiles. -# Generated automatically using autoconf version 2.12.1 -# Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc. -# -# This configure script is free software; the Free Software Foundation -# gives unlimited permission to copy, distribute and modify it. - -# Defaults: -ac_help= -ac_default_prefix=/usr/local -# Any additions from configure.in: - -# Initialize some variables set by options. -# The variables have the same names as the options, with -# dashes changed to underlines. -build=NONE -cache_file=./config.cache -exec_prefix=NONE -host=NONE -no_create= -nonopt=NONE -no_recursion= -prefix=NONE -program_prefix=NONE -program_suffix=NONE -program_transform_name=s,x,x, -silent= -site= -srcdir= -target=NONE -verbose= -x_includes=NONE -x_libraries=NONE -bindir='${exec_prefix}/bin' -sbindir='${exec_prefix}/sbin' -libexecdir='${exec_prefix}/libexec' -datadir='${prefix}/share' -sysconfdir='${prefix}/etc' -sharedstatedir='${prefix}/com' -localstatedir='${prefix}/var' -libdir='${exec_prefix}/lib' -includedir='${prefix}/include' -oldincludedir='/usr/include' -infodir='${prefix}/info' -mandir='${prefix}/man' - -# Initialize some other variables. -subdirs= -MFLAGS= MAKEFLAGS= -SHELL=${CONFIG_SHELL-/bin/sh} -# Maximum number of lines to put in a shell here document. -ac_max_here_lines=12 - -ac_prev= -for ac_option -do - - # If the previous option needs an argument, assign it. - if test -n "$ac_prev"; then - eval "$ac_prev=\$ac_option" - ac_prev= - continue - fi - - case "$ac_option" in - -*=*) ac_optarg=`echo "$ac_option" | sed 's/[-_a-zA-Z0-9]*=//'` ;; - *) ac_optarg= ;; - esac - - # Accept the important Cygnus configure options, so we can diagnose typos. - - case "$ac_option" in - - -bindir | --bindir | --bindi | --bind | --bin | --bi) - ac_prev=bindir ;; - -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) - bindir="$ac_optarg" ;; - - -build | --build | --buil | --bui | --bu) - ac_prev=build ;; - -build=* | --build=* | --buil=* | --bui=* | --bu=*) - build="$ac_optarg" ;; - - -cache-file | --cache-file | --cache-fil | --cache-fi \ - | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) - ac_prev=cache_file ;; - -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ - | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) - cache_file="$ac_optarg" ;; - - -datadir | --datadir | --datadi | --datad | --data | --dat | --da) - ac_prev=datadir ;; - -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \ - | --da=*) - datadir="$ac_optarg" ;; - - -disable-* | --disable-*) - ac_feature=`echo $ac_option|sed -e 's/-*disable-//'` - # Reject names that are not valid shell variable names. - if test -n "`echo $ac_feature| sed 's/[-a-zA-Z0-9_]//g'`"; then - { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; } - fi - ac_feature=`echo $ac_feature| sed 's/-/_/g'` - eval "enable_${ac_feature}=no" ;; - - -enable-* | --enable-*) - ac_feature=`echo $ac_option|sed -e 's/-*enable-//' -e 's/=.*//'` - # Reject names that are not valid shell variable names. - if test -n "`echo $ac_feature| sed 's/[-_a-zA-Z0-9]//g'`"; then - { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; } - fi - ac_feature=`echo $ac_feature| sed 's/-/_/g'` - case "$ac_option" in - *=*) ;; - *) ac_optarg=yes ;; - esac - eval "enable_${ac_feature}='$ac_optarg'" ;; - - -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ - | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ - | --exec | --exe | --ex) - ac_prev=exec_prefix ;; - -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ - | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ - | --exec=* | --exe=* | --ex=*) - exec_prefix="$ac_optarg" ;; - - -gas | --gas | --ga | --g) - # Obsolete; use --with-gas. - with_gas=yes ;; - - -help | --help | --hel | --he) - # Omit some internal or obsolete options to make the list less imposing. - # This message is too long to be a string in the A/UX 3.1 sh. - cat << EOF -Usage: configure [options] [host] -Options: [defaults in brackets after descriptions] -Configuration: - --cache-file=FILE cache test results in FILE - --help print this message - --no-create do not create output files - --quiet, --silent do not print \`checking...' messages - --version print the version of autoconf that created configure -Directory and file names: - --prefix=PREFIX install architecture-independent files in PREFIX - [$ac_default_prefix] - --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX - [same as prefix] - --bindir=DIR user executables in DIR [EPREFIX/bin] - --sbindir=DIR system admin executables in DIR [EPREFIX/sbin] - --libexecdir=DIR program executables in DIR [EPREFIX/libexec] - --datadir=DIR read-only architecture-independent data in DIR - [PREFIX/share] - --sysconfdir=DIR read-only single-machine data in DIR [PREFIX/etc] - --sharedstatedir=DIR modifiable architecture-independent data in DIR - [PREFIX/com] - --localstatedir=DIR modifiable single-machine data in DIR [PREFIX/var] - --libdir=DIR object code libraries in DIR [EPREFIX/lib] - --includedir=DIR C header files in DIR [PREFIX/include] - --oldincludedir=DIR C header files for non-gcc in DIR [/usr/include] - --infodir=DIR info documentation in DIR [PREFIX/info] - --mandir=DIR man documentation in DIR [PREFIX/man] - --srcdir=DIR find the sources in DIR [configure dir or ..] - --program-prefix=PREFIX prepend PREFIX to installed program names - --program-suffix=SUFFIX append SUFFIX to installed program names - --program-transform-name=PROGRAM - run sed PROGRAM on installed program names -EOF - cat << EOF -Host type: - --build=BUILD configure for building on BUILD [BUILD=HOST] - --host=HOST configure for HOST [guessed] - --target=TARGET configure for TARGET [TARGET=HOST] -Features and packages: - --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) - --enable-FEATURE[=ARG] include FEATURE [ARG=yes] - --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] - --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) - --x-includes=DIR X include files are in DIR - --x-libraries=DIR X library files are in DIR -EOF - if test -n "$ac_help"; then - echo "--enable and --with options recognized:$ac_help" - fi - exit 0 ;; - - -host | --host | --hos | --ho) - ac_prev=host ;; - -host=* | --host=* | --hos=* | --ho=*) - host="$ac_optarg" ;; - - -includedir | --includedir | --includedi | --included | --include \ - | --includ | --inclu | --incl | --inc) - ac_prev=includedir ;; - -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ - | --includ=* | --inclu=* | --incl=* | --inc=*) - includedir="$ac_optarg" ;; - - -infodir | --infodir | --infodi | --infod | --info | --inf) - ac_prev=infodir ;; - -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) - infodir="$ac_optarg" ;; - - -libdir | --libdir | --libdi | --libd) - ac_prev=libdir ;; - -libdir=* | --libdir=* | --libdi=* | --libd=*) - libdir="$ac_optarg" ;; - - -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ - | --libexe | --libex | --libe) - ac_prev=libexecdir ;; - -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ - | --libexe=* | --libex=* | --libe=*) - libexecdir="$ac_optarg" ;; - - -localstatedir | --localstatedir | --localstatedi | --localstated \ - | --localstate | --localstat | --localsta | --localst \ - | --locals | --local | --loca | --loc | --lo) - ac_prev=localstatedir ;; - -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ - | --localstate=* | --localstat=* | --localsta=* | --localst=* \ - | --locals=* | --local=* | --loca=* | --loc=* | --lo=*) - localstatedir="$ac_optarg" ;; - - -mandir | --mandir | --mandi | --mand | --man | --ma | --m) - ac_prev=mandir ;; - -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) - mandir="$ac_optarg" ;; - - -nfp | --nfp | --nf) - # Obsolete; use --without-fp. - with_fp=no ;; - - -no-create | --no-create | --no-creat | --no-crea | --no-cre \ - | --no-cr | --no-c) - no_create=yes ;; - - -no-recursion | --no-recursion | --no-recursio | --no-recursi \ - | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) - no_recursion=yes ;; - - -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ - | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ - | --oldin | --oldi | --old | --ol | --o) - ac_prev=oldincludedir ;; - -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ - | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ - | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) - oldincludedir="$ac_optarg" ;; - - -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) - ac_prev=prefix ;; - -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) - prefix="$ac_optarg" ;; - - -program-prefix | --program-prefix | --program-prefi | --program-pref \ - | --program-pre | --program-pr | --program-p) - ac_prev=program_prefix ;; - -program-prefix=* | --program-prefix=* | --program-prefi=* \ - | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) - program_prefix="$ac_optarg" ;; - - -program-suffix | --program-suffix | --program-suffi | --program-suff \ - | --program-suf | --program-su | --program-s) - ac_prev=program_suffix ;; - -program-suffix=* | --program-suffix=* | --program-suffi=* \ - | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) - program_suffix="$ac_optarg" ;; - - -program-transform-name | --program-transform-name \ - | --program-transform-nam | --program-transform-na \ - | --program-transform-n | --program-transform- \ - | --program-transform | --program-transfor \ - | --program-transfo | --program-transf \ - | --program-trans | --program-tran \ - | --progr-tra | --program-tr | --program-t) - ac_prev=program_transform_name ;; - -program-transform-name=* | --program-transform-name=* \ - | --program-transform-nam=* | --program-transform-na=* \ - | --program-transform-n=* | --program-transform-=* \ - | --program-transform=* | --program-transfor=* \ - | --program-transfo=* | --program-transf=* \ - | --program-trans=* | --program-tran=* \ - | --progr-tra=* | --program-tr=* | --program-t=*) - program_transform_name="$ac_optarg" ;; - - -q | -quiet | --quiet | --quie | --qui | --qu | --q \ - | -silent | --silent | --silen | --sile | --sil) - silent=yes ;; - - -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) - ac_prev=sbindir ;; - -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ - | --sbi=* | --sb=*) - sbindir="$ac_optarg" ;; - - -sharedstatedir | --sharedstatedir | --sharedstatedi \ - | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ - | --sharedst | --shareds | --shared | --share | --shar \ - | --sha | --sh) - ac_prev=sharedstatedir ;; - -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ - | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ - | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ - | --sha=* | --sh=*) - sharedstatedir="$ac_optarg" ;; - - -site | --site | --sit) - ac_prev=site ;; - -site=* | --site=* | --sit=*) - site="$ac_optarg" ;; - - -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) - ac_prev=srcdir ;; - -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) - srcdir="$ac_optarg" ;; - - -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ - | --syscon | --sysco | --sysc | --sys | --sy) - ac_prev=sysconfdir ;; - -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ - | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) - sysconfdir="$ac_optarg" ;; - - -target | --target | --targe | --targ | --tar | --ta | --t) - ac_prev=target ;; - -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) - target="$ac_optarg" ;; - - -v | -verbose | --verbose | --verbos | --verbo | --verb) - verbose=yes ;; - - -version | --version | --versio | --versi | --vers) - echo "configure generated by autoconf version 2.12.1" - exit 0 ;; - - -with-* | --with-*) - ac_package=`echo $ac_option|sed -e 's/-*with-//' -e 's/=.*//'` - # Reject names that are not valid shell variable names. - if test -n "`echo $ac_package| sed 's/[-_a-zA-Z0-9]//g'`"; then - { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; } - fi - ac_package=`echo $ac_package| sed 's/-/_/g'` - case "$ac_option" in - *=*) ;; - *) ac_optarg=yes ;; - esac - eval "with_${ac_package}='$ac_optarg'" ;; - - -without-* | --without-*) - ac_package=`echo $ac_option|sed -e 's/-*without-//'` - # Reject names that are not valid shell variable names. - if test -n "`echo $ac_package| sed 's/[-a-zA-Z0-9_]//g'`"; then - { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; } - fi - ac_package=`echo $ac_package| sed 's/-/_/g'` - eval "with_${ac_package}=no" ;; - - --x) - # Obsolete; use --with-x. - with_x=yes ;; - - -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ - | --x-incl | --x-inc | --x-in | --x-i) - ac_prev=x_includes ;; - -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ - | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) - x_includes="$ac_optarg" ;; - - -x-libraries | --x-libraries | --x-librarie | --x-librari \ - | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) - ac_prev=x_libraries ;; - -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ - | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) - x_libraries="$ac_optarg" ;; - - -*) { echo "configure: error: $ac_option: invalid option; use --help to show usage" 1>&2; exit 1; } - ;; - - *) - if test -n "`echo $ac_option| sed 's/[-a-z0-9.]//g'`"; then - echo "configure: warning: $ac_option: invalid host type" 1>&2 - fi - if test "x$nonopt" != xNONE; then - { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; } - fi - nonopt="$ac_option" - ;; - - esac -done - -if test -n "$ac_prev"; then - { echo "configure: error: missing argument to --`echo $ac_prev | sed 's/_/-/g'`" 1>&2; exit 1; } -fi - -trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15 - -# File descriptor usage: -# 0 standard input -# 1 file creation -# 2 errors and warnings -# 3 some systems may open it to /dev/tty -# 4 used on the Kubota Titan -# 6 checking for... messages and results -# 5 compiler messages saved in config.log -if test "$silent" = yes; then - exec 6>/dev/null -else - exec 6>&1 -fi -exec 5>./config.log - -echo "\ -This file contains any messages produced by compilers while -running configure, to aid debugging if configure makes a mistake. -" 1>&5 - -# Strip out --no-create and --no-recursion so they do not pile up. -# Also quote any args containing shell metacharacters. -ac_configure_args= -for ac_arg -do - case "$ac_arg" in - -no-create | --no-create | --no-creat | --no-crea | --no-cre \ - | --no-cr | --no-c) ;; - -no-recursion | --no-recursion | --no-recursio | --no-recursi \ - | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) ;; - *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?]*) - ac_configure_args="$ac_configure_args '$ac_arg'" ;; - *) ac_configure_args="$ac_configure_args $ac_arg" ;; - esac -done - -# NLS nuisances. -# Only set these to C if already set. These must not be set unconditionally -# because not all systems understand e.g. LANG=C (notably SCO). -# Fixing LC_MESSAGES prevents Solaris sh from translating var values in `set'! -# Non-C LC_CTYPE values break the ctype check. -if test "${LANG+set}" = set; then LANG=C; export LANG; fi -if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi -if test "${LC_MESSAGES+set}" = set; then LC_MESSAGES=C; export LC_MESSAGES; fi -if test "${LC_CTYPE+set}" = set; then LC_CTYPE=C; export LC_CTYPE; fi - -# confdefs.h avoids OS command line length limits that DEFS can exceed. -rm -rf conftest* confdefs.h -# AIX cpp loses on an empty file, so make sure it contains at least a newline. -echo > confdefs.h - -# A filename unique to this package, relative to the directory that -# configure is in, which we can look for to find out if srcdir is correct. -ac_unique_file=pthreads.exp - -# Find the source files, if location was not specified. -if test -z "$srcdir"; then - ac_srcdir_defaulted=yes - # Try the directory containing this script, then its parent. - ac_prog=$0 - ac_confdir=`echo $ac_prog|sed 's%/[^/][^/]*$%%'` - test "x$ac_confdir" = "x$ac_prog" && ac_confdir=. - srcdir=$ac_confdir - if test ! -r $srcdir/$ac_unique_file; then - srcdir=.. - fi -else - ac_srcdir_defaulted=no -fi -if test ! -r $srcdir/$ac_unique_file; then - if test "$ac_srcdir_defaulted" = yes; then - { echo "configure: error: can not find sources in $ac_confdir or .." 1>&2; exit 1; } - else - { echo "configure: error: can not find sources in $srcdir" 1>&2; exit 1; } - fi -fi -srcdir=`echo "${srcdir}" | sed 's%\([^/]\)/*$%\1%'` - -# Prefer explicitly selected file to automatically selected ones. -if test -z "$CONFIG_SITE"; then - if test "x$prefix" != xNONE; then - CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site" - else - CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site" - fi -fi -for ac_site_file in $CONFIG_SITE; do - if test -r "$ac_site_file"; then - echo "loading site script $ac_site_file" - . "$ac_site_file" - fi -done - -if test -r "$cache_file"; then - echo "loading cache $cache_file" - . $cache_file -else - echo "creating cache $cache_file" - > $cache_file -fi - -ac_ext=c -# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. -ac_cpp='$CPP $CPPFLAGS' -ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5' -ac_link='${CC-cc} -o conftest $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5' -cross_compiling=$ac_cv_prog_cc_cross - -if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then - # Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu. - if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then - ac_n= ac_c=' -' ac_t=' ' - else - ac_n=-n ac_c= ac_t= - fi -else - ac_n= ac_c='\c' ac_t= -fi - - - - -CC=${CC-cc} - -ac_aux_dir= -for ac_dir in `cd $srcdir;pwd`/../../.. $srcdir/`cd $srcdir;pwd`/../../..; do - if test -f $ac_dir/install-sh; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/install-sh -c" - break - elif test -f $ac_dir/install.sh; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/install.sh -c" - break - fi -done -if test -z "$ac_aux_dir"; then - { echo "configure: error: can not find install-sh or install.sh in `cd $srcdir;pwd`/../../.. $srcdir/`cd $srcdir;pwd`/../../.." 1>&2; exit 1; } -fi -ac_config_guess=$ac_aux_dir/config.guess -ac_config_sub=$ac_aux_dir/config.sub -ac_configure=$ac_aux_dir/configure # This should be Cygnus configure. - - -# Do some error checking and defaulting for the host and target type. -# The inputs are: -# configure --host=HOST --target=TARGET --build=BUILD NONOPT -# -# The rules are: -# 1. You are not allowed to specify --host, --target, and nonopt at the -# same time. -# 2. Host defaults to nonopt. -# 3. If nonopt is not specified, then host defaults to the current host, -# as determined by config.guess. -# 4. Target and build default to nonopt. -# 5. If nonopt is not specified, then target and build default to host. - -# The aliases save the names the user supplied, while $host etc. -# will get canonicalized. -case $host---$target---$nonopt in -NONE---*---* | *---NONE---* | *---*---NONE) ;; -*) { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; } ;; -esac - - -# Make sure we can run config.sub. -if ${CONFIG_SHELL-/bin/sh} $ac_config_sub sun4 >/dev/null 2>&1; then : -else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; } -fi - -echo $ac_n "checking host system type""... $ac_c" 1>&6 -echo "configure:574: checking host system type" >&5 - -host_alias=$host -case "$host_alias" in -NONE) - case $nonopt in - NONE) - if host_alias=`${CONFIG_SHELL-/bin/sh} $ac_config_guess`; then : - else { echo "configure: error: can not guess host type; you must specify one" 1>&2; exit 1; } - fi ;; - *) host_alias=$nonopt ;; - esac ;; -esac - -host=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $host_alias` -host_cpu=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` -host_vendor=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` -host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` -echo "$ac_t""$host" 1>&6 - -echo $ac_n "checking target system type""... $ac_c" 1>&6 -echo "configure:595: checking target system type" >&5 - -target_alias=$target -case "$target_alias" in -NONE) - case $nonopt in - NONE) target_alias=$host_alias ;; - *) target_alias=$nonopt ;; - esac ;; -esac - -target=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $target_alias` -target_cpu=`echo $target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` -target_vendor=`echo $target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` -target_os=`echo $target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` -echo "$ac_t""$target" 1>&6 - -echo $ac_n "checking build system type""... $ac_c" 1>&6 -echo "configure:613: checking build system type" >&5 - -build_alias=$build -case "$build_alias" in -NONE) - case $nonopt in - NONE) build_alias=$host_alias ;; - *) build_alias=$nonopt ;; - esac ;; -esac - -build=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $build_alias` -build_cpu=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` -build_vendor=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` -build_os=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` -echo "$ac_t""$build" 1>&6 - -test "$host_alias" != "$target_alias" && - test "$program_prefix$program_suffix$program_transform_name" = \ - NONENONEs,x,x, && - program_prefix=${target_alias}- - - -echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6 -echo "configure:637: checking how to run the C preprocessor" >&5 -# On Suns, sometimes $CPP names a directory. -if test -n "$CPP" && test -d "$CPP"; then - CPP= -fi -if test -z "$CPP"; then -if eval "test \"`echo '$''{'ac_cv_prog_CPP'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - # This must be in double quotes, not single quotes, because CPP may get - # substituted into the Makefile and "${CC-cc}" will confuse make. - CPP="${CC-cc} -E" - # On the NeXT, cc -E runs the code through the compiler's parser, - # not just through cpp. - cat > conftest.$ac_ext <<EOF -#line 652 "configure" -#include "confdefs.h" -#include <assert.h> -Syntax Error -EOF -ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:658: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out` -if test -z "$ac_err"; then - : -else - echo "$ac_err" >&5 - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - CPP="${CC-cc} -E -traditional-cpp" - cat > conftest.$ac_ext <<EOF -#line 669 "configure" -#include "confdefs.h" -#include <assert.h> -Syntax Error -EOF -ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:675: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out` -if test -z "$ac_err"; then - : -else - echo "$ac_err" >&5 - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - CPP=/lib/cpp -fi -rm -f conftest* -fi -rm -f conftest* - ac_cv_prog_CPP="$CPP" -fi - CPP="$ac_cv_prog_CPP" -else - ac_cv_prog_CPP="$CPP" -fi -echo "$ac_t""$CPP" 1>&6 - -for ac_hdr in pthread.h -do -ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` -echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:701: checking for $ac_hdr" >&5 -if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext <<EOF -#line 706 "configure" -#include "confdefs.h" -#include <$ac_hdr> -EOF -ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:711: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out` -if test -z "$ac_err"; then - rm -rf conftest* - eval "ac_cv_header_$ac_safe=yes" -else - echo "$ac_err" >&5 - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_header_$ac_safe=no" -fi -rm -f conftest* -fi -if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then - echo "$ac_t""yes" 1>&6 - ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'` - cat >> confdefs.h <<EOF -#define $ac_tr_hdr 1 -EOF - -else - echo "$ac_t""no" 1>&6 -fi -done - - -trap '' 1 2 15 -cat > confcache <<\EOF -# This file is a shell script that caches the results of configure -# tests run on this system so they can be shared between configure -# scripts and configure runs. It is not useful on other systems. -# If it contains results you don't want to keep, you may remove or edit it. -# -# By default, configure uses ./config.cache as the cache file, -# creating it if it does not exist already. You can give configure -# the --cache-file=FILE option to use a different cache file; that is -# what configure does when it calls configure scripts in -# subdirectories, so they share the cache. -# Giving --cache-file=/dev/null disables caching, for debugging configure. -# config.status only pays attention to the cache file if you give it the -# --recheck option to rerun configure. -# -EOF -# The following way of writing the cache mishandles newlines in values, -# but we know of no workaround that is simple, portable, and efficient. -# So, don't put newlines in cache variables' values. -# Ultrix sh set writes to stderr and can't be redirected directly, -# and sets the high bit in the cache file unless we assign to the vars. -(set) 2>&1 | - case `(ac_space=' '; set) 2>&1 | grep ac_space` in - *ac_space=\ *) - # `set' does not quote correctly, so add quotes (double-quote substitution - # turns \\\\ into \\, and sed turns \\ into \). - sed -n \ - -e "s/'/'\\\\''/g" \ - -e "s/^\\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\\)=\\(.*\\)/\\1=\${\\1='\\2'}/p" - ;; - *) - # `set' quotes correctly as required by POSIX, so do not add quotes. - sed -n -e 's/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=${\1=\2}/p' - ;; - esac >> confcache -if cmp -s $cache_file confcache; then - : -else - if test -w $cache_file; then - echo "updating cache $cache_file" - cat confcache > $cache_file - else - echo "not updating unwritable cache $cache_file" - fi -fi -rm -f confcache - -trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15 - -test "x$prefix" = xNONE && prefix=$ac_default_prefix -# Let make expand exec_prefix. -test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' - -# Any assignment to VPATH causes Sun make to only execute -# the first set of double-colon rules, so remove it if not needed. -# If there is a colon in the path, we need to keep it. -if test "x$srcdir" = x.; then - ac_vpsub='/^[ ]*VPATH[ ]*=[^:]*$/d' -fi - -trap 'rm -f $CONFIG_STATUS conftest*; exit 1' 1 2 15 - -DEFS=-DHAVE_CONFIG_H - -# Without the "./", some shells look in PATH for config.status. -: ${CONFIG_STATUS=./config.status} - -echo creating $CONFIG_STATUS -rm -f $CONFIG_STATUS -cat > $CONFIG_STATUS <<EOF -#! /bin/sh -# Generated automatically by configure. -# Run this file to recreate the current configuration. -# This directory was configured as follows, -# on host `(hostname || uname -n) 2>/dev/null | sed 1q`: -# -# $0 $ac_configure_args -# -# Compiler output produced by configure, useful for debugging -# configure, is in ./config.log if it exists. - -ac_cs_usage="Usage: $CONFIG_STATUS [--recheck] [--version] [--help]" -for ac_option -do - case "\$ac_option" in - -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) - echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion" - exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;; - -version | --version | --versio | --versi | --vers | --ver | --ve | --v) - echo "$CONFIG_STATUS generated by autoconf version 2.12.1" - exit 0 ;; - -help | --help | --hel | --he | --h) - echo "\$ac_cs_usage"; exit 0 ;; - *) echo "\$ac_cs_usage"; exit 1 ;; - esac -done - -ac_given_srcdir=$srcdir - -trap 'rm -fr `echo "Makefile config.h:config.in" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15 -EOF -cat >> $CONFIG_STATUS <<EOF - -# Protect against being on the right side of a sed subst in config.status. -sed 's/%@/@@/; s/@%/@@/; s/%g\$/@g/; /@g\$/s/[\\\\&%]/\\\\&/g; - s/@@/%@/; s/@@/@%/; s/@g\$/%g/' > conftest.subs <<\\CEOF -$ac_vpsub -$extrasub -s%@SHELL@%$SHELL%g -s%@CFLAGS@%$CFLAGS%g -s%@CPPFLAGS@%$CPPFLAGS%g -s%@CXXFLAGS@%$CXXFLAGS%g -s%@DEFS@%$DEFS%g -s%@LDFLAGS@%$LDFLAGS%g -s%@LIBS@%$LIBS%g -s%@exec_prefix@%$exec_prefix%g -s%@prefix@%$prefix%g -s%@program_transform_name@%$program_transform_name%g -s%@bindir@%$bindir%g -s%@sbindir@%$sbindir%g -s%@libexecdir@%$libexecdir%g -s%@datadir@%$datadir%g -s%@sysconfdir@%$sysconfdir%g -s%@sharedstatedir@%$sharedstatedir%g -s%@localstatedir@%$localstatedir%g -s%@libdir@%$libdir%g -s%@includedir@%$includedir%g -s%@oldincludedir@%$oldincludedir%g -s%@infodir@%$infodir%g -s%@mandir@%$mandir%g -s%@CC@%$CC%g -s%@host@%$host%g -s%@host_alias@%$host_alias%g -s%@host_cpu@%$host_cpu%g -s%@host_vendor@%$host_vendor%g -s%@host_os@%$host_os%g -s%@target@%$target%g -s%@target_alias@%$target_alias%g -s%@target_cpu@%$target_cpu%g -s%@target_vendor@%$target_vendor%g -s%@target_os@%$target_os%g -s%@build@%$build%g -s%@build_alias@%$build_alias%g -s%@build_cpu@%$build_cpu%g -s%@build_vendor@%$build_vendor%g -s%@build_os@%$build_os%g -s%@CPP@%$CPP%g - -CEOF -EOF - -cat >> $CONFIG_STATUS <<\EOF - -# Split the substitutions into bite-sized pieces for seds with -# small command number limits, like on Digital OSF/1 and HP-UX. -ac_max_sed_cmds=90 # Maximum number of lines to put in a sed script. -ac_file=1 # Number of current file. -ac_beg=1 # First line for current file. -ac_end=$ac_max_sed_cmds # Line after last line for current file. -ac_more_lines=: -ac_sed_cmds="" -while $ac_more_lines; do - if test $ac_beg -gt 1; then - sed "1,${ac_beg}d; ${ac_end}q" conftest.subs > conftest.s$ac_file - else - sed "${ac_end}q" conftest.subs > conftest.s$ac_file - fi - if test ! -s conftest.s$ac_file; then - ac_more_lines=false - rm -f conftest.s$ac_file - else - if test -z "$ac_sed_cmds"; then - ac_sed_cmds="sed -f conftest.s$ac_file" - else - ac_sed_cmds="$ac_sed_cmds | sed -f conftest.s$ac_file" - fi - ac_file=`expr $ac_file + 1` - ac_beg=$ac_end - ac_end=`expr $ac_end + $ac_max_sed_cmds` - fi -done -if test -z "$ac_sed_cmds"; then - ac_sed_cmds=cat -fi -EOF - -cat >> $CONFIG_STATUS <<EOF - -CONFIG_FILES=\${CONFIG_FILES-"Makefile"} -EOF -cat >> $CONFIG_STATUS <<\EOF -for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then - # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in". - case "$ac_file" in - *:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'` - ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;; - *) ac_file_in="${ac_file}.in" ;; - esac - - # Adjust a relative srcdir, top_srcdir, and INSTALL for subdirectories. - - # Remove last slash and all that follows it. Not all systems have dirname. - ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'` - if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then - # The file is in a subdirectory. - test ! -d "$ac_dir" && mkdir "$ac_dir" - ac_dir_suffix="/`echo $ac_dir|sed 's%^\./%%'`" - # A "../" for each directory in $ac_dir_suffix. - ac_dots=`echo $ac_dir_suffix|sed 's%/[^/]*%../%g'` - else - ac_dir_suffix= ac_dots= - fi - - case "$ac_given_srcdir" in - .) srcdir=. - if test -z "$ac_dots"; then top_srcdir=. - else top_srcdir=`echo $ac_dots|sed 's%/$%%'`; fi ;; - /*) srcdir="$ac_given_srcdir$ac_dir_suffix"; top_srcdir="$ac_given_srcdir" ;; - *) # Relative path. - srcdir="$ac_dots$ac_given_srcdir$ac_dir_suffix" - top_srcdir="$ac_dots$ac_given_srcdir" ;; - esac - - - echo creating "$ac_file" - rm -f "$ac_file" - configure_input="Generated automatically from `echo $ac_file_in|sed 's%.*/%%'` by configure." - case "$ac_file" in - *Makefile*) ac_comsub="1i\\ -# $configure_input" ;; - *) ac_comsub= ;; - esac - - ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"` - sed -e "$ac_comsub -s%@configure_input@%$configure_input%g -s%@srcdir@%$srcdir%g -s%@top_srcdir@%$top_srcdir%g -" $ac_file_inputs | (eval "$ac_sed_cmds") > $ac_file -fi; done -rm -f conftest.s* - -# These sed commands are passed to sed as "A NAME B NAME C VALUE D", where -# NAME is the cpp macro being defined and VALUE is the value it is being given. -# -# ac_d sets the value in "#define NAME VALUE" lines. -ac_dA='s%^\([ ]*\)#\([ ]*define[ ][ ]*\)' -ac_dB='\([ ][ ]*\)[^ ]*%\1#\2' -ac_dC='\3' -ac_dD='%g' -# ac_u turns "#undef NAME" with trailing blanks into "#define NAME VALUE". -ac_uA='s%^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)' -ac_uB='\([ ]\)%\1#\2define\3' -ac_uC=' ' -ac_uD='\4%g' -# ac_e turns "#undef NAME" without trailing blanks into "#define NAME VALUE". -ac_eA='s%^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)' -ac_eB='$%\1#\2define\3' -ac_eC=' ' -ac_eD='%g' - -if test "${CONFIG_HEADERS+set}" != set; then -EOF -cat >> $CONFIG_STATUS <<EOF - CONFIG_HEADERS="config.h:config.in" -EOF -cat >> $CONFIG_STATUS <<\EOF -fi -for ac_file in .. $CONFIG_HEADERS; do if test "x$ac_file" != x..; then - # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in". - case "$ac_file" in - *:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'` - ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;; - *) ac_file_in="${ac_file}.in" ;; - esac - - echo creating $ac_file - - rm -f conftest.frag conftest.in conftest.out - ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"` - cat $ac_file_inputs > conftest.in - -EOF - -# Transform confdefs.h into a sed script conftest.vals that substitutes -# the proper values into config.h.in to produce config.h. And first: -# Protect against being on the right side of a sed subst in config.status. -# Protect against being in an unquoted here document in config.status. -rm -f conftest.vals -cat > conftest.hdr <<\EOF -s/[\\&%]/\\&/g -s%[\\$`]%\\&%g -s%#define \([A-Za-z_][A-Za-z0-9_]*\) *\(.*\)%${ac_dA}\1${ac_dB}\1${ac_dC}\2${ac_dD}%gp -s%ac_d%ac_u%gp -s%ac_u%ac_e%gp -EOF -sed -n -f conftest.hdr confdefs.h > conftest.vals -rm -f conftest.hdr - -# This sed command replaces #undef with comments. This is necessary, for -# example, in the case of _POSIX_SOURCE, which is predefined and required -# on some systems where configure will not decide to define it. -cat >> conftest.vals <<\EOF -s%^[ ]*#[ ]*undef[ ][ ]*[a-zA-Z_][a-zA-Z_0-9]*%/* & */% -EOF - -# Break up conftest.vals because some shells have a limit on -# the size of here documents, and old seds have small limits too. - -rm -f conftest.tail -while : -do - ac_lines=`grep -c . conftest.vals` - # grep -c gives empty output for an empty file on some AIX systems. - if test -z "$ac_lines" || test "$ac_lines" -eq 0; then break; fi - # Write a limited-size here document to conftest.frag. - echo ' cat > conftest.frag <<CEOF' >> $CONFIG_STATUS - sed ${ac_max_here_lines}q conftest.vals >> $CONFIG_STATUS - echo 'CEOF - sed -f conftest.frag conftest.in > conftest.out - rm -f conftest.in - mv conftest.out conftest.in -' >> $CONFIG_STATUS - sed 1,${ac_max_here_lines}d conftest.vals > conftest.tail - rm -f conftest.vals - mv conftest.tail conftest.vals -done -rm -f conftest.vals - -cat >> $CONFIG_STATUS <<\EOF - rm -f conftest.frag conftest.h - echo "/* $ac_file. Generated automatically by configure. */" > conftest.h - cat conftest.in >> conftest.h - rm -f conftest.in - if cmp -s $ac_file conftest.h 2>/dev/null; then - echo "$ac_file is unchanged" - rm -f conftest.h - else - # Remove last slash and all that follows it. Not all systems have dirname. - ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'` - if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then - # The file is in a subdirectory. - test ! -d "$ac_dir" && mkdir "$ac_dir" - fi - rm -f $ac_file - mv conftest.h $ac_file - fi -fi; done - -EOF -cat >> $CONFIG_STATUS <<EOF - -EOF -cat >> $CONFIG_STATUS <<\EOF - -exit 0 -EOF -chmod +x $CONFIG_STATUS -rm -fr confdefs* $ac_clean_files -test "$no_create" = yes || ${CONFIG_SHELL-/bin/sh} $CONFIG_STATUS || exit 1 - diff --git a/gdb/testsuite/gdb.threads/configure.in b/gdb/testsuite/gdb.threads/configure.in deleted file mode 100644 index 1afe91ac4e1..00000000000 --- a/gdb/testsuite/gdb.threads/configure.in +++ /dev/null @@ -1,18 +0,0 @@ -dnl Process this file file with autoconf to produce a configure script. -dnl This file is a shell script fragment that supplies the information -dnl necessary to tailor a template configure script into the configure -dnl script appropriate for this directory. For more information, check -dnl any existing configure script. - -AC_PREREQ(2.5) -AC_INIT(pthreads.exp) -AC_CONFIG_HEADER(config.h:config.in) - -CC=${CC-cc} -AC_SUBST(CC) -AC_CONFIG_AUX_DIR(`cd $srcdir;pwd`/../../..) -AC_CANONICAL_SYSTEM - -AC_CHECK_HEADERS(pthread.h) - -AC_OUTPUT(Makefile) diff --git a/gdb/testsuite/gdb.threads/pthreads.c b/gdb/testsuite/gdb.threads/pthreads.c deleted file mode 100644 index 9e55996ca78..00000000000 --- a/gdb/testsuite/gdb.threads/pthreads.c +++ /dev/null @@ -1,164 +0,0 @@ -#include <stdio.h> - -#include "config.h" - -#ifndef HAVE_PTHREAD_H - -/* Don't even try to compile. In fact, cause a syntax error that we can - look for as a compiler error message and know that we have no pthread - support. In that case we can just suppress the test completely. */ - -#error "no posix threads support" - -#else - -/* OK. We have the right header. If we try to compile this and fail, then - there is something wrong and the user should know about it so the testsuite - should issue an ERROR result.. */ - -#include <pthread.h> - -/* Under OSF, the second arg of pthread_create is prototyped to be just - a "pthread_attr_t", while under Solaris it is a "pthread_attr_t *". - Arg! */ - -#ifdef __osf__ -#define PTHREAD_CREATE_ARG2(arg) arg -#define PTHREAD_CREATE_NULL_ARG2 null_attr -static pthread_attr_t null_attr; -#else -#define PTHREAD_CREATE_ARG2(arg) &arg -#define PTHREAD_CREATE_NULL_ARG2 NULL -#endif - -static int verbose = 0; - -static void -common_routine (arg) - int arg; -{ - static int from_thread1; - static int from_thread2; - static int from_main; - static int hits; - static int full_coverage; - - if (verbose) printf("common_routine (%d)\n", arg); - hits++; - switch (arg) - { - case 0: - from_main++; - break; - case 1: - from_thread1++; - break; - case 2: - from_thread2++; - break; - } - if (from_main && from_thread1 && from_thread2) - full_coverage = 1; -} - -static void * -thread1 (void *arg) -{ - int i; - int z = 0; - - if (verbose) printf ("thread1 (%0x) ; pid = %d\n", arg, getpid ()); - for (i=1; i <= 10000000; i++) - { - if (verbose) printf("thread1 %d\n", pthread_self ()); - z += i; - common_routine (1); - sleep(1); - } -} - -static void * -thread2 (void * arg) -{ - int i; - int k = 0; - - if (verbose) printf ("thread2 (%0x) ; pid = %d\n", arg, getpid ()); - for (i=1; i <= 10000000; i++) - { - if (verbose) printf("thread2 %d\n", pthread_self ()); - k += i; - common_routine (2); - sleep(1); - } - sleep(100); -} - -int -foo (a, b, c) - int a, b, c; -{ - int d, e, f; - - if (verbose) printf("a=%d\n", a); -} - -main(argc, argv) - int argc; - char **argv; -{ - pthread_t tid1, tid2; - int j; - int t = 0; - void (*xxx) (); - pthread_attr_t attr; - - if (verbose) printf ("pid = %d\n", getpid()); - - foo (1, 2, 3); - -#ifndef __osf__ - if (pthread_attr_init (&attr)) - { - perror ("pthread_attr_init 1"); - exit (1); - } -#endif - -#ifdef PTHREAD_SCOPE_SYSTEM - if (pthread_attr_setscope (&attr, PTHREAD_SCOPE_SYSTEM)) - { - perror ("pthread_attr_setscope 1"); - exit (1); - } -#endif - - if (pthread_create (&tid1, PTHREAD_CREATE_ARG2(attr), thread1, (void *) 0xfeedface)) - { - perror ("pthread_create 1"); - exit (1); - } - if (verbose) printf ("Made thread %d\n", tid1); - sleep (1); - - if (pthread_create (&tid2, PTHREAD_CREATE_NULL_ARG2, thread2, (void *) 0xdeadbeef)) - { - perror ("pthread_create 2"); - exit (1); - } - if (verbose) printf("Made thread %d\n", tid2); - - sleep (1); - - for (j = 1; j <= 10000000; j++) - { - if (verbose) printf("top %d\n", pthread_self ()); - common_routine (0); - sleep(1); - t += j; - } - - exit(0); -} - -#endif /* ifndef HAVE_PTHREAD_H */ diff --git a/gdb/testsuite/gdb.threads/pthreads.exp b/gdb/testsuite/gdb.threads/pthreads.exp deleted file mode 100644 index a2bc4e0b2e8..00000000000 --- a/gdb/testsuite/gdb.threads/pthreads.exp +++ /dev/null @@ -1,320 +0,0 @@ -# Copyright (C) 1996 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ - -# Please email any bugs, comments, and/or additions to this file to: -# bug-gdb@prep.ai.mit.edu - -# This file was written by Fred Fish. (fnf@cygnus.com) - -if $tracelevel then { - strace $tracelevel -} - -set prms_id 0 -set bug_id 0 - -# This only works with native configurations -if ![isnative] then { - return -} - -set testfile "pthreads" -set srcfile ${testfile}.c -set binfile ${objdir}/${subdir}/${testfile} - -set built_binfile 0 -if [istarget "*-*-linux"] then { - set target_cflags "-D_MIT_POSIX_THREADS" -} else { - set target_cflags "" -} -set why_msg "unrecognized error" -foreach lib {-lpthreads -lpthread} { - set options "debug" - lappend options "incdir=${objdir}/${subdir}" - lappend options "libs=$lib" - set ccout [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable $options] - switch -regexp -- $ccout { - ".*no posix threads support.*" { - set why_msg "missing threads include file" - break - } - ".*cannot open -lpthread.*" { - set why_msg "missing runtime threads library" - } - ".*Can't find library for -lpthread.*" { - set why_msg "missing runtime threads library" - } - {^$} { - pass "successfully compiled posix threads test case" - set built_binfile 1 - break - } - } -} -if {$built_binfile == "0"} { - unsupported "Couldn't compile ${srcfile}, ${why_msg}" - return -1 -} - -# Now we can proceed with the real testing. - -# Start with a fresh gdb. - -gdb_exit -gdb_start -gdb_reinitialize_dir $srcdir/$subdir -gdb_load ${binfile} - -gdb_test "set print sevenbit-strings" "" -#gdb_test "set print address off" "" -gdb_test "set width 0" "" - -# We'll need this when we send_gdb a ^C to GDB. Need to do it before we -# run the program and gdb starts saving and restoring tty states. -# On Ultrix, we don't need it and it is really slow (because shell_escape -# doesn't use vfork). -if ![istarget "*-*-ultrix*"] then { - gdb_test "shell stty intr '^C'" "" -} - -proc all_threads_running {} { - global prompt - global srcfile - - # Reset all the counters to zero. - gdb_test "set var common_routine::hits=0" "" - gdb_test "set var common_routine::from_thread1=0" "" - gdb_test "set var common_routine::from_thread2=0" "" - gdb_test "set var common_routine::from_main=0" "" - gdb_test "set var common_routine::full_coverage=0" "" - - # Disable all breakpoints. - gdb_test "disable" "" - - # Set up a breakpoint that will cause us to stop when we have - # been called 15 times. This should be plenty of time to allow - # every thread to run at least once, since each thread sleeps for - # one second between calls to common_routine. - gdb_test "tbreak common_routine if hits == 15" "" - - # Start all the threads running again and wait for the inferior - # to stop. Since no other breakpoints are set at this time - # we should stop only when we have been previously called 15 times. - - send_gdb "continue\n" - expect { - -re "Continuing.*common_routine.*at.*$srcfile.*$prompt $" {} - default { - fail "continue until common routine run 15 times" - return 0 - } - timeout { - fail "continue until common routine run 15 times (timeout)" - return 0 - } - } - - # Check that we stopped when we actually expected to stop, by - # verifying that there have been 15 previous hits. - - send_gdb "p common_routine::hits\n" - expect { - -re ".*= 15\r\n$prompt $" {} - default { - fail "stopped before calling common_routine 15 times" - return 0 - } - -re ".*$prompt $" { - fail "stopped before clling common_routine 15 times" - return 0 - } - timeout { - fail "stopped before calling common_routine 15 times (timeout)" - return 0 - } - } - - # Also check that all of the threads have run, which will only be true - # if the full_coverage variable is set. - - send_gdb "p common_routine::full_coverage\n" - expect { - -re ".*= 1\r\n$prompt $" {} - default { - fail "some threads didn't run" - return 0 - } - timeout { - fail "some threads didn't run (timeout)" - return 0 - } - } - - # Looks fine, return success. - return 1 -} - -proc test_startup {} { - global srcdir srcfile prompt expect_out - global main_id thread1_id thread2_id - - # We should be able to do an info threads before starting any others. - send_gdb "info threads\n" - expect { - -re ".*Thread.*LWP.*main.*" { - pass "info threads" - } - -re "\r\n$prompt $" { - pass "info threads" - setup_xfail "*-*-*" - fail "gdb does not support pthreads for this machine" - return 0 - } - } - - # Extract the thread id number of main thread from "info threads" output. - send_gdb "info threads\n" ; expect -re "(\[0-9\]+)(.*Thread.*main.*)($prompt $)" - set main_id $expect_out(1,string) - - # Check that we can continue and create the first thread. - gdb_test "break thread1" "Breakpoint .* file .*$srcdir.*" - gdb_test "continue" \ - "Continuing.*Breakpoint .*, thread1 \\(arg=0xfeedface\\).*at.*$srcfile.*" \ - "Continue to creation of first thread" - gdb_test "disable" "" - - # Extract the thread id number of thread 1 from "info threads" output. - send_gdb "info threads\n" ; expect -re "(\[0-9\]+)(.*Thread.*thread1.*)($prompt $)" - set thread1_id $expect_out(1,string) - - # Check that we can continue and create the second thread, - # ignoring the first thread for the moment. - gdb_test "break thread2" "Breakpoint .* file .*$srcdir.*" - gdb_test "continue" \ - "Continuing.*Breakpoint .*, thread2 \\(arg=0xdeadbeef\\).*at.*$srcfile.*" \ - "Continue to creation of second thread" - - # Extract the thread id number of thread 2 from "info threads" output. - send_gdb "info threads\n" ; expect -re "(\[0-9\]+)(.*Thread.*thread2.*)($prompt $)" - set thread2_id $expect_out(1,string) - - return 1 -} - -proc check_control_c {} { - global prompt - - # Verify that all threads are running. - if [all_threads_running] then { - pass "All threads running after startup" - } - - # Send a continue followed by ^C to the process to stop it. - send_gdb "continue\n" - set description "Stopped with a ^C" - after 1000 [send_gdb "\003"] - expect { - -re "Program received signal SIGINT.*$prompt $" { - pass $description - } - -re "Quit.*$prompt $" { - pass $description - } - timeout { - fail "$description (timeout)" - } - } - gdb_test "bt" "" - - # Verify that all threads can be run again after a ^C stop. - if [all_threads_running] then { - pass "All threads running after continuing from ^C stop" - } -} - -proc check_backtraces {} { - global prompt main_id thread1_id thread2_id - - # Check that the "thread apply N backtrace" command works - - gdb_test "thread apply $main_id backtrace" \ - ".* in main \\(argc=.*, argv=.*\\).*" \ - "check backtrace from main thread" - gdb_test "thread apply $thread1_id backtrace" \ - ".* in thread1 \\(arg=0xfeedface\\).*" \ - "check backtrace from thread 1" - gdb_test "thread apply $thread2_id backtrace" \ - ".* in thread2 \\(arg=0xdeadbeef\\).*" \ - "check backtrace from thread 2" - - # Check that we can apply the backtrace command to all - # three threads with a single gdb command - - gdb_test "thread apply $main_id $thread1_id $thread2_id bt" \ - ".* in main .* in thread1 .* in thread2.*" \ - "apply backtrace command to all three threads" - - # Check that we can do thread specific backtraces - # This also tests that we can do thread specific breakpoints. - - gdb_test "break common_routine thread $thread2_id" \ - "Breakpoint .* at 0x.* file .* line .*" \ - "set break at common_routine in thread 2" - - send_gdb "continue\n" - expect { - -re "Breakpoint .* common_routine \\(arg=2\\).*" { - send_gdb "backtrace\n" - expect { - -re "#0.*common_routine \\(arg=2\\).*#1.*thread2.*" { - pass "backtrace from thread 2 bkpt in common_routine" - } - default { - fail "backtrace from thread 2 bkpt in common_routine" - } - timeout { - fail "backtrace from thread 2 bkpt in common_routine (timeout)" - } - } - } - -re "Breakpoint .* common_routine \\(arg=0\\).*" { - fail "stopped in main thread at breakpoint for thread 2" - } - -re "Breakpoint .* common_routine \\(arg=1\\).*" { - fail "stopped in main thread at breakpoint for thread 1" - } - -re ".*$prompt" { - fail "continue to bkpt at common_routine in thread 2" - } - default { - fail "continue to bkpt at common_routine in thread 2" - } - timeout { - fail "continue to bkpt at common_routine in thread 2 (timeout)" - } - } -} - -setup_xfail "alpha-*-osf*" -if [runto_main] then { - clear_xfail "alpha-*-osf*" - if [test_startup] then { - check_control_c - check_backtraces - } -} -clear_xfail "alpha-*-osf*" diff --git a/gdb/testsuite/gdb.threads/step.c b/gdb/testsuite/gdb.threads/step.c deleted file mode 100644 index 1b18a4b07ad..00000000000 --- a/gdb/testsuite/gdb.threads/step.c +++ /dev/null @@ -1,221 +0,0 @@ -/* step.c for step.exp */ -#include <ipc.h> -#include <pthread.h> -#include <st.h> -#include <signal.h> -#include <stdio.h> - -void alarm_handler (); -void alarm_handler1 (); -void alarm_handler2 (); -void thread1 (); -void thread2 (); - -#define TIME_LIMIT 30 - - -int count1 = 0; -int count2 = 0; - -pthread_t tid1, tid2; -pthread_attr_t attr1, attr2; - -pthread_mutex_t mut; -pthread_mutexattr_t mut_attr; - -pthread_condattr_t cv_attr_a, cv_attr_b; -pthread_cond_t cv_a, cv_b; - -struct cv_struct - { - char a; - char b; - } -test_struct; - -main () -{ - /*init la struct */ - test_struct.a = 0; - test_struct.b = 1; - - /* create le mutex */ - if (pthread_mutexattr_create (&mut_attr) == -1) - { - perror ("mutexattr_create"); - exit (1); - } - - - if (pthread_mutex_init (&mut, mut_attr) == -1) - { - perror ("mutex_init"); - exit (1); - } - - /* create 2 cv */ - if (pthread_condattr_create (&cv_attr_a) == -1) - { - perror ("condattr_create(1)"); - exit (1); - } - - if (pthread_cond_init (&cv_a, cv_attr_a) == -1) - { - perror ("cond_init(1)"); - exit (1); - } - - if (pthread_condattr_create (&cv_attr_b) == -1) - { - perror ("condattr_create(2)"); - exit (1); - } - - if (pthread_cond_init (&cv_b, cv_attr_b) == -1) - { - perror ("cond_init(2)"); - exit (1); - } - - /* create 2 threads of execution */ - if (pthread_attr_create (&attr1) == -1) - { - perror ("attr_create(1)"); - exit (1); - } - - if (pthread_create (&tid1, attr1, thread1, &count1) == -1) - { - perror ("pthread_create(1)"); - exit (1); - } - - if (pthread_attr_create (&attr2) == -1) - { - perror ("attr_create(2)"); - exit (1); - } - - if (pthread_create (&tid2, attr2, thread2, &count2) == -1) - { - perror ("pthread_create(2)"); - exit (1); - } - - /* set alarm to print out data and exit */ - signal (SIGALRM, alarm_handler); - alarm (TIME_LIMIT); - - for (;;) - pause (); -} - -void -thread1 (count) - int *count; -{ - tid_t tid; - - tid = getstid (); - printf ("Thread1 tid 0x%x (%d) \n", tid, tid); - printf ("Thread1 @tid=0x%x \n", &tid); - signal (SIGALRM, alarm_handler1); - - for (;;) - { - if (pthread_mutex_lock (&mut) == -1) - { - perror ("pthread_mutex_lock(1)"); - pthread_exit ((void *) 0); - } - - while (test_struct.a == 0) - { - if (pthread_cond_wait (&cv_a, &mut) == -1) - { - perror ("pthread_cond_wait(1)"); - pthread_exit ((void *) -1); - } - } - - (*count)++; - printf ("*******thread1 count %d\n", *count); - - test_struct.a = 0; - - test_struct.b = 1; - pthread_cond_signal (&cv_b); - - if (pthread_mutex_unlock (&mut) == -1) - { - perror ("pthread_mutex_unlock(1)"); - pthread_exit ((void *) -1); - } - } -} - -void -thread2 (count) - int *count; -{ - tid_t tid; - - tid = getstid (); - printf ("Thread2 tid 0x%x (%d) \n", tid, tid); - printf ("Thread1 @tid=0x%x \n", &tid); - signal (SIGALRM, alarm_handler2); - - for (;;) - { - if (pthread_mutex_lock (&mut) == -1) - { - perror ("pthread_mutex_lock(2)"); - pthread_exit ((void *) 0); - } - - while (test_struct.b == 0) - { - if (pthread_cond_wait (&cv_b, &mut) == -1) - { - perror ("pthread_cond_wait(2)"); - pthread_exit ((void *) -1); - } - } - - (*count)++; - printf ("*******thread2 count %d\n", *count); - - test_struct.b = 0; - - test_struct.a = 1; - pthread_cond_signal (&cv_a); - - if (pthread_mutex_unlock (&mut) == -1) - { - perror ("pthread_mutex_unlock(2)"); - pthread_exit ((void *) -1); - } - } -} - - -void -alarm_handler () -{ - printf ("\tcount1 (%d) \n\tcount2 (%d)\n", count1, count2); - exit (0); -} - -void -alarm_handler1 () -{ - printf ("ALARM thread 1\n"); -} - -void -alarm_handler2 () -{ - printf ("ALARM thread 2\n"); - pthread_exit ((void *) 0); -} diff --git a/gdb/testsuite/gdb.threads/step.exp b/gdb/testsuite/gdb.threads/step.exp deleted file mode 100644 index 284c9b578c2..00000000000 --- a/gdb/testsuite/gdb.threads/step.exp +++ /dev/null @@ -1,200 +0,0 @@ -# step.exp -- Expect script to test gdb with step.c -# Copyright (C) 1992 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ - -# Please email any bugs, comments, and/or additions to this file to: -# bug-gdb@prep.ai.mit.edu - -# This file was written by Hiro Sugawara. (hiro@lynx.com) -# -# This test really needs some major surgery to be acceptable, but -# I'm just about burnt out on lynx work, so I'm not doing it now. -# -# * The test has an indeterminate number of pass/fails -# for each run (it runs a small group of tests until -# it's timer kicks off). This is very bad for nightly -# automated regression testing. -# -# * It tries to "step" from withint he prologue of a -# function. This isn't support in gdb (it's going -# to act like a continue). -# -# * This test rarely check that it stopped in sensible -# places. (see previous bullet -- this test doesn't -# catch the fact it continued rather than stepped) - - -if $tracelevel then { - strace $tracelevel -} - -set program_exited 0 - -proc set_bp { where } { - global prompt - - send_gdb "break $where\n" - # The first regexp is what we get with -g, the second without -g. - expect { - -re "Break.* at .*: file .*, line \[0-9\]*.*$prompt $" {} - -re "Breakpoint \[0-9\]* at 0x\[0-9a-f\]*.*$prompt $" {} - -re "$prompt $" { fail "setting breakpoint at $where" ; return 0 } - timeout { fail "setting breakpoint at $where (timeout)" ; return 0 } - } - pass "set_bp" -} - -proc step_it { cmd } { - global prompt - global program_exited - - send_gdb "$cmd\n" - expect { - -re "0x\[0-9A-Fa-f\]* *in.*\r\n$prompt $" { pass "step_it"; return 0 } - -re "0x\[0-9A-Fa-f\]* *\[0-9\]*.*\r\n$prompt $" { pass "step_it"; return 1 } - -re "Program exited .*\n$prompt $" { - set program_exited 1 - return -1 - } - -re "$prompt $" { fail "single-stepping ($cmd).\n" ; return -1 } - timeout { fail "single-stepping ($cmd) timout.\n" ; return -1 } - } -} - -proc step_inst {} { - step_it "stepi" -} - -proc step_source {} { - step_it "step" -} - -proc continue_all {} { - global prompt - - send_gdb "continue\n" - expect { - -re "Breakpoint \[0-9\]*, thread\[0-9\]* .*$prompt $" { - pass "continue_all" - return 0 - } - -re "Program exited .*\n$prompt $" { - set program_exited 1 - return 1; - } - -re "$prompt $" { fail "continue" ; return -1 } - timeout { fail "continue (timeout)" ; return -1 } - } -} - -proc check_threads { num_threads } { - global prompt - - set curr_thread 0 - send_gdb "info threads\n" - while { $num_threads > 0 } { - expect { - -re "\\* *\[0-9\]* process \[0-9\]* thread \[0-9\]* .*\n" { - incr curr_thread - set num_threads [expr $num_threads - 1] - } - -re " *\[0-9\]* process \[0-9\]* thread \[0-9\]* .*\n" { - set num_threads [expr $num_threads - 1] - } - -re "$prompt $" { - if { $num_threads < 0 } { - fail "check_threads (too many)" ; return -1 - } - break - } - timeout { fail "check_threads (timeout)" ; return -1 } - } - } - - if { $curr_thread == 0 } { - fail "check_threads (no current thread)\n" - return -1 - } - if { $curr_thread > 1 } { - fail "check_threads (more than one current thread)\n" - return -1 - } - return 0 -} - -proc test_cond_wait {} { - global program_exited - - set_bp 135 - runto 179 - while { 1 } { - set stepi_counter 0 - while { [step_inst] } { - if { $program_exited } { break } - incr stepi_counter - if { $stepi_counter > 30 } { - fail "too many stepi's per line\n" - return -1 - } - } - if { $program_exited } { break } - step_source - if { $program_exited } { break } - continue_all - if { $program_exited } { break } - check_threads 3 - } -} - -proc do_tests {} { - global prms_id - global bug_id - global subdir - global objdir - global srcdir - global binfile - global prompt - - set prms_id 0 - set bug_id 0 - - # Start with a fresh gdb. - - gdb_exit - gdb_start - gdb_reinitialize_dir $srcdir/$subdir - gdb_load $objdir/$subdir/$binfile - - send_gdb "set width 0\n" - expect -re "$prompt $" - - test_cond_wait -} - -# Check to see if we have an executable to test. If not, then either we -# haven't tried to compile one, or the compilation failed for some reason. -# In either case, just notify the user and skip the tests in this file. - -set binfile "step" -set srcfile "step.c" - -if ![file exists $objdir/$subdir/$binfile] then { - if $all_flag then { - warning "$binfile does not exist; tests suppressed." - } -} else { - do_tests -} diff --git a/gdb/testsuite/gdb.threads/step2.exp b/gdb/testsuite/gdb.threads/step2.exp deleted file mode 100644 index 5827171e727..00000000000 --- a/gdb/testsuite/gdb.threads/step2.exp +++ /dev/null @@ -1,150 +0,0 @@ -# step2.exp -- Expect script to test gdb step.c -# Copyright (C) 1992 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ - -# Please email any bugs, comments, and/or additions to this file to: -# bug-gdb@prep.ai.mit.edu - -# This file was written by Jeff Law. (law@cygnus.com) -# - - -if $tracelevel then { - strace $tracelevel -} - -set program_exited 0 - -# A simple and crude test to see that we can step two threads independently -proc test_multi_threaded_stepping {} { - global prompt - global hex - global srcfile - global decimal - - # Set breakpoints in code that we know is executed in only - # thread of control. - gdb_test "break thread1" \ - "Break.* at $hex: file .*$srcfile, line $decimal\\." - gdb_test "break thread2" \ - "Break.* at $hex: file .*$srcfile, line $decimal\\." - - # the order in which things happen is indeterminate. So we basically - # look for a set of events and note that each one happens and that - # all of the required events have happened when we're done. - # - # Right now we only verify that both threads start and that they - # both call pthread_cond_wait twice. - set thread1started 0 - set thread1condwait 0 - set thread2started 0 - set thread2condwait 0 - - send_gdb "run\n" - expect { - -re "The program .* has been started already.*y or n. $" { - send_gdb "y\n" - exp_continue - } - -re ".*Breakpoint \[0-9\]+,.*thread1.* at .*$srcfile:.*\[\t \].*$prompt $" { - if { $thread1started != 0 } then { - fail "thread1 started" - return - } else { - set thread1started 1 - pass "thread1 started" - } - send_gdb "step\n" - exp_continue - } - -re ".*Breakpoint \[0-9\]+,.*thread2.* at .*$srcfile:.*\[\t \].*$prompt $" { - if { $thread2started != 0 } then { - fail "thread2 started" - return - } else { - set thread2started 1 - pass "thread2 started" - } - send_gdb "step\n" - exp_continue - } - -re ".*pthread_cond_wait.*cv_a.*$prompt" { - if { $thread1started == 0 } then { - fail "thread1 condwait" - return - } - if { $thread1condwait < 2 } then { - pass "thread1 condwait" - incr thread1condwait - } - if { $thread2condwait == 2 } then { - pass "multi threaded stepping" - return - } - send_gdb "step\n" - exp_continue - } - - -re ".*pthread_cond_wait.*cv_b.*$prompt" { - if { $thread2started == 0 } then { - fail "thread2 condwait" - return - } - if { $thread2condwait < 2 } then { - pass "thread2 condwait" - incr thread2condwait - } - if { $thread1condwait == 2 } then { - pass "multi threaded stepping" - return - } - send_gdb "step\n" - exp_continue - } - - -re "$prompt" { - send_gdb "step\n" - exp_continue - } - default { fail "multi threaded stepping" } - } -} - -# Check to see if we have an executable to test. If not, then either we -# haven't tried to compile one, or the compilation failed for some reason. -# In either case, just notify the user and skip the tests in this file. - -set binfile "step" -set srcfile "step.c" - -if ![file exists $objdir/$subdir/$binfile] then { - if $all_flag then { - warning "$binfile does not exist; tests suppressed." - } - return -} - -set prms_id 0 -set bug_id 0 - -# Start with a fresh gdb. - -gdb_exit -gdb_start -gdb_reinitialize_dir $srcdir/$subdir -gdb_load $objdir/$subdir/$binfile - -test_multi_threaded_stepping diff --git a/gdb/testsuite/gdb.trace/.Sanitize b/gdb/testsuite/gdb.trace/.Sanitize deleted file mode 100644 index dd6628b0578..00000000000 --- a/gdb/testsuite/gdb.trace/.Sanitize +++ /dev/null @@ -1,60 +0,0 @@ -# .Sanitize for gdb/testsuite/gdb.threads. - -# Each directory to survive its way into a release will need a file -# like this one called "./.Sanitize". All keyword lines must exist, -# and must exist in the order specified by this file. Each directory -# in the tree will be processed, top down, in the following order. - -# Hash started lines like this one are comments and will be deleted -# before anything else is done. Blank lines will also be squashed -# out. - -# The lines between the "Do-first:" line and the "Things-to-keep:" -# line are executed as a /bin/sh shell script before anything else is -# done in this directory. - -Do-first: - -# All files listed between the "Things-to-keep:" line and the -# "Do-last:" line will be kept. All other files will be removed. -# Directories listed in this section will have their own Sanitize -# called. Directories not listed will be removed in their entirety -# with rm -rf. - -Things-to-keep: - -Makefile.in -configure.in -configure -actions.c -actions.exp -backtrace.exp -circ.c -circ.exp -collection.c -collection.exp -deltrace.exp -gdb_c_test.c -infotrace.exp -limits.c -limits.exp -packetlen.exp -passc-dyn.exp -passcount.exp -report.exp -save-trace.exp -tfind.exp -tracecmd.exp -while-dyn.exp -while-stepping.exp - - -Things-to-lose: - -# The lines between the "Do-last:" line and the end of the file -# are executed as a /bin/sh shell script after everything else is -# done. - -Do-last: - -# eof diff --git a/gdb/testsuite/gdb.trace/Makefile.in b/gdb/testsuite/gdb.trace/Makefile.in deleted file mode 100644 index ab228ddf935..00000000000 --- a/gdb/testsuite/gdb.trace/Makefile.in +++ /dev/null @@ -1,20 +0,0 @@ -#### host, target, and site specific Makefile frags come in here. - -VPATH = @srcdir@ -srcdir = @srcdir@ - -.PHONY: all clean mostlyclean distclean realclean - -all: - @echo "Nothing to be done for all..." - -clean mostlyclean: - -rm -f *.o *.diff *~ *.bad core sh3 hppa mn10200 mn10300 - -distclean maintainer-clean realclean: clean - -rm -f Makefile config.status config.log - -Makefile: $(srcdir)/Makefile.in $(srcdir)/configure.in - $(SHELL) ./config.status --recheck - - diff --git a/gdb/testsuite/gdb.trace/actions.c b/gdb/testsuite/gdb.trace/actions.c deleted file mode 100644 index e8df6148461..00000000000 --- a/gdb/testsuite/gdb.trace/actions.c +++ /dev/null @@ -1,134 +0,0 @@ -/* - * Test program for trace action commands - */ - -static char gdb_char_test; -static short gdb_short_test; -static long gdb_long_test; -static char gdb_arr_test[25]; -static struct GDB_STRUCT_TEST -{ - char c; - short s; - long l; - int bfield : 11; /* collect bitfield */ - char arr[25]; - struct GDB_STRUCT_TEST *next; -} gdb_struct1_test, gdb_struct2_test, *gdb_structp_test, **gdb_structpp_test; - -static union GDB_UNION_TEST -{ - char c; - short s; - long l; - int bfield : 11; /* collect bitfield */ - char arr[4]; - union GDB_UNION_TEST *next; -} gdb_union1_test; - -void gdb_recursion_test (int, int, int, int, int, int, int); - -void gdb_recursion_test (int depth, - int q1, - int q2, - int q3, - int q4, - int q5, - int q6) -{ /* gdb_recursion_test line 0 */ - int q = q1; /* gdbtestline 1 */ - - q1 = q2; /* gdbtestline 2 */ - q2 = q3; /* gdbtestline 3 */ - q3 = q4; /* gdbtestline 4 */ - q4 = q5; /* gdbtestline 5 */ - q5 = q6; /* gdbtestline 6 */ - q6 = q; /* gdbtestline 7 */ - if (depth--) /* gdbtestline 8 */ - gdb_recursion_test (depth, q1, q2, q3, q4, q5, q6); /* gdbtestline 9 */ -} - - -unsigned long gdb_c_test( unsigned long *parm ) - -{ - char *p = "gdb_c_test"; - char *rediculously_long_variable_name_with_equally_long_string_assignment; - register long local_reg = 7; - static unsigned long local_static, local_static_sizeof; - long local_long; - unsigned long *stack_ptr; - unsigned long end_of_stack; - - rediculously_long_variable_name_with_equally_long_string_assignment = - "rediculously long variable name with equally long string assignment"; - local_static = 9; - local_static_sizeof = sizeof (struct GDB_STRUCT_TEST); - local_long = local_reg + 1; - stack_ptr = (unsigned long *) &local_long; - end_of_stack = - (unsigned long) &stack_ptr + sizeof(stack_ptr) + sizeof(end_of_stack) - 1; - - gdb_char_test = gdb_struct1_test.c = (char) ((long) parm[1] & 0xff); - gdb_short_test = gdb_struct1_test.s = (short) ((long) parm[2] & 0xffff); - gdb_long_test = gdb_struct1_test.l = (long) ((long) parm[3] & 0xffffffff); - gdb_union1_test.l = (long) parm[4]; - gdb_arr_test[0] = gdb_struct1_test.arr[0] = (char) ((long) parm[1] & 0xff); - gdb_arr_test[1] = gdb_struct1_test.arr[1] = (char) ((long) parm[2] & 0xff); - gdb_arr_test[2] = gdb_struct1_test.arr[2] = (char) ((long) parm[3] & 0xff); - gdb_arr_test[3] = gdb_struct1_test.arr[3] = (char) ((long) parm[4] & 0xff); - gdb_arr_test[4] = gdb_struct1_test.arr[4] = (char) ((long) parm[5] & 0xff); - gdb_arr_test[5] = gdb_struct1_test.arr[5] = (char) ((long) parm[6] & 0xff); - gdb_struct1_test.bfield = 144; - gdb_struct1_test.next = &gdb_struct2_test; - gdb_structp_test = &gdb_struct1_test; - gdb_structpp_test = &gdb_structp_test; - - gdb_recursion_test (3, (long) parm[1], (long) parm[2], (long) parm[3], - (long) parm[4], (long) parm[5], (long) parm[6]); - - gdb_char_test = gdb_short_test = gdb_long_test = 0; - gdb_structp_test = (void *) 0; - gdb_structpp_test = (void *) 0; - memset ((char *) &gdb_struct1_test, 0, sizeof (gdb_struct1_test)); - memset ((char *) &gdb_struct2_test, 0, sizeof (gdb_struct2_test)); - local_static_sizeof = 0; - local_static = 0; - return ( (unsigned long) 0 ); -} - -static void gdb_asm_test (void) -{ -} - -static void begin () /* called before anything else */ -{ -} - -static void end () /* called after everything else */ -{ -} - -int -main (argc, argv, envp) - int argc; - char *argv[], **envp; -{ - int i; - unsigned long myparms[10]; - -#ifdef usestubs - set_debug_traps (); - breakpoint (); -#endif - - begin (); - for (i = 0; i < sizeof (myparms) / sizeof (myparms[0]); i++) - myparms[i] = i; - - gdb_c_test (&myparms[0]); - - end (); - return 0; -} - diff --git a/gdb/testsuite/gdb.trace/actions.exp b/gdb/testsuite/gdb.trace/actions.exp deleted file mode 100644 index 1a5eaabd30c..00000000000 --- a/gdb/testsuite/gdb.trace/actions.exp +++ /dev/null @@ -1,207 +0,0 @@ -# Copyright (C) 1998 Free Software Foundation, Inc. -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - -# Please email any bugs, comments, and/or additions to this file to: -# bug-gdb@prep.ai.mit.edu - -# This file was written by Michael Snyder (msnyder@cygnus.com) - -load_lib "trace-support.exp"; - -if $tracelevel then { - strace $tracelevel -} - -set prms_id 0 -set bug_id 0 - -gdb_exit -gdb_start - -if [istarget "m68k-*-elf"] then { - set binfile [board_info target d490_binfile]; - set srcfile gdb_c_test.c -} else { - set testfile "actions" - set srcfile ${testfile}.c - set binfile $objdir/$subdir/$testfile - if { [gdb_compile "$srcdir/$subdir/$srcfile" $binfile \ - executable {debug additional_flags="-gdwarf"}] != "" } { - gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail." - } -} -gdb_reinitialize_dir $srcdir/$subdir - -# If testing on a remote host, download the source file. -remote_download host $srcdir/$subdir/$srcfile - -gdb_file_cmd $binfile - -# define relative source line numbers: -# all subsequent line numbers are relative to this first one (baseline) - -set baseline [gdb_find_recursion_test_baseline $srcfile]; -if { $baseline == -1 } then { - fail "Could not find gdb_recursion_test function" - return; -} - -set testline1 [expr $baseline + 7] - -# -# test actions command -# - -gdb_delete_tracepoints -set trcpt1 [gdb_gettpnum gdb_c_test]; -set trcpt2 [gdb_gettpnum gdb_asm_test]; -set trcpt3 [gdb_gettpnum $testline1]; -if { $trcpt1 <= 0 || $trcpt2 <= 0 || $trcpt3 <= 0 } then { - fail "setting tracepoints" - return; -} - -# 5.1 actions of specified tracepoint - -send_gdb "info tracepoints\n" -gdb_expect { - -re "Actions for tracepoint \[0-9\]+:.*$gdb_prompt $" { - fail "5.1a: testsuite failure (tracepoint already has action)!" - } - -re "No tracepoints.*$gdb_prompt $" { - fail "5.1a: set three tracepoints, no actions (No tracepoints!)" - } - -re "$gdb_prompt $" { - pass "5.1a: set three tracepoints, no actions" - } -} - -gdb_trace_setactions "5.1b: set actions for first tracepoint" \ - "$trcpt1" \ - "collect gdb_char_test" "^$" - -send_gdb "info tracepoints\n" -gdb_expect { - -re "Actions for.* $trcpt1:.*collect gdb_char_test.*$gdb_prompt $" { - pass "5.1c: verify actions set for first tracepoint" - } - -re "$gdb_prompt $" { - fail "5.1c: verify actions set for first tracepoint" - } -} - -gdb_trace_setactions "5.1d: set actions for second tracepoint" \ - "$trcpt2" \ - "collect gdb_short_test" "^$" - -send_gdb "info tracepoints\n" -gdb_expect { - -re "Actions for.* $trcpt2:.*collect gdb_short_test.*$gdb_prompt $" { - pass "5.1e: verify actions set for second tracepoint" - } - -re "$gdb_prompt $" { - fail "5.1e: verify actions set for second tracepoint" - } -} - -gdb_trace_setactions "5.2a: set actions for last (default) tracepoint" \ - "" \ - "collect gdb_long_test" "^$" - -send_gdb "info tracepoints\n" -gdb_expect { - -re "Actions for.* $trcpt3:.*collect gdb_long_test.*$gdb_prompt $" { - pass "5.2b: verify actions set for last (default) tracepoint" - } - -re "$gdb_prompt $" { - fail "5.2b: verify actions set for last (default) tracepoint" - } -} - -# 5.3 replace actions set earlier - -gdb_trace_setactions "5.3a: reset actions for first tracepoint" \ - "$trcpt1" \ - "collect gdb_struct1_test" "^$" - -send_gdb "info tracepoints\n" -gdb_expect { - -re "Actions for.* $trcpt1:.*collect gdb_struct1_test.*$gdb_prompt $" { - pass "5.3b: verify actions set for first tracepoint" - } - -re "$gdb_prompt $" { - fail "5.3b: verify actions set for first tracepoint" - } -} - -# -# test end command (all by itself) -# - -# 5.4 end outside of context - -gdb_test "end" "This command cannot be used at the top level." \ - "5.4: 'end' command out of context" - -# 5.5 empty actions (just an end with no other actions) - -gdb_trace_setactions "5.5a: set empty actions for first tracepoint" \ - "$trcpt1" - -send_gdb "info tracepoints\n" -gdb_expect { - -re "No tracepoints.*$gdb_prompt $" { - fail "5.5c: verify NO actions for first tracepoint" - } - -re "Actions for.* $trcpt1:.*$gdb_prompt $" { - fail "5.5c: verify NO actions for first tracepoint" - } - -re "$gdb_prompt $" { - pass "5.5c: verify NO actions for first tracepoint" - } -} - -# 5.6 actions for invalid tracepoint number - -gdb_test "actions [expr $trcpt2 + $trcpt3]" \ - "No tracepoint number [expr $trcpt2 + $trcpt3]." \ - "5.6: actions for invalid tracepoint number" - -# 5.7 invalid action (other than 'collect', 'while-stepping' or 'end') -# "warning: .print gdb_c_test. is not a supported trace.*> $" \ - -gdb_trace_setactions "5.7: invalid action" \ - "$trcpt1" \ - "print gdb_c_test" \ - "warning: .print gdb_c_test. is not a supported trace" - -# 5.8 help actions (collect, while-stepping, end) - -gdb_test "help actions" \ - "Specify the actions to be taken at a tracepoint.*" \ - "5.8a: help actions" - -gdb_test "help collect" \ - "Specify one or more data items to be collected at a tracepoint.*" \ - "5.8b: help collect" - -gdb_test "help while-stepping" \ - "Specify single-stepping behavior at a tracepoint.*" \ - "5.8c: help while-stepping" - -gdb_test "help end" "Ends a list of commands or actions.*" \ - "5.8d: help end" - diff --git a/gdb/testsuite/gdb.trace/backtrace.exp b/gdb/testsuite/gdb.trace/backtrace.exp deleted file mode 100644 index e420029518a..00000000000 --- a/gdb/testsuite/gdb.trace/backtrace.exp +++ /dev/null @@ -1,376 +0,0 @@ -# Copyright (C) 1998 Free Software Foundation, Inc. -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - -# Please email any bugs, comments, and/or additions to this file to: -# bug-gdb@prep.ai.mit.edu - -# This file was written by Michael Snyder (msnyder@cygnus.com) - -load_lib "trace-support.exp"; - -if $tracelevel then { - strace $tracelevel -} - -set prms_id 0 -set bug_id 0 - -gdb_exit -gdb_start - -if [istarget "m68k-*-elf"] then { - load_lib "emc-support.exp"; - set srcfile gdb_c_test.c - set binfile [board_info target d490_binfile]; - gdb_test "set remotetimeout 6" "" "" - set timeout 500 - gdb_target_monitor "$binfile" - # Give a TSTOP and ignore errors, to make sure any previous trace is off - gdb_test "tstop" "" "" - gdb_test "tfind none" "" "" - send_gdb "compare-sections CS\n" - gdb_expect { - -re "MIS-MATCHED.*$gdb_prompt $" { - gdb_suppress_entire_file "Symbol file does not match target! - all tests in this module will fail."; - } - -re ".*$gdb_prompt $" { } - } -} else { - set testfile "actions" - set srcfile ${testfile}.c - set binfile $objdir/$subdir/$testfile - if { [gdb_compile "$srcdir/$subdir/$srcfile" $binfile \ - executable {debug additional_flags="-gdwarf"}] != "" } { - gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail." - } - gdb_load $binfile - gdb_test "tstop" "" "" - gdb_test "tfind none" "" "" - runto_main -} -gdb_reinitialize_dir $srcdir/$subdir - -# We generously give ourselves one "pass" if we successfully -# detect that this test cannot be run on this target! -if { ![gdb_target_supports_trace] } then { - pass "Current target does not supporst trace" - return 1; - -} - -# -# test backtraces in trace frames -# - -set testline1 0 -set testline2 0 -set testline3 0 -set testline4 0 -set testline5 0 -set testline6 0 - -set arg1 1 -set arg2 2 -set arg3 3 -set arg4 4 -set arg5 5 -set arg6 6 - -set baseline [gdb_find_recursion_test_baseline $srcfile]; -if { $baseline == -1 } { - fail "Could not find gdb_recursion_test function" - return; -} - -send_gdb "list $baseline, +12\n" -gdb_expect { - -re "\[\r\n\](\[0-9\]+).*gdbtestline 1 " { - set testline1 $expect_out(1,string) - exp_continue - } - -re "\[\r\n\](\[0-9\]+).*gdbtestline 2 " { - set testline2 $expect_out(1,string) - exp_continue - } - -re "\[\r\n\](\[0-9\]+).*gdbtestline 3 " { - set testline3 $expect_out(1,string) - exp_continue - } - -re "\[\r\n\](\[0-9\]+).*gdbtestline 4 " { - set testline4 $expect_out(1,string) - exp_continue - } - -re "\[\r\n\](\[0-9\]+).*gdbtestline 5 " { - set testline5 $expect_out(1,string) - exp_continue - } - -re "\[\r\n\](\[0-9\]+).*gdbtestline 6 " { - set testline6 $expect_out(1,string) - exp_continue - } - -re ".*$gdb_prompt $" { - if { ($testline1 == 0) || ($testline2 == 0) || ($testline3 == 0) || ($testline4 == 0) || ($testline5 == 0) || ($testline6 == 0) } { - gdb_suppress_entire_file "failed to locate test source lines: -all tests in this module will fail." - } - } - default { - gdb_suppress_entire_file "failed to locate test source lines (def): -all tests in this module will fail." - } -} - -# -# Setup backtrace experiment. This will involve: -# 1) a tracepoint where nothing is collected -# 2) a tracepoint where only regs are collected -# 3) a tracepoint where regs, locals and args are collected -# 4) a tracepoint where regs plus some amount of stack are collected. -# - -gdb_delete_tracepoints -set tdp2 [gdb_gettpnum $testline2] -set tdp3 [gdb_gettpnum $testline3] -set tdp4 [gdb_gettpnum $testline4] -set tdp5 [gdb_gettpnum $testline5] -set tdp6 [gdb_gettpnum $testline6] -if { $tdp2 <= 0 || $tdp3 <= 0 || \ - $tdp4 <= 0 || $tdp5 <= 0 || $tdp6 <= 0 } then { - fail "setting tracepoints failed" - return; -} - -#gdb_trace_setactions "setup TP to collect FP" \ -# "$tdp2" \ -# "collect \$fp" "" -# - -gdb_trace_setactions "8.6: setup TP to collect regs" \ - "$tdp3" \ - "collect \$regs" "^$" - -gdb_trace_setactions "8.6: setup TP to collect regs, args, and locals" \ - "$tdp4" \ - "collect \$regs, \$args, \$locs" "^$" - -gdb_trace_setactions "8.6: setup TP to collect stack mem cast expr" \ - "$tdp6" \ - "collect \$fp, \(\*\(void \*\*\) \(\$sp\)\) @ 64" "^$" - -gdb_test "tstart" "" "" - -if [istarget "m68k-*-elf"] then { - gdb_emclaptop_command "85,$arg1,$arg2,$arg3,$arg4,$arg5,$arg6" - sleep 5 -} else { - gdb_test "break end" "" "" - gdb_test "continue" \ - "Continuing.*Breakpoint $decimal, end.*" \ - "run trace experiment" -} - -gdb_test "tstop" "" "" - -proc gdb_backtrace_tdp_1 { msg } { - global gdb_prompt - - # We are in a trace frame at which we didn't collect anything - # except $PC. Therefore we expect to be able to identify stack - # frame #0, but that's about all. In particular we do not expect - # to be able to display the function's arguments or locals, and we - # do not expect to be able to identify the caller of this function. - - send_gdb "backtrace\n" - gdb_expect { - -re "#0\[\t \]+gdb_recursion_test.*depth=.*$gdb_prompt $" { - pass "$msg" - } - -re ".*$gdb_prompt $" { - fail "$msg" - } - timeout { fail "$msg (timeout)" } - } -} - -proc gdb_backtrace_tdp_2 { msg } { - global gdb_prompt - - # We are in a trace frame at which we collected only the registers - # Therefore we expect to be able to identify stack frame #0, but - # we don't expect to be able to display its args unles they are - # passed in registers (which isn't the case for m68k), and we - # don't expect to be able to identify the caller's stack frame. - - send_gdb "backtrace\n" - gdb_expect { - -re "#0\[\t \]+gdb_recursion_test.*depth=.*$gdb_prompt $" { - pass "$msg" - } - -re ".*$gdb_prompt $" { - fail "$msg" - } - timeout { fail "$msg (timeout)" } - } -} - -proc gdb_backtrace_tdp_3 { msg } { - global gdb_prompt - - # We are in a trace frame at which we collected all registers, all - # arguments and all locals. This means that the display of - # stack frame #0 should be complete (including argument values). - - send_gdb "backtrace\n" - gdb_expect { - -re "#0\[\t \]+gdb_recursion_test.*depth=\[0-9\]+.*q1=\[0-9\]+.*q2=\[0-9\]+.*q3=\[0-9\]+.*q4=\[0-9\]+.*q5=\[0-9\]+.*q6=\[0-9\]+.*$gdb_prompt $" { - pass "$msg" - } - -re "#0\[\t \]+gdb_recursion_test.*depth=Cannot access.*$gdb_prompt $" { - fail "$msg (failed to collect arguments)" - } - -re ".*$gdb_prompt $" { - fail "$msg" - } - timeout { fail "$msg (timeout)" } - } -} - -proc gdb_backtrace_tdp_4 { msg depth } { - global gdb_prompt - - # We are in a trace frame at which we collected all registers, - # plus a sizeable hunk of stack memory. This should enable us to - # display at least several stack frames worth of backtrace. We'll - # assume that if we can't display at least "depth" levels (with - # args), it counts as an error. - - send_gdb "backtrace\n" - gdb_expect { - -re "#$depth\[\t \].*gdb_recursion_test.*depth=\[0-9\]+.*q1=\[0-9\]+.*q2=\[0-9\]+.*q3=\[0-9\]+.*q4=\[0-9\]+.*q5=\[0-9\]+.*q6=\[0-9\]+.*$gdb_prompt $" { - pass "$msg" - } - -re "#$depth\[\t \].*gdb_recursion_test.*depth=.*$gdb_prompt $" { - fail "$msg (args missing from #$depth stack frame)" - } - -re "#\[0-9\]+\[\t \].*gdb_recursion_test.*depth=.*$gdb_prompt $" { - fail "$msg (fewer than $depth stack frames found)" - } - -re ".*$gdb_prompt $" { - fail "$msg" - } - timeout { fail "$msg (timeout)" } - } -} - -# -# begin backtrace test -# - -set timeout 60 - -gdb_tfind_test "init: make sure not debugging any trace frame" "none" "-1" - -gdb_tfind_test "8.6: find start frame" "start" "0" -gdb_test "printf \"TDP \%d:\\n\", \$tracepoint" \ - "TDP $tdp2:" "" -gdb_backtrace_tdp_1 "8.6: Backtrace, depth == 1, collect nothing" - -gdb_tfind_test "8.6: find frame 1" "1" "1" -gdb_test "printf \"TDP \%d:\\n\", \$tracepoint" \ - "TDP $tdp3:" "" -gdb_backtrace_tdp_2 "8.6: Backtrace, depth == 1, collect regs" - -gdb_tfind_test "8.6: find frame 2" "2" "2" -gdb_test "printf \"TDP \%d:\\n\", \$tracepoint" \ - "TDP $tdp4:" "" -gdb_backtrace_tdp_3 "8.6: Backtrace, depth == 1, collect args and locals" - - -gdb_tfind_test "8.6: find frame 4" "4" "4" -gdb_test "printf \"TDP \%d:\\n\", \$tracepoint" \ - "TDP $tdp6:" "" -gdb_backtrace_tdp_4 "8.6: Backtrace, depth == 1, collect stack mem expr" "0" - -gdb_tfind_test "8.6: find frame 5" "5" "5" -gdb_test "printf \"TDP \%d:\\n\", \$tracepoint" \ - "TDP $tdp2:" "" -gdb_backtrace_tdp_1 "8.6: Backtrace, depth == 2, collect nothing" - -gdb_tfind_test "8.6: find frame 6" "6" "6" -gdb_test "printf \"TDP \%d:\\n\", \$tracepoint" \ - "TDP $tdp3:" "" -gdb_backtrace_tdp_2 "8.6: Backtrace, depth == 2, collect regs" - -gdb_tfind_test "8.6: find frame 7" "7" "7" -gdb_test "printf \"TDP \%d:\\n\", \$tracepoint" \ - "TDP $tdp4:" "" -gdb_backtrace_tdp_3 "8.6: Backtrace, depth == 2, collect args and locals" - - -gdb_tfind_test "8.6: find frame 9" "9" "9" -gdb_test "printf \"TDP \%d:\\n\", \$tracepoint" \ - "TDP $tdp6:" "" -gdb_backtrace_tdp_4 "8.6: Backtrace, depth == 1, collect stack mem expr" "0" - -gdb_tfind_test "8.6: find frame 10" "10" "10" -gdb_test "printf \"TDP \%d:\\n\", \$tracepoint" \ - "TDP $tdp2:" "" -gdb_backtrace_tdp_1 "8.6: Backtrace, depth == 3, collect nothing" - -gdb_tfind_test "8.6: find frame 11" "11" "11" -gdb_test "printf \"TDP \%d:\\n\", \$tracepoint" \ - "TDP $tdp3:" "" -gdb_backtrace_tdp_2 "8.6: Backtrace, depth == 3, collect regs" - -gdb_tfind_test "8.6: find frame 12" "12" "12" -gdb_test "printf \"TDP \%d:\\n\", \$tracepoint" \ - "TDP $tdp4:" "" -gdb_backtrace_tdp_3 "8.6: Backtrace, depth == 3, collect args and locals" - - -gdb_tfind_test "8.6: find frame 14" "14" "14" -gdb_test "printf \"TDP \%d:\\n\", \$tracepoint" \ - "TDP $tdp6:" "" -gdb_backtrace_tdp_4 "8.6: Backtrace, depth == 1, collect stack mem expr" "0" - -gdb_tfind_test "8.6: find frame 15" "15" "15" -gdb_test "printf \"TDP \%d:\\n\", \$tracepoint" \ - "TDP $tdp2:" "" -gdb_backtrace_tdp_1 "8.6: Backtrace, depth == 4, collect nothing" - -gdb_tfind_test "8.6: find frame 16" "16" "16" -gdb_test "printf \"TDP \%d:\\n\", \$tracepoint" \ - "TDP $tdp3:" "" -gdb_backtrace_tdp_2 "8.6: Backtrace, depth == 4, collect regs" - -gdb_tfind_test "8.6: find frame 17" "17" "17" -gdb_test "printf \"TDP \%d:\\n\", \$tracepoint" \ - "TDP $tdp4:" "" -gdb_backtrace_tdp_3 "8.6: Backtrace, depth == 4, collect args and locals" - - -gdb_tfind_test "8.6: find frame 19" "19" "19" -gdb_test "printf \"TDP \%d:\\n\", \$tracepoint" \ - "TDP $tdp6:" "" -gdb_backtrace_tdp_4 "8.6: Backtrace, depth == 1, collect stack mem expr" "0" - -gdb_test "printf \"x \%d x\\n\", depth == 3" \ - "x 0 x" \ - "1.13: trace in recursion: depth not equal to 3" - -# Finished! -gdb_test "tfind none" "" "" diff --git a/gdb/testsuite/gdb.trace/circ.c b/gdb/testsuite/gdb.trace/circ.c deleted file mode 100644 index 98a2ce6be54..00000000000 --- a/gdb/testsuite/gdb.trace/circ.c +++ /dev/null @@ -1,90 +0,0 @@ -/* - * Test program for tracing; circular buffer - */ - -int n = 6; - -int testload[13]; - -static void func0(void) -{ -} - -static void func1(void) -{ -} - -static void func2(void) -{ -} - -static void func3(void) -{ -} - -static void func4(void) -{ -} - -static void func5(void) -{ -} - -static void func6(void) -{ -} - -static void func7(void) -{ -} - -static void func8(void) -{ -} - -static void func9(void) -{ -} - -static void begin () /* called before anything else */ -{ -} - -static void end () /* called after everything else */ -{ -} - -int -main (argc, argv, envp) - int argc; - char *argv[], **envp; -{ - int i; - -#ifdef usestubs - set_debug_traps (); - breakpoint (); -#endif - - begin (); - for (i = 0; i < sizeof(testload) / sizeof(testload[0]); i++) - testload[i] = i + 1; - - func0 (); - func1 (); - func2 (); - func3 (); - func4 (); - func5(); - func6 (); - func7 (); - func8 (); - func9 (); - - end (); - -#ifdef usestubs - breakpoint (); -#endif - return 0; -} diff --git a/gdb/testsuite/gdb.trace/circ.exp b/gdb/testsuite/gdb.trace/circ.exp deleted file mode 100644 index 19267cb6c9b..00000000000 --- a/gdb/testsuite/gdb.trace/circ.exp +++ /dev/null @@ -1,215 +0,0 @@ -# Copyright (C) 1998 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - -# Please email any bugs, comments, and/or additions to this file to: -# bug-gdb@prep.ai.mit.edu - -if [istarget "m68k-*-elf"] then { - pass "Test not supported on this target" - return; -} - -load_lib "trace-support.exp" - -if $tracelevel then { - strace $tracelevel -} - -set prms_id 0 -set bug_id 0 - -set testfile "circ" -set srcfile ${testfile}.c -set binfile $objdir/$subdir/$testfile - -if { [gdb_compile "$srcdir/$subdir/$srcfile" $binfile \ - executable {debug additional_flags="-gdwarf"}] != "" } { - gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail." -} - -# Tests: -# 1) Set up a trace experiment that will collect approximately 10 frames, -# requiring more than 512 but less than 1024 bytes of cache buffer. -# (most targets should have at least 1024 bytes of cache buffer!) -# Run and confirm that it collects all 10 frames. -# 2) Artificially limit the trace buffer to 512 bytes, and rerun the -# experiment. Confirm that the first several frames are collected, -# but that the last several are not. -# 3) Set trace buffer to circular mode, still with the artificial limit -# of 512 bytes, and rerun the experiment. Confirm that the last -# several frames are collected, but the first several are not. -# - -# return 0 for success, 1 for failure -proc run_trace_experiment { pass } { - gdb_run_cmd - - if [gdb_test "tstart" \ - "\[\r\n\]*" \ - "start trace experiment, pass $pass"] then { return 1; } - if [gdb_test "continue" \ - "Continuing.*Breakpoint \[0-9\]+, end.*" \ - "run to end, pass $pass"] then { return 1; } - if [gdb_test "tstop" \ - "\[\r\n\]*" \ - "stop trace experiment, pass $pass"] then { return 1; } - return 0; -} - -# return 0 for success, 1 for failure -proc set_a_tracepoint { func } { - if [gdb_test "trace $func" \ - "Tracepoint \[0-9\]+ at .*" \ - "set tracepoint at $func"] then { - return 1; - } - if [gdb_trace_setactions "set actions for $func" \ - "" \ - "collect testload" "^$"] then { - return 1; - } - return 0; -} - -# return 0 for success, 1 for failure -proc setup_tracepoints { } { - gdb_delete_tracepoints - if [set_a_tracepoint func0] then { return 1; } - if [set_a_tracepoint func1] then { return 1; } - if [set_a_tracepoint func2] then { return 1; } - if [set_a_tracepoint func3] then { return 1; } - if [set_a_tracepoint func4] then { return 1; } - if [set_a_tracepoint func5] then { return 1; } - if [set_a_tracepoint func6] then { return 1; } - if [set_a_tracepoint func7] then { return 1; } - if [set_a_tracepoint func8] then { return 1; } - if [set_a_tracepoint func9] then { return 1; } - return 0; -} - -# return 0 for success, 1 for failure -proc trace_buffer_normal { } { - if [gdb_test "maint packet QTBuffer:size:ffffffff" \ - "received: .OK." ""] then { - pass "This test cannot be run on this target" - return 1; - } - if [gdb_test "maint packet QTBuffer:circular:0" \ - "received: .OK." ""] then { - pass "This test cannot be run on this target" - return 1; - } - return 0; -} - -# return 0 for success, 1 for failure -proc gdb_trace_circular_tests { } { - - # We generously give ourselves one "pass" if we successfully - # detect that this test cannot be run on this target! - if { ![gdb_target_supports_trace] } then { - pass "Current target does not supporst trace" - return 1; - } - - if [trace_buffer_normal] then { return 1; } - - gdb_test "break begin" "" "" - gdb_test "break end" "" "" - gdb_test "tstop" "" "" - gdb_test "tfind none" "" "" - - if [setup_tracepoints] then { return 1; } - - # First, run the trace experiment with default attributes: - # Make sure it behaves as expected. - if [run_trace_experiment 1] then { return 1; } - if [gdb_test "tfind start" \ - "#0 func0 .*" \ - "find frame zero, pass 1"] then { return 1; } - - if [gdb_test "tfind 9" \ - "#0 func9 .*" \ - "find frame nine, pass 1"] then { return 1; } - - if [gdb_test "tfind none" \ - "#0 end .*" \ - "quit trace debugging, pass 1"] then { return 1; } - - # Then, shrink the trace buffer so that it will not hold - # all ten trace frames. Verify that frame zero is still - # collected, but frame nine is not. - if [gdb_test "maint packet QTBuffer:size:200" \ - "received: .OK." "shrink the target trace buffer"] then { - return 1; - } - if [run_trace_experiment 2] then { return 1; } - if [gdb_test "tfind start" \ - "#0 func0 .*" \ - "find frame zero, pass 2"] then { return 1; } - - if [gdb_test "tfind 9" \ - ".* failed to find .*" \ - "fail to find frame nine, pass 2"] then { return 1; } - - if [gdb_test "tfind none" \ - "#0 end .*" \ - "quit trace debugging, pass 2"] then { return 1; } - - # Finally, make the buffer circular. Now when it runs out of - # space, it should wrap around and overwrite the earliest frames. - # This means that: - # 1) frame zero will be overwritten and therefore unavailable - # 2) the earliest frame in the buffer will be other-than-zero - # 3) frame nine will be available (unlike on pass 2). - if [gdb_test "maint packet QTBuffer:circular:1" \ - "received: .OK." "make the target trace buffer circular"] then { - return 1; - } - if [run_trace_experiment 3] then { return 1; } - if [gdb_test "tfind start" \ - "#0 func\[1-9\] .*" \ - "first frame is NOT frame zero, pass 3"] then { return 1; } - - if [gdb_test "tfind 9" \ - "#0 func9 .*" \ - "find frame nine, pass 3"] then { return 1; } - - if [gdb_test "tfind none" \ - "#0 end .*" \ - "quit trace debugging, pass 3"] then { return 1; } - - return 0; -} - -# Start with a fresh gdb. - -gdb_exit -gdb_start -gdb_reinitialize_dir $srcdir/$subdir -gdb_load $binfile - -if [target_info exists gdb_stub] { - gdb_step_for_stub; -} -# Body of test encased in a proc so we can return prematurely. -if { ![gdb_trace_circular_tests] } then { - # Set trace buffer attributes back to normal - trace_buffer_normal; -} - -# Finished! -gdb_test "tfind none" "" "" diff --git a/gdb/testsuite/gdb.trace/collection.c b/gdb/testsuite/gdb.trace/collection.c deleted file mode 100644 index 39863325b0a..00000000000 --- a/gdb/testsuite/gdb.trace/collection.c +++ /dev/null @@ -1,280 +0,0 @@ -/* - * Test program for trace collection - */ - -/* - * Typedefs - */ - -typedef struct TEST_STRUCT { - char memberc; - int memberi; - float memberf; - double memberd; -} test_struct; - -typedef int test_array [4]; - -/* - * Global variables to be collected - */ - -char globalc; -int globali; -float globalf; -double globald; -test_struct globalstruct; -test_struct *globalp; -int globalarr[16]; - -/* - * Additional globals used in arithmetic tests - */ - -signed char c0, c1, c2, c3, c4, c5, c6, c7, - c8, c9, c10, c11, c12, c13, c14, c15, cminus; -signed short s0, s1, s2, s3, s4, s5, s6, s7, - s8, s9, s10, s11, s12, s13, s14, s15, sminus; -signed long l0, l1, l2, l3, l4, l5, l6, l7, - l8, l9, l10, l11, l12, l13, l14, l15, lminus; - - -/* - * Test functions - */ - -static void begin () /* called before anything else */ -{ -} - -static void end () /* called after everything else */ -{ -} - -/* Test collecting args. */ -int args_test_func (argc, argi, argf, argd, argstruct, argarray) - char argc; - int argi; - float argf; - double argd; - test_struct argstruct; - int argarray[4]; -{ - int i; - - i = (int) argc + argi + argf + argd + argstruct.memberi + argarray[1]; - - return i; -} - -/* Test collecting struct args. */ -int argstruct_test_func (argstruct) - test_struct argstruct; -{ - return (int) argstruct.memberc + argstruct.memberi + - argstruct.memberf + argstruct.memberd; -} - -/* Test collecting array args. */ -int argarray_test_func (argarray) - int argarray[4]; -{ - return (int) argarray[0] + argarray[1] + argarray[2] + argarray[3]; -} - - - -int local_test_func () /* test collecting locals */ -{ - char locc = 11; - int loci = 12; - float locf = 13.3; - double locd = 14.4; - test_struct locst; - int locar[4]; - int i; - - locst.memberc = 15; - locst.memberi = 16; - locst.memberf = 17.7; - locst.memberd = 18.8; - locar[0] = 121; - locar[1] = 122; - locar[2] = 123; - locar[3] = 124; - - i = /* Set_Tracepoint_Here */ - (int) locc + loci + locf + locd + locst.memberi + locar[1]; - - return i; -} - -int reglocal_test_func () /* test collecting register locals */ -{ - register char locc = 11; - register int loci = 12; - register float locf = 13.3; - register double locd = 14.4; - register test_struct locst; - register int locar[4]; - int i; - - locst.memberc = 15; - locst.memberi = 16; - locst.memberf = 17.7; - locst.memberd = 18.8; - locar[0] = 121; - locar[1] = 122; - locar[2] = 123; - locar[3] = 124; - - i = /* Set_Tracepoint_Here */ - (int) locc + loci + locf + locd + locst.memberi + locar[1]; - - return i; -} - -int statlocal_test_func () /* test collecting static locals */ -{ - static char locc; - static int loci; - static float locf; - static double locd; - static test_struct locst; - static int locar[4]; - int i; - - locc = 11; - loci = 12; - locf = 13.3; - locd = 14.4; - locst.memberc = 15; - locst.memberi = 16; - locst.memberf = 17.7; - locst.memberd = 18.8; - locar[0] = 121; - locar[1] = 122; - locar[2] = 123; - locar[3] = 124; - - i = /* Set_Tracepoint_Here */ - (int) locc + loci + locf + locd + locst.memberi + locar[1]; - - /* Set static locals back to zero so collected values are clearly special. */ - locc = 0; - loci = 0; - locf = 0; - locd = 0; - locst.memberc = 0; - locst.memberi = 0; - locst.memberf = 0; - locst.memberd = 0; - locar[0] = 0; - locar[1] = 0; - locar[2] = 0; - locar[3] = 0; - - return i; -} - - -int globals_test_func () -{ - int i = 0; - - i += globalc + globali + globalf + globald; - i += globalstruct.memberc + globalstruct.memberi; - i += globalstruct.memberf + globalstruct.memberd; - i += globalarr[1]; - - return i; /* Set_Tracepoint_Here */ -} - -int -main (argc, argv, envp) - int argc; - char *argv[], **envp; -{ - int i = 0; - test_struct mystruct; - int myarray[4]; - -#ifdef usestubs - set_debug_traps (); - breakpoint (); -#endif - - begin (); - /* Assign collectable values to global variables. */ - l0 = s0 = c0 = 0; l1 = s1 = c1 = 1; - l2 = s2 = c2 = 2; l3 = s3 = c3 = 3; - l4 = s4 = c4 = 4; l5 = s5 = c5 = 5; - l6 = s6 = c6 = 6; l7 = s7 = c7 = 7; - l8 = s8 = c8 = 8; l9 = s9 = c9 = 9; - l10 = s10 = c10 = 10; l11 = s11 = c11 = 11; - l12 = s12 = c12 = 12; l13 = s13 = c13 = 13; - l14 = s14 = c14 = 14; l15 = s15 = c15 = 15; - lminus = sminus = cminus = -2; - globalc = 71; - globali = 72; - globalf = 73.3; - globald = 74.4; - globalstruct.memberc = 81; - globalstruct.memberi = 82; - globalstruct.memberf = 83.3; - globalstruct.memberd = 84.4; - globalp = &globalstruct; - - for (i = 0; i < 15; i++) - globalarr[i] = i; - - mystruct.memberc = 101; - mystruct.memberi = 102; - mystruct.memberf = 103.3; - mystruct.memberd = 104.4; - myarray[0] = 111; - myarray[1] = 112; - myarray[2] = 113; - myarray[3] = 114; - - /* Call test functions, so they can be traced and data collected. */ - i = 0; - i += args_test_func (1, 2, 3.3, 4.4, mystruct, myarray); - i += argstruct_test_func (mystruct); - i += argarray_test_func (myarray); - i += local_test_func (); - i += reglocal_test_func (); - i += statlocal_test_func (); - i += globals_test_func (); - - /* Values of globals at end of test should be different from - values that they had when trace data was captured. */ - - l0 = s0 = c0 = 0; l1 = s1 = c1 = 0; - l2 = s2 = c2 = 0; l3 = s3 = c3 = 0; - l4 = s4 = c4 = 0; l5 = s5 = c5 = 0; - l6 = s6 = c6 = 0; l7 = s7 = c7 = 0; - l8 = s8 = c8 = 0; l9 = s9 = c9 = 0; - l10 = s10 = c10 = 0; l11 = s11 = c11 = 0; - l12 = s12 = c12 = 0; l13 = s13 = c13 = 0; - l14 = s14 = c14 = 0; l15 = s15 = c15 = 0; - lminus = sminus = cminus = 0; - - /* Set 'em back to zero, so that the collected values will be - distinctly different from the "realtime" (end of test) values. */ - - globalc = 0; - globali = 0; - globalf = 0; - globald = 0; - globalstruct.memberc = 0; - globalstruct.memberi = 0; - globalstruct.memberf = 0; - globalstruct.memberd = 0; - globalp = 0; - for (i = 0; i < 15; i++) - globalarr[i] = 0; - - end (); - return 0; -} diff --git a/gdb/testsuite/gdb.trace/collection.exp b/gdb/testsuite/gdb.trace/collection.exp deleted file mode 100644 index a48e3633055..00000000000 --- a/gdb/testsuite/gdb.trace/collection.exp +++ /dev/null @@ -1,623 +0,0 @@ -# Copyright (C) 1998 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - -# Please email any bugs, comments, and/or additions to this file to: -# bug-gdb@prep.ai.mit.edu - -if [istarget "m68k-*-elf"] then { - pass "Test not supported on this target" - return; -} - -load_lib "trace-support.exp" - -if $tracelevel then { - strace $tracelevel -} - -set prms_id 0 -set bug_id 0 - -set testfile "collection" -set srcfile ${testfile}.c -set binfile $objdir/$subdir/$testfile - -if { [gdb_compile "$srcdir/$subdir/$srcfile" $binfile \ - executable {debug additional_flags="-gdwarf"}] != "" } { - gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail." -} - -# Tests: -# 1) $args -# 2) function args by name -# 3) $locs -# 4) function locals by name -# 5) $regs -# 6) registers by name ($sp, $fp?) -# 7) globals by name -# 8) expressions (lots of different kinds: local and global) - -set ws "\[\r\n\t \]+" -set cr "\[\r\n\]+" - -# -# Utility procs -# - -proc test_register { reg test_id } { - global cr - global gdb_prompt - - send_gdb "print $reg\n" - gdb_expect { - -re "\\$\[0-9\]+ = \[x0\]+$cr$gdb_prompt " { - fail "collect $test_id: collected $reg (zero)" - } - -re "\\$\[0-9\]+ = \[x0-9a-fA-F\]+$cr$gdb_prompt " { - pass "collect $test_id: collected $reg" - } - -re "\[Ee\]rror.*$gdb_prompt " { - fail "collect $test_id: collected $reg (error)" - } - timeout { - fail "collect $test_id: collected $reg (timeout)" - } - } -} - -proc run_trace_experiment { msg test_func } { - gdb_run_cmd - gdb_test "tstart" \ - "\[\r\n\]+" \ - "collect $msg: start trace experiment" - gdb_test "continue" \ - "Continuing.*Breakpoint \[0-9\]+, end.*" \ - "collect $msg: run trace experiment" - gdb_test "tstop" \ - "\[\r\n\]+" \ - "collect $msg: stop trace experiment" - gdb_test "tfind start" \ - "#0 $test_func .*" \ - "collect $msg: tfind test frame" -} - - -# -# Test procs -# - -proc gdb_collect_args_test { myargs msg } { - global cr - global gdb_prompt - - # Make sure we're in a sane starting state. - gdb_test "tstop" "" "" - gdb_test "tfind none" "" "" - gdb_delete_tracepoints - - gdb_test "trace args_test_func" \ - "Tracepoint \[0-9\]+ at .*" \ - "collect $msg: set tracepoint" - gdb_trace_setactions "collect $msg: define actions" \ - "" \ - "collect $myargs" "^$" - - # Begin the test. - run_trace_experiment $msg args_test_func - - gdb_test "print argc" \ - "\\$\[0-9\]+ = 1 '.001'$cr" \ - "collect $msg: collected arg char" - gdb_test "print argi" \ - "\\$\[0-9\]+ = 2$cr" \ - "collect $msg: collected arg int" - gdb_test "print argf" \ - "\\$\[0-9\]+ = 3.\[23\]\[0-9\]*$cr" \ - "collect $msg: collected arg float" - gdb_test "print argd" \ - "\\$\[0-9\]+ = 4.\[34\]\[0-9\]*$cr" \ - "collect $msg: collected arg double" - - # struct arg as one of several args (near end of list) - gdb_test "print argstruct.memberc" \ - "\\$\[0-9\]+ = 101 'e'$cr" \ - "collect $msg: collected arg struct member char" - gdb_test "print argstruct.memberi" \ - "\\$\[0-9\]+ = 102$cr" \ - "collect $msg: collected arg struct member int" - gdb_test "print argstruct.memberf" \ - "\\$\[0-9\]+ = 103.\[23\]\[0-9\]*$cr" \ - "collect $msg: collected arg struct member float" - gdb_test "print argstruct.memberd" \ - "\\$\[0-9\]+ = 104.\[34\]\[0-9\]*$cr" \ - "collect $msg: collected arg struct member double" - - # array arg as one of several args (near end of list) - gdb_test "print argarray\[0\]" \ - "\\$\[0-9\]+ = 111$cr" \ - "collect $msg: collected argarray #0" - gdb_test "print argarray\[1\]" \ - "\\$\[0-9\]+ = 112$cr" \ - "collect $msg: collected argarray #1" - gdb_test "print argarray\[2\]" \ - "\\$\[0-9\]+ = 113$cr" \ - "collect $msg: collected argarray #2" - gdb_test "print argarray\[3\]" \ - "\\$\[0-9\]+ = 114$cr" \ - "collect $msg: collected argarray #3" - - gdb_test "tfind none" \ - "#0 end .*" \ - "collect $msg: cease trace debugging" -} - -proc gdb_collect_argstruct_test { myargs msg } { - global cr - global gdb_prompt - - # Make sure we're in a sane starting state. - gdb_test "tstop" "" "" - gdb_test "tfind none" "" "" - gdb_delete_tracepoints - - gdb_test "trace argstruct_test_func" \ - "Tracepoint \[0-9\]+ at .*" \ - "collect $msg: set tracepoint" - gdb_trace_setactions "collect $msg: define actions" \ - "" \ - "collect $myargs" "^$" - - # Begin the test. - run_trace_experiment $msg argstruct_test_func - - # struct argument as only argument - gdb_test "print argstruct.memberc" \ - "\\$\[0-9\]+ = 101 'e'$cr" \ - "collect $msg: collected arg struct member char" - gdb_test "print argstruct.memberi" \ - "\\$\[0-9\]+ = 102$cr" \ - "collect $msg: collected arg struct member int" - gdb_test "print argstruct.memberf" \ - "\\$\[0-9\]+ = 103.\[23\]\[0-9\]*$cr" \ - "collect $msg: collected arg struct member float" - gdb_test "print argstruct.memberd" \ - "\\$\[0-9\]+ = 104.\[34\]\[0-9\]*$cr" \ - "collect $msg: collected arg struct member double" - - gdb_test "tfind none" \ - "#0 end .*" \ - "collect $msg: cease trace debugging" -} - - -proc gdb_collect_argarray_test { myargs msg } { - global cr - global gdb_prompt - - # Make sure we're in a sane starting state. - gdb_test "tstop" "" "" - gdb_test "tfind none" "" "" - gdb_delete_tracepoints - - gdb_test "trace argarray_test_func" \ - "Tracepoint \[0-9\]+ at .*" \ - "collect $msg: set tracepoint" - gdb_trace_setactions "collect $msg: define actions" \ - "" \ - "collect $myargs" "^$" - - # Begin the test. - run_trace_experiment $msg argarray_test_func - - # array arg as only argument - gdb_test "print argarray\[0\]" \ - "\\$\[0-9\]+ = 111$cr" \ - "collect $msg: collected argarray #0" - gdb_test "print argarray\[1\]" \ - "\\$\[0-9\]+ = 112$cr" \ - "collect $msg: collected argarray #1" - gdb_test "print argarray\[2\]" \ - "\\$\[0-9\]+ = 113$cr" \ - "collect $msg: collected argarray #2" - gdb_test "print argarray\[3\]" \ - "\\$\[0-9\]+ = 114$cr" \ - "collect $msg: collected argarray #3" - - gdb_test "tfind none" \ - "#0 end .*" \ - "collect $msg: cease trace debugging" -} - - -proc gdb_collect_locals_test { func mylocs msg } { - global cr - global gdb_prompt - - # Make sure we're in a sane starting state. - gdb_test "tstop" "" "" - gdb_test "tfind none" "" "" - gdb_delete_tracepoints - - # Find the comment-identified line for setting this tracepoint. - set testline 0 - send_gdb "list $func, +30\n" - gdb_expect { - -re "\[\r\n\](\[0-9\]+)\[^\r\n\]+ Set_Tracepoint_Here .*$gdb_prompt" { - set testline $expect_out(1,string) - pass "collect $msg: find tracepoint line" - } - -re ".*$gdb_prompt " { - fail "collect $msg: find tracepoint line (skipping locals test)" - return - } - timeout { - fail "collect $msg: find tracepoint line (skipping locals test)" - return - } - } - - gdb_test "trace $testline" \ - "Tracepoint \[0-9\]+ at .*" \ - "collect $msg: set tracepoint" - gdb_trace_setactions "collect $msg: define actions" \ - "" \ - "collect $mylocs" "^$" - - # Begin the test. - run_trace_experiment $msg $func - - gdb_test "print locc" \ - "\\$\[0-9\]+ = 11 '.013'$cr" \ - "collect $msg: collected local char" - gdb_test "print loci" \ - "\\$\[0-9\]+ = 12$cr" \ - "collect $msg: collected local int" - gdb_test "print locf" \ - "\\$\[0-9\]+ = 13.\[23\]\[0-9\]*$cr" \ - "collect $msg: collected local float" - gdb_test "print locd" \ - "\\$\[0-9\]+ = 14.\[34\]\[0-9\]*$cr" \ - "collect $msg: collected local double" - - gdb_test "print locst.memberc" \ - "\\$\[0-9\]+ = 15 '.017'$cr" \ - "collect $msg: collected local member char" - gdb_test "print locst.memberi" \ - "\\$\[0-9\]+ = 16$cr" \ - "collect $msg: collected local member int" - gdb_test "print locst.memberf" \ - "\\$\[0-9\]+ = 17.\[67\]\[0-9\]*$cr" \ - "collect $msg: collected local member float" - gdb_test "print locst.memberd" \ - "\\$\[0-9\]+ = 18.\[78\]\[0-9\]*$cr" \ - "collect $msg: collected local member double" - - gdb_test "print locar\[0\]" \ - "\\$\[0-9\]+ = 121$cr" \ - "collect $msg: collected locarray #0" - gdb_test "print locar\[1\]" \ - "\\$\[0-9\]+ = 122$cr" \ - "collect $msg: collected locarray #1" - gdb_test "print locar\[2\]" \ - "\\$\[0-9\]+ = 123$cr" \ - "collect $msg: collected locarray #2" - gdb_test "print locar\[3\]" \ - "\\$\[0-9\]+ = 124$cr" \ - "collect $msg: collected locarray #3" - - - gdb_test "tfind none" \ - "#0 end .*" \ - "collect $msg: cease trace debugging" -} - -proc gdb_collect_registers_test { myregs } { - global cr - global gdb_prompt - - # Make sure we're in a sane starting state. - gdb_test "tstop" "" "" - gdb_test "tfind none" "" "" - gdb_delete_tracepoints - - # We'll simply re-use the args_test_function for this test - gdb_test "trace args_test_func" \ - "Tracepoint \[0-9\]+ at .*" \ - "collect $myregs: set tracepoint" - gdb_trace_setactions "collect $myregs: define actions" \ - "" \ - "collect $myregs" "^$" - - # Begin the test. - run_trace_experiment $myregs args_test_func - - test_register "\$fp" $myregs - test_register "\$sp" $myregs - test_register "\$pc" $myregs - - gdb_test "tfind none" \ - "#0 end .*" \ - "collect $myregs: cease trace debugging" -} - -proc gdb_collect_expression_test { func expr val msg } { - global cr - global gdb_prompt - - # Make sure we're in a sane starting state. - gdb_test "tstop" "" "" - gdb_test "tfind none" "" "" - gdb_delete_tracepoints - - # Find the comment-identified line for setting this tracepoint. - set testline 0 - send_gdb "list $func, +30\n" - gdb_expect { - -re "\[\r\n\](\[0-9\]+)\[^\r\n\]+ Set_Tracepoint_Here .*$gdb_prompt" { - set testline $expect_out(1,string) - pass "collect $msg: find tracepoint line" - } - -re ".*$gdb_prompt " { - fail "collect $msg: find tracepoint line (skipping locals test)" - return - } - timeout { - fail "collect $msg: find tracepoint line (skipping locals test)" - return - } - } - - gdb_test "trace $testline" \ - "Tracepoint \[0-9\]+ at .*" \ - "collect $msg: set tracepoint" - gdb_trace_setactions "collect $msg: define actions" \ - "" \ - "collect $expr" "^$" - - # Begin the test. - run_trace_experiment $msg $func - - gdb_test "print $expr" \ - "\\$\[0-9\]+ = $val$cr" \ - "collect $msg: got expected value '$val'" - - gdb_test "tfind none" \ - "#0 end .*" \ - "collect $msg: cease trace debugging" -} - -proc gdb_collect_globals_test { } { - global cr - global gdb_prompt - - # Make sure we're in a sane starting state. - gdb_test "tstop" "" "" - gdb_test "tfind none" "" "" - gdb_delete_tracepoints - - # Find the comment-identified line for setting this tracepoint. - set testline 0 - send_gdb "list globals_test_func, +30\n" - gdb_expect { - -re "\[\r\n\](\[0-9\]+)\[^\r\n\]+ Set_Tracepoint_Here .*$gdb_prompt" { - set testline $expect_out(1,string) - pass "collect globals: find tracepoint line" - } - -re ".*$gdb_prompt " { - fail "collect globals: find tracepoint line (skipping global test)" - return - } - timeout { - fail "collect globals: find tracepoint line (skipping global test)" - return - } - } - - gdb_test "trace $testline" \ - "Tracepoint \[0-9\]+ at .*" \ - "collect globals: set tracepoint" - gdb_trace_setactions "collect globals: define actions" \ - "" \ - "collect globalc, globali, globalf, globald" "^$" \ - "collect globalstruct, globalp, globalarr" "^$" - - # Begin the test. - run_trace_experiment "globals" globals_test_func - - gdb_test "print globalc" \ - "\\$\[0-9\]+ = 71 'G'$cr" \ - "collect globals: collected global char" - gdb_test "print globali" \ - "\\$\[0-9\]+ = 72$cr" \ - "collect globals: collected global int" - gdb_test "print globalf" \ - "\\$\[0-9\]+ = 73.\[23\]\[0-9\]*$cr" \ - "collect globals: collected global float" - gdb_test "print globald" \ - "\\$\[0-9\]+ = 74.\[34\]\[0-9\]*$cr" \ - "collect globals: collected global double" - - gdb_test "print globalstruct.memberc" \ - "\\$\[0-9\]+ = 81 'Q'$cr" \ - "collect globals: collected struct char member" - gdb_test "print globalstruct.memberi" \ - "\\$\[0-9\]+ = 82$cr" \ - "collect globals: collected struct member int" - gdb_test "print globalstruct.memberf" \ - "\\$\[0-9\]+ = 83.\[23\]\[0-9\]*$cr" \ - "collect globals: collected struct member float" - gdb_test "print globalstruct.memberd" \ - "\\$\[0-9\]+ = 84.\[34\]\[0-9\]*$cr" \ - "collect globals: collected struct member double" - - gdb_test "print globalp == &globalstruct" \ - "\\$\[0-9\]+ = 1$cr" \ - "collect globals: collected global pointer" - - gdb_test "print globalarr\[1\]" \ - "\\$\[0-9\]+ = 1$cr" \ - "collect globals: collected global array element #1" - gdb_test "print globalarr\[2\]" \ - "\\$\[0-9\]+ = 2$cr" \ - "collect globals: collected global array element #2" - gdb_test "print globalarr\[3\]" \ - "\\$\[0-9\]+ = 3$cr" \ - "collect globals: collected global array element #3" - - gdb_test "tfind none" \ - "#0 end .*" \ - "collect globals: cease trace debugging" -} - -proc gdb_trace_collection_test { } { - global gdb_prompt; - - gdb_test "set width 0" "" "" - delete_breakpoints - - # We generously give ourselves one "pass" if we successfully - # detect that this test cannot be run on this target! - if { ![gdb_target_supports_trace] } then { - pass "Current target does not supporst trace" - return 1; - } - - gdb_test "break begin" "" "" - gdb_test "break end" "" "" - gdb_collect_args_test "\$args" \ - "args collectively" - gdb_collect_args_test "argc, argi, argf, argd, argstruct, argarray" \ - "args individually" - gdb_collect_argstruct_test "\$args" \ - "argstruct collectively" - gdb_collect_argstruct_test "argstruct" \ - "argstruct individually" - gdb_collect_argarray_test "\$args" \ - "argarray collectively" - gdb_collect_argarray_test "argarray" \ - "argarray individually" - gdb_collect_locals_test local_test_func "\$locals" \ - "auto locals collectively" - gdb_collect_locals_test local_test_func \ - "locc, loci, locf, locd, locst, locar" \ - "auto locals individually" - gdb_collect_locals_test reglocal_test_func "\$locals" \ - "register locals collectively" - gdb_collect_locals_test reglocal_test_func \ - "locc, loci, locf, locd, locst, locar" \ - "register locals individually" - gdb_collect_locals_test statlocal_test_func "\$locals" \ - "static locals collectively" - gdb_collect_locals_test statlocal_test_func \ - "locc, loci, locf, locd, locst, locar" \ - "static locals individually" - - gdb_collect_registers_test "\$regs" - gdb_collect_registers_test "\$fp, \$sp, \$pc" - gdb_collect_globals_test - - # - # Expression tests: - # - # *x (**x, ...) - # x.y (x.y.z, ...) - # x->y (x->y->z, ...) - # x[2] (x[2][3], ...) (const index) - # x[y] (x[y][z], ...) (index to be char, short, long, float, double) - # NOTE: - # We test the following operators by using them in an array index - # expression -- because the naked result of an operator is not really - # collected. To be sure the operator was evaluated correctly on the - # target, we have to actually use the result eg. in an array offset - # calculation. - # x[y + z] (tests addition: y and z various combos of types, sclasses) - # x[y - z] (tests subtraction) (ditto) - # x[y * z] (tests multiplication) (ditto) - # x[y / z] (tests division) (ditto) - # x[y % z] (tests modulo division) (ditto) - # x[y == z] (tests equality relation) (ditto) UNSUPPORTED - # x[y != z] (tests inequality relation) (ditto) UNSUPPORTED - # x[y > z] (tests greater-than relation) (ditto) UNSUPPORTED - # x[y < z] (tests less-than relation) (ditto) UNSUPPORTED - # x[y >= z] (tests greater-than-or-equal relation) (ditto) UNSUPPORTED - # x[y <= z] (tests less-than-or-equal relation) (ditto) UNSUPPORTED - # x[y && z] (tests logical and) (ditto) UNSUPPORTED - # x[y || z] (tests logical or) (ditto) UNSUPPORTED - # x[y & z] (tests binary and) (ditto) UNSUPPORTED - # x[y | z] (tests binary or) (ditto) UNSUPPORTED - # x[y ^ z] (tests binary xor) (ditto) UNSUPPORTED - # x[y ? z1 : z2] (tests ternary operator) (ditto) UNSUPPORTED - # x[y << z] (tests shift-left) (ditto) UNSUPPORTED - # x[y >> z] (tests shift-right) (ditto) UNSUPPORTED - # x[y = z] (tests assignment operator) (ditto) UNSUPPORTED - # x[++y] (tests pre-increment operator) (ditto) UNSUPPORTED - # x[--y] (tests pre-decrement operator) (ditto) UNSUPPORTED - # x[y++] (tests post-increment operator) (ditto) UNSUPPORTED - # x[y--] (tests post-decrement operator) (ditto) UNSUPPORTED - # x[+y] (tests unary plus) (ditto) - # x[-y] (tests unary minus) (ditto) - # x[!y] (tests logical not) (ditto) UNSUPPORTED - # x[~y] (tests binary not) (ditto) UNSUPPORTED - # x[(y, z)] (tests comma expression) (ditto) - # cast expr - # stack data - - gdb_collect_expression_test globals_test_func \ - "globalstruct.memberi" "82" "a.b" - gdb_collect_expression_test globals_test_func \ - "globalp->memberc" "81 'Q'" "a->b" - gdb_collect_expression_test globals_test_func \ - "globalarr\[2\]" "2" "a\[2\]" - gdb_collect_expression_test globals_test_func \ - "globalarr\[l3\]" "3" "a\[b\]" - gdb_collect_expression_test globals_test_func \ - "globalarr\[l3 + l2\]" "5" "a\[b + c\]" - gdb_collect_expression_test globals_test_func \ - "globalarr\[l3 - l2\]" "1" "a\[b - c\]" - gdb_collect_expression_test globals_test_func \ - "globalarr\[l3 * l2\]" "6" "a\[b * c\]" - gdb_collect_expression_test globals_test_func \ - "globalarr\[l6 / l3\]" "2" "a\[b / c\]" - gdb_collect_expression_test globals_test_func \ - "globalarr\[l7 % l3\]" "1" "a\[b % c\]" - gdb_collect_expression_test globals_test_func \ - "globalarr\[+l1\]" "1" "a\[+b\]" - gdb_collect_expression_test globals_test_func \ - "globalarr\[-lminus\]" "2" "a\[-b\]" - gdb_collect_expression_test globals_test_func \ - "globalarr\[\(l6, l7\)\]" "7" "a\[\(b, c\)\]" - -} - -# Start with a fresh gdb. - -gdb_exit -gdb_start -gdb_reinitialize_dir $srcdir/$subdir -gdb_load $binfile - -if [target_info exists gdb_stub] { - gdb_step_for_stub; -} - -# Body of test encased in a proc so we can return prematurely. -gdb_trace_collection_test - -# Finished! -gdb_test "tfind none" "" "" - - - diff --git a/gdb/testsuite/gdb.trace/configure b/gdb/testsuite/gdb.trace/configure deleted file mode 100755 index 417620553ee..00000000000 --- a/gdb/testsuite/gdb.trace/configure +++ /dev/null @@ -1,899 +0,0 @@ -#! /bin/sh - -# Guess values for system-dependent variables and create Makefiles. -# Generated automatically using autoconf version 2.12.1 -# Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc. -# -# This configure script is free software; the Free Software Foundation -# gives unlimited permission to copy, distribute and modify it. - -# Defaults: -ac_help= -ac_default_prefix=/usr/local -# Any additions from configure.in: - -# Initialize some variables set by options. -# The variables have the same names as the options, with -# dashes changed to underlines. -build=NONE -cache_file=./config.cache -exec_prefix=NONE -host=NONE -no_create= -nonopt=NONE -no_recursion= -prefix=NONE -program_prefix=NONE -program_suffix=NONE -program_transform_name=s,x,x, -silent= -site= -srcdir= -target=NONE -verbose= -x_includes=NONE -x_libraries=NONE -bindir='${exec_prefix}/bin' -sbindir='${exec_prefix}/sbin' -libexecdir='${exec_prefix}/libexec' -datadir='${prefix}/share' -sysconfdir='${prefix}/etc' -sharedstatedir='${prefix}/com' -localstatedir='${prefix}/var' -libdir='${exec_prefix}/lib' -includedir='${prefix}/include' -oldincludedir='/usr/include' -infodir='${prefix}/info' -mandir='${prefix}/man' - -# Initialize some other variables. -subdirs= -MFLAGS= MAKEFLAGS= -SHELL=${CONFIG_SHELL-/bin/sh} -# Maximum number of lines to put in a shell here document. -ac_max_here_lines=12 - -ac_prev= -for ac_option -do - - # If the previous option needs an argument, assign it. - if test -n "$ac_prev"; then - eval "$ac_prev=\$ac_option" - ac_prev= - continue - fi - - case "$ac_option" in - -*=*) ac_optarg=`echo "$ac_option" | sed 's/[-_a-zA-Z0-9]*=//'` ;; - *) ac_optarg= ;; - esac - - # Accept the important Cygnus configure options, so we can diagnose typos. - - case "$ac_option" in - - -bindir | --bindir | --bindi | --bind | --bin | --bi) - ac_prev=bindir ;; - -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) - bindir="$ac_optarg" ;; - - -build | --build | --buil | --bui | --bu) - ac_prev=build ;; - -build=* | --build=* | --buil=* | --bui=* | --bu=*) - build="$ac_optarg" ;; - - -cache-file | --cache-file | --cache-fil | --cache-fi \ - | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) - ac_prev=cache_file ;; - -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ - | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) - cache_file="$ac_optarg" ;; - - -datadir | --datadir | --datadi | --datad | --data | --dat | --da) - ac_prev=datadir ;; - -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \ - | --da=*) - datadir="$ac_optarg" ;; - - -disable-* | --disable-*) - ac_feature=`echo $ac_option|sed -e 's/-*disable-//'` - # Reject names that are not valid shell variable names. - if test -n "`echo $ac_feature| sed 's/[-a-zA-Z0-9_]//g'`"; then - { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; } - fi - ac_feature=`echo $ac_feature| sed 's/-/_/g'` - eval "enable_${ac_feature}=no" ;; - - -enable-* | --enable-*) - ac_feature=`echo $ac_option|sed -e 's/-*enable-//' -e 's/=.*//'` - # Reject names that are not valid shell variable names. - if test -n "`echo $ac_feature| sed 's/[-_a-zA-Z0-9]//g'`"; then - { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; } - fi - ac_feature=`echo $ac_feature| sed 's/-/_/g'` - case "$ac_option" in - *=*) ;; - *) ac_optarg=yes ;; - esac - eval "enable_${ac_feature}='$ac_optarg'" ;; - - -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ - | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ - | --exec | --exe | --ex) - ac_prev=exec_prefix ;; - -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ - | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ - | --exec=* | --exe=* | --ex=*) - exec_prefix="$ac_optarg" ;; - - -gas | --gas | --ga | --g) - # Obsolete; use --with-gas. - with_gas=yes ;; - - -help | --help | --hel | --he) - # Omit some internal or obsolete options to make the list less imposing. - # This message is too long to be a string in the A/UX 3.1 sh. - cat << EOF -Usage: configure [options] [host] -Options: [defaults in brackets after descriptions] -Configuration: - --cache-file=FILE cache test results in FILE - --help print this message - --no-create do not create output files - --quiet, --silent do not print \`checking...' messages - --version print the version of autoconf that created configure -Directory and file names: - --prefix=PREFIX install architecture-independent files in PREFIX - [$ac_default_prefix] - --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX - [same as prefix] - --bindir=DIR user executables in DIR [EPREFIX/bin] - --sbindir=DIR system admin executables in DIR [EPREFIX/sbin] - --libexecdir=DIR program executables in DIR [EPREFIX/libexec] - --datadir=DIR read-only architecture-independent data in DIR - [PREFIX/share] - --sysconfdir=DIR read-only single-machine data in DIR [PREFIX/etc] - --sharedstatedir=DIR modifiable architecture-independent data in DIR - [PREFIX/com] - --localstatedir=DIR modifiable single-machine data in DIR [PREFIX/var] - --libdir=DIR object code libraries in DIR [EPREFIX/lib] - --includedir=DIR C header files in DIR [PREFIX/include] - --oldincludedir=DIR C header files for non-gcc in DIR [/usr/include] - --infodir=DIR info documentation in DIR [PREFIX/info] - --mandir=DIR man documentation in DIR [PREFIX/man] - --srcdir=DIR find the sources in DIR [configure dir or ..] - --program-prefix=PREFIX prepend PREFIX to installed program names - --program-suffix=SUFFIX append SUFFIX to installed program names - --program-transform-name=PROGRAM - run sed PROGRAM on installed program names -EOF - cat << EOF -Host type: - --build=BUILD configure for building on BUILD [BUILD=HOST] - --host=HOST configure for HOST [guessed] - --target=TARGET configure for TARGET [TARGET=HOST] -Features and packages: - --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) - --enable-FEATURE[=ARG] include FEATURE [ARG=yes] - --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] - --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) - --x-includes=DIR X include files are in DIR - --x-libraries=DIR X library files are in DIR -EOF - if test -n "$ac_help"; then - echo "--enable and --with options recognized:$ac_help" - fi - exit 0 ;; - - -host | --host | --hos | --ho) - ac_prev=host ;; - -host=* | --host=* | --hos=* | --ho=*) - host="$ac_optarg" ;; - - -includedir | --includedir | --includedi | --included | --include \ - | --includ | --inclu | --incl | --inc) - ac_prev=includedir ;; - -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ - | --includ=* | --inclu=* | --incl=* | --inc=*) - includedir="$ac_optarg" ;; - - -infodir | --infodir | --infodi | --infod | --info | --inf) - ac_prev=infodir ;; - -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) - infodir="$ac_optarg" ;; - - -libdir | --libdir | --libdi | --libd) - ac_prev=libdir ;; - -libdir=* | --libdir=* | --libdi=* | --libd=*) - libdir="$ac_optarg" ;; - - -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ - | --libexe | --libex | --libe) - ac_prev=libexecdir ;; - -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ - | --libexe=* | --libex=* | --libe=*) - libexecdir="$ac_optarg" ;; - - -localstatedir | --localstatedir | --localstatedi | --localstated \ - | --localstate | --localstat | --localsta | --localst \ - | --locals | --local | --loca | --loc | --lo) - ac_prev=localstatedir ;; - -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ - | --localstate=* | --localstat=* | --localsta=* | --localst=* \ - | --locals=* | --local=* | --loca=* | --loc=* | --lo=*) - localstatedir="$ac_optarg" ;; - - -mandir | --mandir | --mandi | --mand | --man | --ma | --m) - ac_prev=mandir ;; - -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) - mandir="$ac_optarg" ;; - - -nfp | --nfp | --nf) - # Obsolete; use --without-fp. - with_fp=no ;; - - -no-create | --no-create | --no-creat | --no-crea | --no-cre \ - | --no-cr | --no-c) - no_create=yes ;; - - -no-recursion | --no-recursion | --no-recursio | --no-recursi \ - | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) - no_recursion=yes ;; - - -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ - | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ - | --oldin | --oldi | --old | --ol | --o) - ac_prev=oldincludedir ;; - -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ - | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ - | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) - oldincludedir="$ac_optarg" ;; - - -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) - ac_prev=prefix ;; - -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) - prefix="$ac_optarg" ;; - - -program-prefix | --program-prefix | --program-prefi | --program-pref \ - | --program-pre | --program-pr | --program-p) - ac_prev=program_prefix ;; - -program-prefix=* | --program-prefix=* | --program-prefi=* \ - | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) - program_prefix="$ac_optarg" ;; - - -program-suffix | --program-suffix | --program-suffi | --program-suff \ - | --program-suf | --program-su | --program-s) - ac_prev=program_suffix ;; - -program-suffix=* | --program-suffix=* | --program-suffi=* \ - | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) - program_suffix="$ac_optarg" ;; - - -program-transform-name | --program-transform-name \ - | --program-transform-nam | --program-transform-na \ - | --program-transform-n | --program-transform- \ - | --program-transform | --program-transfor \ - | --program-transfo | --program-transf \ - | --program-trans | --program-tran \ - | --progr-tra | --program-tr | --program-t) - ac_prev=program_transform_name ;; - -program-transform-name=* | --program-transform-name=* \ - | --program-transform-nam=* | --program-transform-na=* \ - | --program-transform-n=* | --program-transform-=* \ - | --program-transform=* | --program-transfor=* \ - | --program-transfo=* | --program-transf=* \ - | --program-trans=* | --program-tran=* \ - | --progr-tra=* | --program-tr=* | --program-t=*) - program_transform_name="$ac_optarg" ;; - - -q | -quiet | --quiet | --quie | --qui | --qu | --q \ - | -silent | --silent | --silen | --sile | --sil) - silent=yes ;; - - -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) - ac_prev=sbindir ;; - -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ - | --sbi=* | --sb=*) - sbindir="$ac_optarg" ;; - - -sharedstatedir | --sharedstatedir | --sharedstatedi \ - | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ - | --sharedst | --shareds | --shared | --share | --shar \ - | --sha | --sh) - ac_prev=sharedstatedir ;; - -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ - | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ - | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ - | --sha=* | --sh=*) - sharedstatedir="$ac_optarg" ;; - - -site | --site | --sit) - ac_prev=site ;; - -site=* | --site=* | --sit=*) - site="$ac_optarg" ;; - - -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) - ac_prev=srcdir ;; - -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) - srcdir="$ac_optarg" ;; - - -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ - | --syscon | --sysco | --sysc | --sys | --sy) - ac_prev=sysconfdir ;; - -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ - | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) - sysconfdir="$ac_optarg" ;; - - -target | --target | --targe | --targ | --tar | --ta | --t) - ac_prev=target ;; - -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) - target="$ac_optarg" ;; - - -v | -verbose | --verbose | --verbos | --verbo | --verb) - verbose=yes ;; - - -version | --version | --versio | --versi | --vers) - echo "configure generated by autoconf version 2.12.1" - exit 0 ;; - - -with-* | --with-*) - ac_package=`echo $ac_option|sed -e 's/-*with-//' -e 's/=.*//'` - # Reject names that are not valid shell variable names. - if test -n "`echo $ac_package| sed 's/[-_a-zA-Z0-9]//g'`"; then - { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; } - fi - ac_package=`echo $ac_package| sed 's/-/_/g'` - case "$ac_option" in - *=*) ;; - *) ac_optarg=yes ;; - esac - eval "with_${ac_package}='$ac_optarg'" ;; - - -without-* | --without-*) - ac_package=`echo $ac_option|sed -e 's/-*without-//'` - # Reject names that are not valid shell variable names. - if test -n "`echo $ac_package| sed 's/[-a-zA-Z0-9_]//g'`"; then - { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; } - fi - ac_package=`echo $ac_package| sed 's/-/_/g'` - eval "with_${ac_package}=no" ;; - - --x) - # Obsolete; use --with-x. - with_x=yes ;; - - -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ - | --x-incl | --x-inc | --x-in | --x-i) - ac_prev=x_includes ;; - -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ - | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) - x_includes="$ac_optarg" ;; - - -x-libraries | --x-libraries | --x-librarie | --x-librari \ - | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) - ac_prev=x_libraries ;; - -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ - | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) - x_libraries="$ac_optarg" ;; - - -*) { echo "configure: error: $ac_option: invalid option; use --help to show usage" 1>&2; exit 1; } - ;; - - *) - if test -n "`echo $ac_option| sed 's/[-a-z0-9.]//g'`"; then - echo "configure: warning: $ac_option: invalid host type" 1>&2 - fi - if test "x$nonopt" != xNONE; then - { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; } - fi - nonopt="$ac_option" - ;; - - esac -done - -if test -n "$ac_prev"; then - { echo "configure: error: missing argument to --`echo $ac_prev | sed 's/_/-/g'`" 1>&2; exit 1; } -fi - -trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15 - -# File descriptor usage: -# 0 standard input -# 1 file creation -# 2 errors and warnings -# 3 some systems may open it to /dev/tty -# 4 used on the Kubota Titan -# 6 checking for... messages and results -# 5 compiler messages saved in config.log -if test "$silent" = yes; then - exec 6>/dev/null -else - exec 6>&1 -fi -exec 5>./config.log - -echo "\ -This file contains any messages produced by compilers while -running configure, to aid debugging if configure makes a mistake. -" 1>&5 - -# Strip out --no-create and --no-recursion so they do not pile up. -# Also quote any args containing shell metacharacters. -ac_configure_args= -for ac_arg -do - case "$ac_arg" in - -no-create | --no-create | --no-creat | --no-crea | --no-cre \ - | --no-cr | --no-c) ;; - -no-recursion | --no-recursion | --no-recursio | --no-recursi \ - | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) ;; - *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?]*) - ac_configure_args="$ac_configure_args '$ac_arg'" ;; - *) ac_configure_args="$ac_configure_args $ac_arg" ;; - esac -done - -# NLS nuisances. -# Only set these to C if already set. These must not be set unconditionally -# because not all systems understand e.g. LANG=C (notably SCO). -# Fixing LC_MESSAGES prevents Solaris sh from translating var values in `set'! -# Non-C LC_CTYPE values break the ctype check. -if test "${LANG+set}" = set; then LANG=C; export LANG; fi -if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi -if test "${LC_MESSAGES+set}" = set; then LC_MESSAGES=C; export LC_MESSAGES; fi -if test "${LC_CTYPE+set}" = set; then LC_CTYPE=C; export LC_CTYPE; fi - -# confdefs.h avoids OS command line length limits that DEFS can exceed. -rm -rf conftest* confdefs.h -# AIX cpp loses on an empty file, so make sure it contains at least a newline. -echo > confdefs.h - -# A filename unique to this package, relative to the directory that -# configure is in, which we can look for to find out if srcdir is correct. -ac_unique_file=collection.c - -# Find the source files, if location was not specified. -if test -z "$srcdir"; then - ac_srcdir_defaulted=yes - # Try the directory containing this script, then its parent. - ac_prog=$0 - ac_confdir=`echo $ac_prog|sed 's%/[^/][^/]*$%%'` - test "x$ac_confdir" = "x$ac_prog" && ac_confdir=. - srcdir=$ac_confdir - if test ! -r $srcdir/$ac_unique_file; then - srcdir=.. - fi -else - ac_srcdir_defaulted=no -fi -if test ! -r $srcdir/$ac_unique_file; then - if test "$ac_srcdir_defaulted" = yes; then - { echo "configure: error: can not find sources in $ac_confdir or .." 1>&2; exit 1; } - else - { echo "configure: error: can not find sources in $srcdir" 1>&2; exit 1; } - fi -fi -srcdir=`echo "${srcdir}" | sed 's%\([^/]\)/*$%\1%'` - -# Prefer explicitly selected file to automatically selected ones. -if test -z "$CONFIG_SITE"; then - if test "x$prefix" != xNONE; then - CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site" - else - CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site" - fi -fi -for ac_site_file in $CONFIG_SITE; do - if test -r "$ac_site_file"; then - echo "loading site script $ac_site_file" - . "$ac_site_file" - fi -done - -if test -r "$cache_file"; then - echo "loading cache $cache_file" - . $cache_file -else - echo "creating cache $cache_file" - > $cache_file -fi - -ac_ext=c -# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. -ac_cpp='$CPP $CPPFLAGS' -ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5' -ac_link='${CC-cc} -o conftest $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5' -cross_compiling=$ac_cv_prog_cc_cross - -if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then - # Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu. - if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then - ac_n= ac_c=' -' ac_t=' ' - else - ac_n=-n ac_c= ac_t= - fi -else - ac_n= ac_c='\c' ac_t= -fi - - - -CC=${CC-cc} - -ac_aux_dir= -for ac_dir in `cd $srcdir;pwd`/../../.. $srcdir/`cd $srcdir;pwd`/../../..; do - if test -f $ac_dir/install-sh; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/install-sh -c" - break - elif test -f $ac_dir/install.sh; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/install.sh -c" - break - fi -done -if test -z "$ac_aux_dir"; then - { echo "configure: error: can not find install-sh or install.sh in `cd $srcdir;pwd`/../../.. $srcdir/`cd $srcdir;pwd`/../../.." 1>&2; exit 1; } -fi -ac_config_guess=$ac_aux_dir/config.guess -ac_config_sub=$ac_aux_dir/config.sub -ac_configure=$ac_aux_dir/configure # This should be Cygnus configure. - - -# Do some error checking and defaulting for the host and target type. -# The inputs are: -# configure --host=HOST --target=TARGET --build=BUILD NONOPT -# -# The rules are: -# 1. You are not allowed to specify --host, --target, and nonopt at the -# same time. -# 2. Host defaults to nonopt. -# 3. If nonopt is not specified, then host defaults to the current host, -# as determined by config.guess. -# 4. Target and build default to nonopt. -# 5. If nonopt is not specified, then target and build default to host. - -# The aliases save the names the user supplied, while $host etc. -# will get canonicalized. -case $host---$target---$nonopt in -NONE---*---* | *---NONE---* | *---*---NONE) ;; -*) { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; } ;; -esac - - -# Make sure we can run config.sub. -if ${CONFIG_SHELL-/bin/sh} $ac_config_sub sun4 >/dev/null 2>&1; then : -else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; } -fi - -echo $ac_n "checking host system type""... $ac_c" 1>&6 -echo "configure:573: checking host system type" >&5 - -host_alias=$host -case "$host_alias" in -NONE) - case $nonopt in - NONE) - if host_alias=`${CONFIG_SHELL-/bin/sh} $ac_config_guess`; then : - else { echo "configure: error: can not guess host type; you must specify one" 1>&2; exit 1; } - fi ;; - *) host_alias=$nonopt ;; - esac ;; -esac - -host=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $host_alias` -host_cpu=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` -host_vendor=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` -host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` -echo "$ac_t""$host" 1>&6 - -echo $ac_n "checking target system type""... $ac_c" 1>&6 -echo "configure:594: checking target system type" >&5 - -target_alias=$target -case "$target_alias" in -NONE) - case $nonopt in - NONE) target_alias=$host_alias ;; - *) target_alias=$nonopt ;; - esac ;; -esac - -target=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $target_alias` -target_cpu=`echo $target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` -target_vendor=`echo $target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` -target_os=`echo $target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` -echo "$ac_t""$target" 1>&6 - -echo $ac_n "checking build system type""... $ac_c" 1>&6 -echo "configure:612: checking build system type" >&5 - -build_alias=$build -case "$build_alias" in -NONE) - case $nonopt in - NONE) build_alias=$host_alias ;; - *) build_alias=$nonopt ;; - esac ;; -esac - -build=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $build_alias` -build_cpu=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` -build_vendor=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` -build_os=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` -echo "$ac_t""$build" 1>&6 - -test "$host_alias" != "$target_alias" && - test "$program_prefix$program_suffix$program_transform_name" = \ - NONENONEs,x,x, && - program_prefix=${target_alias}- - - -trap '' 1 2 15 -cat > confcache <<\EOF -# This file is a shell script that caches the results of configure -# tests run on this system so they can be shared between configure -# scripts and configure runs. It is not useful on other systems. -# If it contains results you don't want to keep, you may remove or edit it. -# -# By default, configure uses ./config.cache as the cache file, -# creating it if it does not exist already. You can give configure -# the --cache-file=FILE option to use a different cache file; that is -# what configure does when it calls configure scripts in -# subdirectories, so they share the cache. -# Giving --cache-file=/dev/null disables caching, for debugging configure. -# config.status only pays attention to the cache file if you give it the -# --recheck option to rerun configure. -# -EOF -# The following way of writing the cache mishandles newlines in values, -# but we know of no workaround that is simple, portable, and efficient. -# So, don't put newlines in cache variables' values. -# Ultrix sh set writes to stderr and can't be redirected directly, -# and sets the high bit in the cache file unless we assign to the vars. -(set) 2>&1 | - case `(ac_space=' '; set) 2>&1` in - *ac_space=\ *) - # `set' does not quote correctly, so add quotes (double-quote substitution - # turns \\\\ into \\, and sed turns \\ into \). - sed -n \ - -e "s/'/'\\\\''/g" \ - -e "s/^\\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\\)=\\(.*\\)/\\1=\${\\1='\\2'}/p" - ;; - *) - # `set' quotes correctly as required by POSIX, so do not add quotes. - sed -n -e 's/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=${\1=\2}/p' - ;; - esac >> confcache -if cmp -s $cache_file confcache; then - : -else - if test -w $cache_file; then - echo "updating cache $cache_file" - cat confcache > $cache_file - else - echo "not updating unwritable cache $cache_file" - fi -fi -rm -f confcache - -trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15 - -test "x$prefix" = xNONE && prefix=$ac_default_prefix -# Let make expand exec_prefix. -test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' - -# Any assignment to VPATH causes Sun make to only execute -# the first set of double-colon rules, so remove it if not needed. -# If there is a colon in the path, we need to keep it. -if test "x$srcdir" = x.; then - ac_vpsub='/^[ ]*VPATH[ ]*=[^:]*$/d' -fi - -trap 'rm -f $CONFIG_STATUS conftest*; exit 1' 1 2 15 - -# Transform confdefs.h into DEFS. -# Protect against shell expansion while executing Makefile rules. -# Protect against Makefile macro expansion. -cat > conftest.defs <<\EOF -s%#define \([A-Za-z_][A-Za-z0-9_]*\) *\(.*\)%-D\1=\2%g -s%[ `~#$^&*(){}\\|;'"<>?]%\\&%g -s%\[%\\&%g -s%\]%\\&%g -s%\$%$$%g -EOF -DEFS=`sed -f conftest.defs confdefs.h | tr '\012' ' '` -rm -f conftest.defs - - -# Without the "./", some shells look in PATH for config.status. -: ${CONFIG_STATUS=./config.status} - -echo creating $CONFIG_STATUS -rm -f $CONFIG_STATUS -cat > $CONFIG_STATUS <<EOF -#! /bin/sh -# Generated automatically by configure. -# Run this file to recreate the current configuration. -# This directory was configured as follows, -# on host `(hostname || uname -n) 2>/dev/null | sed 1q`: -# -# $0 $ac_configure_args -# -# Compiler output produced by configure, useful for debugging -# configure, is in ./config.log if it exists. - -ac_cs_usage="Usage: $CONFIG_STATUS [--recheck] [--version] [--help]" -for ac_option -do - case "\$ac_option" in - -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) - echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion" - exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;; - -version | --version | --versio | --versi | --vers | --ver | --ve | --v) - echo "$CONFIG_STATUS generated by autoconf version 2.12.1" - exit 0 ;; - -help | --help | --hel | --he | --h) - echo "\$ac_cs_usage"; exit 0 ;; - *) echo "\$ac_cs_usage"; exit 1 ;; - esac -done - -ac_given_srcdir=$srcdir - -trap 'rm -fr `echo "Makefile" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15 -EOF -cat >> $CONFIG_STATUS <<EOF - -# Protect against being on the right side of a sed subst in config.status. -sed 's/%@/@@/; s/@%/@@/; s/%g\$/@g/; /@g\$/s/[\\\\&%]/\\\\&/g; - s/@@/%@/; s/@@/@%/; s/@g\$/%g/' > conftest.subs <<\\CEOF -$ac_vpsub -$extrasub -s%@SHELL@%$SHELL%g -s%@CFLAGS@%$CFLAGS%g -s%@CPPFLAGS@%$CPPFLAGS%g -s%@CXXFLAGS@%$CXXFLAGS%g -s%@DEFS@%$DEFS%g -s%@LDFLAGS@%$LDFLAGS%g -s%@LIBS@%$LIBS%g -s%@exec_prefix@%$exec_prefix%g -s%@prefix@%$prefix%g -s%@program_transform_name@%$program_transform_name%g -s%@bindir@%$bindir%g -s%@sbindir@%$sbindir%g -s%@libexecdir@%$libexecdir%g -s%@datadir@%$datadir%g -s%@sysconfdir@%$sysconfdir%g -s%@sharedstatedir@%$sharedstatedir%g -s%@localstatedir@%$localstatedir%g -s%@libdir@%$libdir%g -s%@includedir@%$includedir%g -s%@oldincludedir@%$oldincludedir%g -s%@infodir@%$infodir%g -s%@mandir@%$mandir%g -s%@CC@%$CC%g -s%@host@%$host%g -s%@host_alias@%$host_alias%g -s%@host_cpu@%$host_cpu%g -s%@host_vendor@%$host_vendor%g -s%@host_os@%$host_os%g -s%@target@%$target%g -s%@target_alias@%$target_alias%g -s%@target_cpu@%$target_cpu%g -s%@target_vendor@%$target_vendor%g -s%@target_os@%$target_os%g -s%@build@%$build%g -s%@build_alias@%$build_alias%g -s%@build_cpu@%$build_cpu%g -s%@build_vendor@%$build_vendor%g -s%@build_os@%$build_os%g - -CEOF -EOF - -cat >> $CONFIG_STATUS <<\EOF - -# Split the substitutions into bite-sized pieces for seds with -# small command number limits, like on Digital OSF/1 and HP-UX. -ac_max_sed_cmds=90 # Maximum number of lines to put in a sed script. -ac_file=1 # Number of current file. -ac_beg=1 # First line for current file. -ac_end=$ac_max_sed_cmds # Line after last line for current file. -ac_more_lines=: -ac_sed_cmds="" -while $ac_more_lines; do - if test $ac_beg -gt 1; then - sed "1,${ac_beg}d; ${ac_end}q" conftest.subs > conftest.s$ac_file - else - sed "${ac_end}q" conftest.subs > conftest.s$ac_file - fi - if test ! -s conftest.s$ac_file; then - ac_more_lines=false - rm -f conftest.s$ac_file - else - if test -z "$ac_sed_cmds"; then - ac_sed_cmds="sed -f conftest.s$ac_file" - else - ac_sed_cmds="$ac_sed_cmds | sed -f conftest.s$ac_file" - fi - ac_file=`expr $ac_file + 1` - ac_beg=$ac_end - ac_end=`expr $ac_end + $ac_max_sed_cmds` - fi -done -if test -z "$ac_sed_cmds"; then - ac_sed_cmds=cat -fi -EOF - -cat >> $CONFIG_STATUS <<EOF - -CONFIG_FILES=\${CONFIG_FILES-"Makefile"} -EOF -cat >> $CONFIG_STATUS <<\EOF -for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then - # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in". - case "$ac_file" in - *:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'` - ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;; - *) ac_file_in="${ac_file}.in" ;; - esac - - # Adjust a relative srcdir, top_srcdir, and INSTALL for subdirectories. - - # Remove last slash and all that follows it. Not all systems have dirname. - ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'` - if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then - # The file is in a subdirectory. - test ! -d "$ac_dir" && mkdir "$ac_dir" - ac_dir_suffix="/`echo $ac_dir|sed 's%^\./%%'`" - # A "../" for each directory in $ac_dir_suffix. - ac_dots=`echo $ac_dir_suffix|sed 's%/[^/]*%../%g'` - else - ac_dir_suffix= ac_dots= - fi - - case "$ac_given_srcdir" in - .) srcdir=. - if test -z "$ac_dots"; then top_srcdir=. - else top_srcdir=`echo $ac_dots|sed 's%/$%%'`; fi ;; - /*) srcdir="$ac_given_srcdir$ac_dir_suffix"; top_srcdir="$ac_given_srcdir" ;; - *) # Relative path. - srcdir="$ac_dots$ac_given_srcdir$ac_dir_suffix" - top_srcdir="$ac_dots$ac_given_srcdir" ;; - esac - - - echo creating "$ac_file" - rm -f "$ac_file" - configure_input="Generated automatically from `echo $ac_file_in|sed 's%.*/%%'` by configure." - case "$ac_file" in - *Makefile*) ac_comsub="1i\\ -# $configure_input" ;; - *) ac_comsub= ;; - esac - - ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"` - sed -e "$ac_comsub -s%@configure_input@%$configure_input%g -s%@srcdir@%$srcdir%g -s%@top_srcdir@%$top_srcdir%g -" $ac_file_inputs | (eval "$ac_sed_cmds") > $ac_file -fi; done -rm -f conftest.s* - -EOF -cat >> $CONFIG_STATUS <<EOF - -EOF -cat >> $CONFIG_STATUS <<\EOF - -exit 0 -EOF -chmod +x $CONFIG_STATUS -rm -fr confdefs* $ac_clean_files -test "$no_create" = yes || ${CONFIG_SHELL-/bin/sh} $CONFIG_STATUS || exit 1 - diff --git a/gdb/testsuite/gdb.trace/configure.in b/gdb/testsuite/gdb.trace/configure.in deleted file mode 100644 index 6d0eae2674b..00000000000 --- a/gdb/testsuite/gdb.trace/configure.in +++ /dev/null @@ -1,15 +0,0 @@ -dnl Process this file file with autoconf to produce a configure script. -dnl This file is a shell script fragment that supplies the information -dnl necessary to tailor a template configure script into the configure -dnl script appropriate for this directory. For more information, check -dnl any existing configure script. - -AC_PREREQ(2.5) -AC_INIT(collection.c) - -CC=${CC-cc} -AC_SUBST(CC) -AC_CONFIG_AUX_DIR(`cd $srcdir;pwd`/../../..) -AC_CANONICAL_SYSTEM - -AC_OUTPUT(Makefile) diff --git a/gdb/testsuite/gdb.trace/deltrace.exp b/gdb/testsuite/gdb.trace/deltrace.exp deleted file mode 100644 index 36da9934930..00000000000 --- a/gdb/testsuite/gdb.trace/deltrace.exp +++ /dev/null @@ -1,269 +0,0 @@ -# Copyright (C) 1998 Free Software Foundation, Inc. -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - -# Please email any bugs, comments, and/or additions to this file to: -# bug-gdb@prep.ai.mit.edu - -# This file was written by Michael Snyder (msnyder@cygnus.com) - -load_lib "trace-support.exp"; - -if $tracelevel then { - strace $tracelevel -} - -set prms_id 0 -set bug_id 0 - -gdb_exit -gdb_start - -if [istarget "m68k-*-elf"] then { - set srcfile gdb_c_test.c - set binfile [board_info target d490_binfile]; -} else { - set testfile "actions" - set srcfile ${testfile}.c - set binfile $objdir/$subdir/$testfile - if { [gdb_compile "$srcdir/$subdir/$srcfile" $binfile \ - executable {debug additional_flags="-gdwarf"}] != "" } { - gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail." - } -} -gdb_reinitialize_dir $srcdir/$subdir - -# If testing on a remote host, download the source file. -remote_download host $srcdir/$subdir/$srcfile - -gdb_file_cmd $binfile - -# define relative source line numbers: -# all subsequent line numbers are relative to this first one (baseline) -set baseline [gdb_find_recursion_test_baseline $srcfile]; -if { $baseline == -1 } then { - fail "Could not find gdb_recursion_test function" - return; -} -set testline1 [expr $baseline + 4] - -# -# test "delete tracepoints" command -# - -# 3.1 delete tracepoints (all) -gdb_delete_tracepoints -gdb_test "trace gdb_c_test" "Tracepoint \[0-9\]+ at .*" "set tracepoint 1" -gdb_test "trace gdb_asm_test" "Tracepoint \[0-9\]+ at .*" "set tracepoint 2" -gdb_test "trace $testline1" "Tracepoint \[0-9\]+ at .*" "set tracepoint 3" - -gdb_test "info tracepoints" \ - "Num Enb Address PassC StepC What.*\[0-9\]+\[\t \]+y\[\t \]+0x\[0-9a-fA-F\]+.*in gdb_c_test.*\[0-9\]+\[\t \]+y\[\t \]+0x\[0-9a-fA-F\]+.*gdb_asm_test.*\[0-9\]+\[\t \]+y\[\t \]+0x\[0-9a-fA-F\]+.*in gdb_recursion_test.*" \ - "3.1a: set three tracepoints" - -send_gdb "delete tracepoints\n" -gdb_expect 30 { - -re "Delete all tracepoints.*y or n.*$" { - send_gdb "y\n" - gdb_expect 30 { - -re "$gdb_prompt $" { - pass "3.1b: delete all tracepoints" - } - timeout { fail "3.1b: delete all tracepoints (timeout)" } - } - } - -re "$gdb_prompt $" { # This should only happen if there are no tracepoints - fail "3.1b: delete all tracepoints (no tracepoints?)" - } - timeout { fail "3.1b: delete all tracepoints (timeout)" } -} - -# 3.2 delete tracepoint <n> -gdb_delete_tracepoints -set trcpt1 [gdb_gettpnum gdb_c_test]; -set trcpt2 [gdb_gettpnum gdb_asm_test]; -set trcpt3 [gdb_gettpnum $testline1]; -if { $trcpt1 <= 0 || $trcpt2 <= 0 || $trcpt3 <= 0 } then { - fail "setting tracepoints" - return; -} - -gdb_test "info tracepoints" \ - "Num Enb Address PassC StepC What.*$trcpt1\[\t \]+y\[\t \]+0x\[0-9a-fA-F\]+.*in.*gdb_c_test.*$trcpt2\[\t \]+y\[\t \]+0x\[0-9a-fA-F\]+.*gdb_asm_test.*$trcpt3\[\t \]+y\[\t \]+0x\[0-9a-fA-F\]+.*in.*gdb_recursion_test.*" \ - "3.2a: set three tracepoints" - -#gdb_test "delete tracepoint $trcpt1" "" "" -send_gdb "delete tracepoint $trcpt1\n" -gdb_expect { - -re "No tracepoint number.*$gdb_prompt $" { - fail "3.2b: delete first tracepoint" - } - -re ".*\[Ee\]rror.*$gdb_prompt $" { - fail "3.2b: delete first tracepoint" - } - -re "$gdb_prompt $" { - pass "3.2b: delete first tracepoint" - } - timeout { - fail "3.2b: delete first tracepoint (timeout)" - } -} - -send_gdb "info tracepoints\n" -gdb_expect { - -re "$trcpt1\[\t \]+y\[\t \]+0x.*in.*gdb_c_test.*$gdb_prompt $" { - fail "3.2c: verify delete first tracepoint (argh)" - } - -re "$trcpt2\[\t \]+y.*gdb_asm_test.*\[\r\n\t ]+$trcpt3\[\t \]+y.* in gdb_recursion_test at .*$gdb_prompt $" { - pass "3.2c: verify delete first tracepoint" - } - -re ".*$gdb_prompt $" { - fail "3.2c: verify delete first tracepoint (mumble)" - } - timeout { - fail "3.2c: verify delete first tracepoint (timeout)" - } -} - -#gdb_test "delete tracepoint $trcpt2" "" "" -send_gdb "delete tracepoint $trcpt2\n" -gdb_expect { - -re "No tracepoint number.*$gdb_prompt $" { - fail "3.2d: delete second tracepoint" - } - -re ".*\[Ee\]rror.*$gdb_prompt $" { - fail "3.2d: delete second tracepoint" - } - -re "$gdb_prompt $" { - pass "3.2d: delete second tracepoint" - } - timeout { - fail "3.2d: delete second tracepoint (timeout)" - } -} - -send_gdb "info tracepoints\n" -gdb_expect { - -re "$trcpt1\[\t \]+y\[\t \]+0x.*in.*gdb_c_test.*$gdb_prompt $" { - fail "3.2e: verify delete second tracepoint" - } - -re "$trcpt2\[\t \]+y\[\t \]+0x.*in gdb_asm_test.*$gdb_prompt $" { - fail "3.2e: verify delete second tracepoint" - } - -re "$trcpt3\[\t \]+y\[\t \]+0x.*in gdb_recursion_test.*$gdb_prompt $" { - pass "3.2e: verify delete second tracepoint" - } - -re "$gdb_prompt $" { - fail "3.2e: verify delete second tracepoint" - } - timeout { - fail "3.2e: verify delete second tracepoint (timeout)" - } -} - -#gdb_test "delete tracepoint $trcpt3" "" "" -send_gdb "delete tracepoint $trcpt3\n" -gdb_expect { - -re "No tracepoint number.*$gdb_prompt $" { - fail "3.2f: delete third tracepoint" - } - -re ".*\[Ee\]rror.*$gdb_prompt $" { - fail "3.2f: delete third tracepoint" - } - -re "$gdb_prompt $" { - pass "3.2f: delete third tracepoint" - } - timeout { - fail "3.2f: delete third tracepoint (timeout)" - } -} - -# send_gdb "ARF! \\n\n" -send_gdb "info tracepoints\n" -gdb_expect { - -re "$trcpt3\[\t \]+y\[\t \]+0x.*in gdb_recursion_test.*$gdb_prompt $" { - fail "3.2g: verify delete third tracepoint" - } - -re "$gdb_prompt $" { - pass "3.2g: verify delete third tracepoint" - } - timeout { - fail "3.2g: verify delete third tracepoint (timeout)" - } -} - -# 3.3 delete three tracepoints at once -gdb_delete_tracepoints -set trcpt1 [gdb_gettpnum gdb_c_test]; -set trcpt2 [gdb_gettpnum gdb_asm_test]; -set trcpt3 [gdb_gettpnum $testline1]; -if { $trcpt1 <= 0 || $trcpt2 <= 0 || $trcpt3 <= 0 } then { - fail "setting tracepoints" - return; -} - -gdb_test "info tracepoints" \ - "Num Enb Address PassC StepC What.*$trcpt1\[\t \]+y\[\t \]+0x\[0-9a-fA-F\]+.*in gdb_c_test.*$trcpt2\[\t \]+y\[\t \]+0x\[0-9a-fA-F\]+.*gdb_asm_test.*$trcpt3\[\t \]+y\[\t \]+0x\[0-9a-fA-F\]+.*in gdb_recursion_test.*" \ - "3.3a: set three tracepoints" - -#gdb_test "delete tracepoint $trcpt1 $trcpt2 $trcpt3" "" "" -send_gdb "delete tracepoint $trcpt1 $trcpt2 $trcpt3\n" -gdb_expect { - -re "No tracepoint number.*$gdb_prompt $" { - fail "3.3b: delete three tracepoints" - } - -re ".*\[Ee\]rror.*$gdb_prompt $" { - fail "3.3b: delete three tracepoints" - } - -re "$gdb_prompt $" { - pass "3.3b: delete three tracepoints" - } - timeout { - fail "3.3b: delete three tracepoint (timeout)" - } -} - -send_gdb "info tracepoints\n" -gdb_expect { - -re "$trcpt1\[\t \]+y\[\t \]+0x.*in gdb_c_test.*$gdb_prompt $" { - fail "3.3c: verify delete three tracepoints (first one persists)" - } - -re "$trcpt2\[\t \]+y\[\t \]+0x.*in gdb_asm_test.*$gdb_prompt $" { - fail "3.3c: verify delete three tracepoints (second one persists)" - } - -re "$trcpt3\[\t \]+y\[\t \]+0x.*in gdb_recursion_test.*$gdb_prompt $" { - fail "3.3c: verify delete three tracepoints (third one persists)" - } - -re "$gdb_prompt $" { - pass "3.3c: verify delete three tracepoints" - } - timeout { - fail "3.3c: verify delete three tracepoints (timeout)" - } -} - -# 3.4 delete invalid tracepoint number -gdb_test "delete tracepoint [expr $trcpt2 + $trcpt3]" \ - "No tracepoint number [expr $trcpt2 + $trcpt3]." \ - "3.4: delete invalid tracepoint number" - -# 3.5 delete tracepoint number zero -gdb_test "delete tracepoint 0" "No tracepoint number 0." \ - "3.5: delete tracepoint number zero" - -# 3.6 help delete tracepoints -gdb_test "help delete tracepoints" \ - "Delete specified tracepoints.*" \ - "3.6: help delete tracepoints" diff --git a/gdb/testsuite/gdb.trace/infotrace.exp b/gdb/testsuite/gdb.trace/infotrace.exp deleted file mode 100644 index 5b207997d9f..00000000000 --- a/gdb/testsuite/gdb.trace/infotrace.exp +++ /dev/null @@ -1,99 +0,0 @@ -# Copyright (C) 1998 Free Software Foundation, Inc. -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - -# Please email any bugs, comments, and/or additions to this file to: -# bug-gdb@prep.ai.mit.edu - -# This file was written by Michael Snyder (msnyder@cygnus.com) - -load_lib "trace-support.exp"; - -if $tracelevel then { - strace $tracelevel -} - -set prms_id 0 -set bug_id 0 - -gdb_exit -gdb_start - -if [istarget "m68k-*-elf"] then { - set srcfile gdb_c_test.c - set binfile [board_info target d490_binfile]; -} else { - set testfile "actions" - set srcfile ${testfile}.c - set binfile $objdir/$subdir/$testfile - if { [gdb_compile "$srcdir/$subdir/$srcfile" $binfile \ - executable {debug additional_flags="-gdwarf"}] != "" } { - gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail." - } -} -gdb_reinitialize_dir $srcdir/$subdir - -# If testing on a remote host, download the source file. -remote_download host $srcdir/$subdir/$srcfile - -gdb_file_cmd $binfile - -# -# test "info tracepoints" command -# - -gdb_delete_tracepoints -set c_test_num [gdb_gettpnum gdb_c_test]; -set asm_test_num [gdb_gettpnum gdb_asm_test]; -if { $c_test_num <= 0 || $asm_test_num <= 0 } then { - fail "setting tracepoints" - return; -} - -# 2.1 info tracepoints (all) -gdb_test "info tracepoints" \ - "Num Enb Address PassC StepC What.*$c_test_num\[\t \]+y\[\t \]+0x\[0-9a-fA-F\]+.*in gdb_c_test.*$asm_test_num\[\t \]+y\[\t \]+0x\[0-9a-fA-F\]+.*gdb_asm_test.*" \ - "2.1: info tracepoints (all)" - -# 2.2 info tracepoint (specific) -gdb_test "info tracepoint $c_test_num" \ - "$c_test_num\[\t \]+y\[\t \]+0x\[0-9a-fA-F\]+.*in gdb_c_test.*" \ - "2.2a: info tracepoint $c_test_num (gdb_c_test)" - -gdb_test "info tracepoint $asm_test_num" \ - "$asm_test_num\[\t \]+y\[\t \]+0x\[0-9a-fA-F\]+.*gdb_asm_test.*" \ - "2.2b: info tracepoint $asm_test_num (gdb_asm_test)" - -# 2.3 info tracepoint (invalid tracepoint number) -gdb_test "info tracepoint [expr $c_test_num + $asm_test_num]" \ - "No tracepoint number [expr $c_test_num + $asm_test_num]." \ - "2.3: info tracepoint (invalid tracepoint number)" - -# 2.4 info tracepoints (list of numbers) -send_gdb "info tracepoints $c_test_num $asm_test_num \n" -gdb_expect { - -re "Num Enb .*$gdb_prompt $" { - fail "2.4: info trace rejects multiple tracepoint numbers" - } - -re ".*$gdb_prompt $" { - pass "2.4: info trace rejects multiple tracepoint numbers" - } -} - -# 2.5 help info trace -gdb_test "help info tracepoints" \ - "Status of tracepoints, or tracepoint number NUMBER.*" \ - "2.5: help info tracepoints" - diff --git a/gdb/testsuite/gdb.trace/limits.c b/gdb/testsuite/gdb.trace/limits.c deleted file mode 100644 index d9c02e74bac..00000000000 --- a/gdb/testsuite/gdb.trace/limits.c +++ /dev/null @@ -1,51 +0,0 @@ -/* - * Test program for tracing internal limits (number of tracepoints etc.) - */ - -int n = 6; - -int arr[64]; - -static void foo(int x) -{ -} - -static void bar(int y) -{ -} - -static void baz(int z) -{ -} - -static void begin () /* called before anything else */ -{ -} - -static void end () /* called after everything else */ -{ -} - -int -main (argc, argv, envp) - int argc; - char *argv[], **envp; -{ - int i; - -#ifdef usestubs - set_debug_traps (); - breakpoint (); -#endif - - begin (); - for (i = 0; i < sizeof(arr) / sizeof(arr[0]); i++) - arr[i] = i + 1; - - foo (1); - bar (2); - baz (3); - end (); - return 0; -} - diff --git a/gdb/testsuite/gdb.trace/limits.exp b/gdb/testsuite/gdb.trace/limits.exp deleted file mode 100644 index 581f82d5d52..00000000000 --- a/gdb/testsuite/gdb.trace/limits.exp +++ /dev/null @@ -1,316 +0,0 @@ -# Copyright (C) 1998 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - -# Please email any bugs, comments, and/or additions to this file to: -# bug-gdb@prep.ai.mit.edu - -if [istarget "m68k-*-elf"] then { - pass "Test not supported on this target" - return; -} - -load_lib "trace-support.exp" - -if $tracelevel then { - strace $tracelevel -} - -set prms_id 0 -set bug_id 0 - -set testfile "limits" -set srcfile ${testfile}.c -set binfile $objdir/$subdir/$testfile - -if { [gdb_compile "$srcdir/$subdir/$srcfile" $binfile \ - executable {debug additional_flags="-gdwarf"}] != "" } { - gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail." -} - -# Tests: -# 1) Meet and exceed artificial limit on number of tracepoints -# 2) Meet and exceed artificial limit on number of memranges -# 3) Meet and exceed artificial limit on bytes of bytecode data -# [NOTE: number four is moved out into its own separate test module.] -# 4) Meet and exceed artificial limit on bytes of trace buffer storage -# (circular and non-circular modes). However note that a more -# thorough test of the circular mode can be made separately. - -set cr "\[\r\n\]+" - -proc gdb_tracepoint_limit_test { } { - global gdb_prompt - global cr - - # Make sure we're in a sane starting state. - gdb_test "tstop" "" "" - gdb_test "tfind none" "" "" - gdb_delete_tracepoints - - # Set three tracepoints - gdb_test "trace foo" \ - "Tracepoint \[0-9\]+ at .*" \ - "tracepoint limit test: set first tracepoint" - - gdb_test "trace bar" \ - "Tracepoint \[0-9\]+ at .*" \ - "tracepoint limit test: set second tracepoint" - - gdb_test "trace baz" \ - "Tracepoint \[0-9\]+ at .*" \ - "tracepoint limit test: set third tracepoint" - - # Set secret artificial tracepoint limit to four - gdb_test "maint packet QTLimit:tp:4" \ - "received: .OK." \ - "tracepoint limit test: set limit to four" - - # Now sending three tracepoints should succeed. - send_gdb "tstart\n" - gdb_expect { - -re "$cr$gdb_prompt" { - pass "tracepoint limit test: send fewer than limit" - } - default { - fail "tracepoint limit test: send fewer than limit" - } - } - - # Set secret artificial tracepoint limit to three - gdb_test "maint packet QTLimit:tp:3" \ - "received: .OK." \ - "tracepoint limit test: set limit to three" - - # Now sending three tracepoints should still succeed. - send_gdb "tstart\n" - gdb_expect { - -re "$cr$gdb_prompt" { - pass "tracepoint limit test: send equal to limit" - } - default { - fail "tracepoint limit test: send equal to limit" - } - } - - # Set secret artificial tracepoint limit to two - gdb_test "maint packet QTLimit:tp:2" \ - "received: .OK." \ - "tracepoint limit test: set limit to two" - - # Now sending three tracepoints should fail. - gdb_test "tstart" \ - ".*\[Ee\]rror.*" \ - "tracepoint limit test: send more than limit" - - # Clean up: - gdb_test "tstop" "" "" - gdb_test "maint packet QTLimit:tp:FFFFFFFF" "" "" -} - -proc gdb_memrange_limit_test { } { - global gdb_prompt - global cr - - # Make sure we're in a sane starting state. - gdb_test "tstop" "" "" - gdb_test "tfind none" "" "" - gdb_delete_tracepoints - - # Set three tracepoints, and make 'em collect memranges - gdb_test "trace foo" \ - "Tracepoint \[0-9\]+ at .*" \ - "memrange limit test: set first tracepoint" - - gdb_trace_setactions "memrange limit test: set first actions" \ - "" \ - "collect \$arg" "^$" - - gdb_test "trace bar" \ - "Tracepoint \[0-9\]+ at .*" \ - "memrange limit test: set second tracepoint" - - gdb_trace_setactions "memrange limit test: set second actions" \ - "" \ - "collect \$arg" "^$" - - gdb_test "trace baz" \ - "Tracepoint \[0-9\]+ at .*" \ - "memrange limit test: set third tracepoint" - - gdb_trace_setactions "memrange limit test: set third actions" \ - "" \ - "collect \$arg" "^$" - - # Set secret artificial memrange limit to four - gdb_test "maint packet QTLimit:memrange:4" \ - "received: .OK." \ - "memrange limit test: set limit to four" - - # Now sending three memranges should still succeed. - send_gdb "tstart\n" - gdb_expect { - -re "$cr$gdb_prompt" { - pass "memrange limit test: send fewer than limit" - } - default { - fail "memrange limit test: send fewer than limit" - } - } - - # Set secret artificial memrange limit to three - gdb_test "maint packet QTLimit:memrange:3" \ - "received: .OK." \ - "memrange limit test: set limit to three" - - # Now sending three memranges should still succeed. - send_gdb "tstart\n" - gdb_expect { - -re "$cr$gdb_prompt" { - pass "memrange limit test: send equal to limit" - } - default { - fail "memrange limit test: send equal to limit" - } - } - - # Set secret artificial memrange limit to two - gdb_test "maint packet QTLimit:memrange:2" \ - "received: .OK." \ - "memrange limit test: set limit to two" - - # Now sending three memranges should fail. - gdb_test "tstart" \ - ".*\[Ee\]rror.*" \ - "memrange limit test: send more than limit" - - # Clean up: - gdb_test "tstop" "" "" - gdb_test "maint packet QTLimit:memrange:FFFFFFFF" "" "" -} - - -proc gdb_bytecode_limit_test { } { - global gdb_prompt - global cr - - # Make sure we're in a sane starting state. - gdb_test "tstop" "" "" - gdb_test "tfind none" "" "" - gdb_delete_tracepoints - - # Set three tracepoints - gdb_test "trace foo" \ - "Tracepoint \[0-9\]+ at .*" \ - "bytecode limit test: set first tracepoint" - - gdb_trace_setactions "bytecode limit test: set first actions" \ - "" \ - "collect x + n" "^$" - - gdb_test "trace bar" \ - "Tracepoint \[0-9\]+ at .*" \ - "bytecode limit test: set second tracepoint" - - gdb_trace_setactions "bytecode limit test: set second actions" \ - "" \ - "collect y + n" "^$" - - gdb_test "trace baz" \ - "Tracepoint \[0-9\]+ at .*" \ - "bytecode limit test: set third tracepoint" - - gdb_trace_setactions "bytecode limit test: set third actions" \ - "" \ - "collect z + n" "^$" - - # Set secret artificial bytecode limit to a large number - gdb_test "maint packet QTLimit:bytecode:400" \ - "received: .OK." \ - "bytecode limit test: set limit to large" - - # Now sending three bytecodes should still succeed. - send_gdb "tstart\n" - gdb_expect { - -re "$cr$gdb_prompt" { - pass "bytecode limit test: send fewer than limit" - } - default { - fail "bytecode limit test: send fewer than limit" - } - } - - # Set secret artificial bytecode limit to a small number - gdb_test "maint packet QTLimit:bytecode:40" \ - "received: .OK." \ - "bytecode limit test: set limit to small" - - # Now sending three bytecodes should fail. - gdb_test "tstart" \ - ".*\[Ee\]rror.*" \ - "bytecode limit test: send more than limit" - - - # Clean up: - gdb_test "tstop" "" "" - gdb_test "maint packet QTLimit:bytecode:FFFFFFFF" "" "" -} - -proc gdb_trace_limits_tests { } { - global gdb_prompt - - # We generously give ourselves one "pass" if we successfully - # detect that this test cannot be run on this target! - - if { ![gdb_target_supports_trace] } then { - pass "Current target does not supporst trace" - return 1; - } - - if [gdb_test "maint packet QTLimit:tp:ffffffff" \ - "received: .OK." ""] then { - pass "This test cannot be run on this target" - return 1; - } - - if [gdb_test "maint packet QTLimit:memrange:ffffffff" \ - "received: .OK." ""] then { - pass "This test cannot be run on this target" - return 1; - } - - if [gdb_test "maint packet QTLimit:bytecode:ffffffff" \ - "received: .OK." ""] then { - pass "This test cannot be run on this target" - return; - } - - gdb_tracepoint_limit_test - gdb_memrange_limit_test - gdb_bytecode_limit_test -} - -# Start with a fresh gdb. - -gdb_exit -gdb_start -gdb_reinitialize_dir $srcdir/$subdir -gdb_load $binfile - -if [target_info exists gdb_stub] { - gdb_step_for_stub; -} -# Body of test encased in a proc so we can return prematurely. -gdb_trace_limits_tests diff --git a/gdb/testsuite/gdb.trace/packetlen.exp b/gdb/testsuite/gdb.trace/packetlen.exp deleted file mode 100644 index edd7e6ce9bf..00000000000 --- a/gdb/testsuite/gdb.trace/packetlen.exp +++ /dev/null @@ -1,100 +0,0 @@ -# Copyright (C) 1998 Free Software Foundation, Inc. -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - -# Please email any bugs, comments, and/or additions to this file to: -# bug-gdb@prep.ai.mit.edu - -# This file was written by Michael Snyder (msnyder@cygnus.com) - -load_lib "trace-support.exp" - -if $tracelevel then { - strace $tracelevel -} - -set prms_id 0 -set bug_id 0 - -gdb_exit -gdb_start - -if [istarget "m68k-*-elf"] then { - load_lib "emc-support.exp" - set srcfile gdb_c_test.c - set binfile [board_info target d490_binfile]; - gdb_test "set remotetimeout 6" "" "" - set timeout 500 - gdb_target_monitor "$binfile" - # Give a TSTOP and ignore errors, to make sure any previous trace is off - gdb_test "tstop" "" "" - gdb_test "tfind none" "" "" - send_gdb "compare-sections CS\n" - gdb_expect { - -re "MIS-MATCHED.*$gdb_prompt $" { - gdb_suppress_entire_file "Symbol file does not match target! - all tests in this module will fail."; - } - -re ".*$gdb_prompt $" { } - } -} else { - set testfile "actions" - set srcfile ${testfile}.c - set binfile $objdir/$subdir/$testfile - if { [gdb_compile "$srcdir/$subdir/$srcfile" $binfile \ - executable {debug additional_flags="-gdwarf"}] != "" } { - gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail." - } - gdb_load $binfile - gdb_test "tstop" "" "" - gdb_test "tfind none" "" "" - runto_main -} -gdb_reinitialize_dir $srcdir/$subdir - -# If testing on a remote host, download the source file. -remote_download host $srcdir/$subdir/$srcfile - -# -# Test collecting a whole bunch of stuff at a single tracepoint. -# The test is whether this crashes GDB. -# - -gdb_delete_tracepoints -gdb_test "trace gdb_c_test" "" "" -gdb_trace_setactions "setup collect actions" \ - "" \ - "collect parm\[0\], parm\[1\], parm\[2\], parm\[3\]" "^$" \ - "collect parm\[4\], parm\[5\], parm\[6\], parm\[7\]" "^$" \ - "collect p, local_reg, local_static, local_static_sizeof" "^$" \ - "collect local_long, stack_ptr, end_of_stack" "^$" \ - "collect gdb_char_test, gdb_short_test, gdb_long_test" "^$" \ - "collect gdb_arr_test, gdb_struct1_test, gdb_struct2_test" "^$" \ - "collect gdb_structp_test, gdb_structpp_test, gdb_union1_test" "^$" \ - "end" "" - -gdb_test "tstart" "" "survive the long packet send" -if [istarget "m68k-*-elf"] then { - gdb_emclaptop_command "85,1,2,3,4,5,6" - sleep 5 -} else { - gdb_test "break end" "" "" - gdb_test "continue" \ - "Continuing.*Breakpoint $decimal, end.*" \ - "run trace experiment" -} - -gdb_test "tstop" "" "confirm: survived the long packet send" - diff --git a/gdb/testsuite/gdb.trace/passc-dyn.exp b/gdb/testsuite/gdb.trace/passc-dyn.exp deleted file mode 100644 index cf102de71bc..00000000000 --- a/gdb/testsuite/gdb.trace/passc-dyn.exp +++ /dev/null @@ -1,181 +0,0 @@ -# Copyright (C) 1998 Free Software Foundation, Inc. -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - -# Please email any bugs, comments, and/or additions to this file to: -# bug-gdb@prep.ai.mit.edu - -# This file was written by Michael Snyder (msnyder@cygnus.com) - -load_lib "trace-support.exp"; - -if $tracelevel then { - strace $tracelevel -} - -set prms_id 0 -set bug_id 0 - -gdb_exit -gdb_start -if [istarget "m68k-*-elf"] then { - load_lib "emc-support.exp"; - set srcfile gdb_c_test.c - set binfile [board_info target d490_binfile]; - gdb_test "set remotetimeout 6" "" "" - set timeout 500 - gdb_target_monitor $binfile - # Give a TSTOP and ignore errors, to make sure any previous trace is off - gdb_test "tstop" "" "" - gdb_test "tfind none" "" "" - send_gdb "compare-sections CS\n" - gdb_expect { - -re "MIS-MATCHED.*$gdb_prompt $" { - gdb_suppress_entire_file "Symbol file does not match target! - all tests in this module will fail."; - } - -re ".*$gdb_prompt $" { } - } -} else { - set testfile "actions" - set srcfile ${testfile}.c - set binfile $objdir/$subdir/$testfile - if { [gdb_compile "$srcdir/$subdir/$srcfile" $binfile \ - executable {debug additional_flags="-gdwarf"}] != "" } { - gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail." - } - gdb_load $binfile - gdb_test "tstop" "" "" - gdb_test "tfind none" "" "" - runto_main -} -gdb_reinitialize_dir $srcdir/$subdir - -# We generously give ourselves one "pass" if we successfully -# detect that this test cannot be run on this target! -if { ![gdb_target_supports_trace] } then { - pass "Current target does not supporst trace" - return 1; - -} - -# If testing on a remote host, download the source file. -remote_download host $srcdir/$subdir/$srcfile - - -# -# test passcount dynamically (live target) -# - -set baseline [gdb_find_recursion_test_baseline $srcfile]; - -if { $baseline == -1 } then { - fail "Could not find gdb_recursion_test function" - return; -} - -# define relative source line numbers: -# all subsequent line numbers are relative to this first one (baseline) - -set testline2 [expr $baseline + 4] -set testline3 [expr $baseline + 5] -set testline4 [expr $baseline + 6] - -# -# test passcount command semantics (live test) -# - -## Set three tracepoints with three different passcounts. -## Verify that the experiment stops after the one with the -## lowest passcount is hit. - -gdb_delete_tracepoints -set tdp2 [gdb_gettpnum "$testline2"] -set tdp3 [gdb_gettpnum "$testline3"] -set tdp4 [gdb_gettpnum "$testline4"] -if { $tdp2 <= 0 || $tdp3 <= 0 || $tdp4 <= 0 } then { - fail "setting tracepoints" - return; -} - -gdb_test "passcount 4 $tdp2" "Setting tracepoint $tdp2's passcount to 4" \ - "4.5: set passcount for tracepoint $tdp2" -gdb_test "passcount 2 $tdp3" "Setting tracepoint $tdp3's passcount to 2" \ - "4.5: set passcount for tracepoint $tdp3" -gdb_test "passcount 3 $tdp4" "Setting tracepoint $tdp4's passcount to 3" \ - "4.5: set passcount for tracepoint $tdp4" - -gdb_test "tstart" "" "" - -if [istarget "m68k-*-elf"] then { - gdb_emclaptop_command "85,1,2,3,4,5,6" - sleep 5 - gdb_emclaptop_command "85,7,8,9,A,B,C" - sleep 5 - gdb_emclaptop_command "85,D,E,F,10,11,12" - sleep 5 - # gdb_test "tstop" - ## - ## Note! Must NOT give the tstop command, because the passcount - ## has already stopped the experiment. You would not - ## think this would be an error, but in EMC's mind it is... - ## -} else { - gdb_test "break end" "" "" - gdb_test "continue" \ - "Continuing.*Breakpoint $decimal, end.*" \ - "run trace experiment" - gdb_test "tstop" "" "" -} - -gdb_test "tfind none" "" "" -if [gdb_test "printf \"x \%d x\\n\", \$trace_frame" "x -1 x" ""] { - gdb_suppress_entire_file "0: tfind none failed" -} - -gdb_test "tfind tracepoint $tdp2" "" "" -if [gdb_test "printf \"x \%d x\\n\", \$trace_frame" "x 0 x" ""] { - gdb_suppress_entire_file "1: first tfind failed" -} - -gdb_test "tfind tracepoint $tdp3" "" "" -if [gdb_test "printf \"x \%d x\\n\", \$trace_frame" "x 1 x" ""] { - gdb_suppress_entire_file "2: second tfind failed" -} - -gdb_test "tfind tracepoint $tdp4" "" "" -if [gdb_test "printf \"x \%d x\\n\", \$trace_frame" "x 2 x" ""] { - gdb_suppress_entire_file "3: third tfind failed" -} - -gdb_test "tfind tracepoint $tdp2" "" "" -if [gdb_test "printf \"x \%d x\\n\", \$trace_frame" "x 3 x" ""] { - gdb_suppress_entire_file "4: fourth tfind failed" -} - -gdb_test "tfind tracepoint $tdp3" "" "" -if [gdb_test "printf \"x \%d x\\n\", \$trace_frame" "x 4 x" ""] { - gdb_suppress_entire_file "5: fifth tfind failed" -} - -## We should now be at the last frame, because this frame's passcount -## should have caused collection to stop. If we do a tfind now, -## it should fail. - -gdb_test "tfind" "failed to find.*" "4.5: dynamic passcount test" - -# Finished! -gdb_test "tfind none" "" "" - diff --git a/gdb/testsuite/gdb.trace/passcount.exp b/gdb/testsuite/gdb.trace/passcount.exp deleted file mode 100644 index 6e4144bd2f2..00000000000 --- a/gdb/testsuite/gdb.trace/passcount.exp +++ /dev/null @@ -1,178 +0,0 @@ -# Copyright (C) 1998 Free Software Foundation, Inc. -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - -# Please email any bugs, comments, and/or additions to this file to: -# bug-gdb@prep.ai.mit.edu - -# This file was written by Michael Snyder (msnyder@cygnus.com) - -load_lib "trace-support.exp"; - -if $tracelevel then { - strace $tracelevel -} - -set prms_id 0 -set bug_id 0 - -gdb_exit -gdb_start -if [istarget "m68k-*-elf"] then { - set srcfile gdb_c_test.c - set binfile [board_info target d490_binfile]; -} else { - set testfile "actions" - set srcfile ${testfile}.c - set binfile $objdir/$subdir/$testfile - if { [gdb_compile "$srcdir/$subdir/$srcfile" $binfile \ - executable {debug additional_flags="-gdwarf"}] != "" } { - gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail." - } -} -gdb_reinitialize_dir $srcdir/$subdir - -# If testing on a remote host, download the source file. -remote_download host $srcdir/$subdir/$srcfile - -gdb_file_cmd $binfile - -# define relative source line numbers: -# all subsequent line numbers are relative to this first one (baseline) -set baseline [gdb_find_recursion_test_baseline $srcfile]; -if { $baseline == -1 } then { - fail "Could not find gdb_recursion_test function" - return; -} - -set testline1 [expr $baseline + 3] - -# -# test "passcount" command -# - -gdb_delete_tracepoints -set trcpt1 [gdb_gettpnum gdb_c_test]; -set trcpt2 [gdb_gettpnum gdb_asm_test]; -set trcpt3 [gdb_gettpnum $testline1]; -if { $trcpt1 <= 0 || $trcpt2 <= 0 || $trcpt3 <= 0 } then { - fail "setting tracepoints" - return; -} - -# 4.1 passcount of specified tracepoint - -gdb_test "info tracepoints" \ - "Num Enb Address PassC StepC What.*$trcpt1\[\t \]+y\[\t \]+$hex\[\t \]+0\[\t \]+.*in gdb_c_test.*$trcpt2\[\t \]+y\[\t \]+$hex\[\t \]+0\[\t \]+.*gdb_asm_test.*$trcpt3\[\t \]+y\[\t \]+$hex\[\t \]+0\[\t \]+.*in gdb_recursion_test.*" \ - "4.1a: set three tracepoints, passcounts all zero" - -gdb_test "passcount 2 $trcpt1" \ - "Setting tracepoint $trcpt1.s passcount to 2" \ - "4.1b: set 1st tracepoint's passcount to two" - -gdb_test "info tracepoints" \ - "Num Enb Address PassC StepC What.*$trcpt1\[\t \]+y\[\t \]+$hex\[\t \]+2\[\t \]+.*in gdb_c_test.*$trcpt2\[\t \]+y\[\t \]+$hex\[\t \]+0\[\t \]+.*gdb_asm_test.*$trcpt3\[\t \]+y\[\t \]+$hex\[\t \]+0\[\t \]+.*in gdb_recursion_test.*" \ - "4.1c: verify 1st tracepoint's passcount set to two" - -gdb_test "passcount 4 $trcpt2" \ - "Setting tracepoint $trcpt2.s passcount to 4" \ - "4.1d: set 2nd tracepoint's passcount to four" - -gdb_test "info tracepoints" \ - "Num Enb Address PassC StepC What.*$trcpt1\[\t \]+y\[\t \]+$hex\[\t \]+2\[\t \]+.*in gdb_c_test.*$trcpt2\[\t \]+y\[\t \]+$hex\[\t \]+4\[\t \]+.*gdb_asm_test.*$trcpt3\[\t \]+y\[\t \]+$hex\[\t \]+0\[\t \]+.*in gdb_recursion_test.*" \ - "4.1c: verify 2nd tracepoint's passcount set to four" - -# 4.2 passcount of last (default) tracepoint - -gdb_test "passcount 6" \ - "Setting tracepoint $trcpt3.s passcount to 6" \ - "4.2b: set last (default) tp's passcount to six" - -gdb_test "info tracepoints" \ - "Num Enb Address PassC StepC What.*$trcpt1\[\t \]+y\[\t \]+$hex\[\t \]+2\[\t \]+.*in gdb_c_test.*$trcpt2\[\t \]+y\[\t \]+$hex\[\t \]+4\[\t \]+.*gdb_asm_test.*$trcpt3\[\t \]+y\[\t \]+$hex\[\t \]+6\[\t \]+.*in gdb_recursion_test.*" \ - "4.2b: verify last (default) tp's passcount set to six" - -# 4.3 run until stopped explicitly by user -# [deferred to dynamic test section] - -# 4.4 reset the previously set passcounts to new values - -gdb_test "passcount 7" \ - "Setting tracepoint $trcpt3.s passcount to 7" \ - "4.4a: reset last (default) tp's passcount to seven" - -gdb_test "info tracepoints" \ - "Num Enb Address PassC StepC What.*$trcpt1\[\t \]+y\[\t \]+$hex\[\t \]+2\[\t \]+.*in gdb_c_test.*$trcpt2\[\t \]+y\[\t \]+$hex\[\t \]+4\[\t \]+.*gdb_asm_test.*$trcpt3\[\t \]+y\[\t \]+$hex\[\t \]+7\[\t \]+.*in gdb_recursion_test.*" \ - "4.4a: verify reset last (default) tp's passcount to seven" - -gdb_test "passcount 5 $trcpt2" \ - "Setting tracepoint $trcpt2.s passcount to 5" \ - "4.4b: reset second tracepoint's passcount to five" - -gdb_test "info tracepoints" \ - "Num Enb Address PassC StepC What.*$trcpt1\[\t \]+y\[\t \]+$hex\[\t \]+2\[\t \]+.*in gdb_c_test.*$trcpt2\[\t \]+y\[\t \]+$hex\[\t \]+5\[\t \]+.*gdb_asm_test.*$trcpt3\[\t \]+y\[\t \]+$hex\[\t \]+7\[\t \]+.*in gdb_recursion_test.*" \ - "4.4c: verify reset second tracepoint's passcount to five" - -# 4.20 <FIXME test number> passcount for "all" - -gdb_test "passcount 3 all" \ - ".*$trcpt1.s pass.* 3.*$trcpt2.s pass.* 3.*$trcpt3.s pass.* 3" \ - "4.20a: set all three passcounts to three" - -gdb_test "info tracepoints" \ - "Num Enb Address PassC StepC What.*$trcpt1\[\t \]+y\[\t \]+$hex\[\t \]+3\[\t \]+.*in gdb_c_test.*$trcpt2\[\t \]+y\[\t \]+$hex\[\t \]+3\[\t \]+.*gdb_asm_test.*$trcpt3\[\t \]+y\[\t \]+$hex\[\t \]+3\[\t \]+.*in gdb_recursion_test.*" \ - "4.20a: set all three passcounts to three" - -gdb_test "passcount 4 all" \ - ".*$trcpt1.s pass.* 4.*$trcpt2.s pass.* 4.*$trcpt3.s pass.* 4" \ - "4.20a: reset all three passcounts to four" - -gdb_test "info tracepoints" \ - "Num Enb Address PassC StepC What.*$trcpt1\[\t \]+y\[\t \]+$hex\[\t \]+4\[\t \]+.*in gdb_c_test.*$trcpt2\[\t \]+y\[\t \]+$hex\[\t \]+4\[\t \]+.*gdb_asm_test.*$trcpt3\[\t \]+y\[\t \]+$hex\[\t \]+4\[\t \]+.*in gdb_recursion_test.*" \ - "4.20b: reset all three passcounts to four" - -# 4.5 Verify trace stops on first "satisfied" passcount -# [deferred to dynamic test section] - -# 4.6 minimum passcount boundary condition - -gdb_test "passcount 0 $trcpt1" \ - "Setting tracepoint $trcpt1.s passcount to 0" \ - "4.6: set passcount to zero" - -gdb_test "info tracepoints" \ - "Num Enb Address PassC StepC What.*$trcpt1\[\t \]+y\[\t \]+$hex\[\t \]+0\[\t \]+.*in gdb_c_test.*$trcpt2\[\t \]+y\[\t \]+$hex\[\t \]+4\[\t \]+.*gdb_asm_test.*$trcpt3\[\t \]+y\[\t \]+$hex\[\t \]+4\[\t \]+.*in gdb_recursion_test.*" \ - "4.6: set passcount to zero" - -# 4.7 (test a very large passcount) - -gdb_test "passcount 32767 $trcpt1" \ - "Setting tracepoint $trcpt1.s passcount to 32767" \ - "4.7: set passcount to large number (32767)" - -gdb_test "info tracepoints" \ - "Num Enb Address PassC StepC What.*$trcpt1\[\t \]+y\[\t \]+$hex\[\t \]+32767\[\t \]+.*in gdb_c_test.*$trcpt2\[\t \]+y\[\t \]+$hex\[\t \]+4\[\t \]+.*gdb_asm_test.*$trcpt3\[\t \]+y\[\t \]+$hex\[\t \]+4\[\t \]+.*in gdb_recursion_test.*" \ - "4.7: set passcount to large number (32767)" - -# 4.8 set passcount for invalid tracepoint - -gdb_test "passcount 1 [expr $trcpt2 + $trcpt3]" \ - "No tracepoint number [expr $trcpt2 + $trcpt3]." \ - "4.8: invalid tracepoint number in passcount" - -# 4.9 help passcount -gdb_test "help passcount" "Set the passcount for a tracepoint.*" \ - "4.9: help passcount" - diff --git a/gdb/testsuite/gdb.trace/report.exp b/gdb/testsuite/gdb.trace/report.exp deleted file mode 100644 index 4df17e10dd5..00000000000 --- a/gdb/testsuite/gdb.trace/report.exp +++ /dev/null @@ -1,421 +0,0 @@ -# Copyright (C) 1998 Free Software Foundation, Inc. -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - -# Please email any bugs, comments, and/or additions to this file to: -# bug-gdb@prep.ai.mit.edu - -# This file was written by Michael Snyder (msnyder@cygnus.com) - -load_lib "trace-support.exp"; - -if $tracelevel then { - strace $tracelevel -} - -set prms_id 0 -set bug_id 0 - -gdb_exit -gdb_start - -if [istarget "m68k-*-elf"] then { - load_lib "emc-support.exp"; - set srcfile gdb_c_test.c - set binfile [board_info target d490_binfile]; - gdb_test "set remotetimeout 6" "" "" - set timeout 500 - gdb_target_monitor $binfile - # Give a TSTOP and ignore errors, to make sure any previous trace is off - gdb_test "tstop" "" "" - gdb_test "tfind none" "" "" - send_gdb "compare-sections CS\n" - gdb_expect { - -re "MIS-MATCHED.*$gdb_prompt $" { - gdb_suppress_entire_file "Symbol file does not match target! - all tests in this module will fail."; - } - -re ".*$gdb_prompt $" { } - } -} else { - set testfile "actions" - set srcfile ${testfile}.c - set binfile $objdir/$subdir/$testfile - if { [gdb_compile "$srcdir/$subdir/$srcfile" $binfile \ - executable {debug additional_flags="-gdwarf"}] != "" } { - gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail." - } - gdb_load $binfile - gdb_test "tstop" "" "" - gdb_test "tfind none" "" "" - runto_main -} -gdb_reinitialize_dir $srcdir/$subdir - -# We generously give ourselves one "pass" if we successfully -# detect that this test cannot be run on this target! -if { ![gdb_target_supports_trace] } then { - pass "Current target does not supporst trace" - return 1; - -} - -set cr "\[\r\n\]+" - -# If testing on a remote host, download the source file. -remote_download host $srcdir/$subdir/$srcfile - -# -# test general reporting of trace experiment results -# - -set testline1 0 -set testline2 0 -set testline3 0 -set testline4 0 -set testline5 0 -set testline6 0 - -set arg1 1 -set arg2 2 -set arg3 3 -set arg4 4 -set arg5 5 -set arg6 6 - -set gdb_recursion_test_baseline [gdb_find_recursion_test_baseline $srcfile]; -if { $gdb_recursion_test_baseline == -1 } { - fail "Could not find gdb_recursion_test function" - return; -} - -send_gdb "list $gdb_recursion_test_baseline, +12\n" -gdb_expect { - -re "\[\r\n\](\[0-9\]+)\[^\r\n\]+gdbtestline 1 " { - set testline1 $expect_out(1,string) - exp_continue - } - -re "\[\r\n\](\[0-9\]+)\[^\r\n\]+gdbtestline 2 " { - set testline2 $expect_out(1,string) - exp_continue - } - -re "\[\r\n\](\[0-9\]+)\[^\r\n\]+gdbtestline 3 " { - set testline3 $expect_out(1,string) - exp_continue - } - -re "\[\r\n\](\[0-9\]+)\[^\r\n\]+gdbtestline 4 " { - set testline4 $expect_out(1,string) - exp_continue - } - -re "\[\r\n\](\[0-9\]+)\[^\r\n\]+gdbtestline 5 " { - set testline5 $expect_out(1,string) - exp_continue - } - -re "\[\r\n\](\[0-9\]+)\[^\r\n\]+gdbtestline 6 " { - set testline6 $expect_out(1,string) - exp_continue - } - -re ".*$gdb_prompt $" { - if { ($testline1 == 0) || ($testline2 == 0) || ($testline3 == 0) || ($testline4 == 0) || ($testline5 == 0) || ($testline6 == 0) } { - gdb_suppress_entire_file "failed to locate test source lines: -all tests in this module will fail." - } - } - default { - gdb_suppress_entire_file "failed to locate test source lines (def): -all tests in this module will fail." - } -} - -# -# Setup trace experiment. This will involve: -# 1) a tracepoint where nothing is collected -# 2) a tracepoint where only regs are collected -# 3) a tracepoint where only args are collected -# 4) a tracepoint where only locals are collected -# 5) a tracepoint where some amount of stack memory is collected. -# 6) a tracepoint where some expressions are collected. -# - -gdb_delete_tracepoints -set tdp1 [gdb_gettpnum $testline1] -set tdp2 [gdb_gettpnum $testline2] -set tdp3 [gdb_gettpnum $testline3] -set tdp4 [gdb_gettpnum $testline4] -set tdp5 [gdb_gettpnum $testline5] -set tdp6 [gdb_gettpnum $testline6] - -if { $tdp1 <= 0 || $tdp2 <= 0 || $tdp3 <= 0 || \ - $tdp4 <= 0 || $tdp5 <= 0 || $tdp6 <= 0 } then { - fail "setting tracepoints failed" - return; -} - -gdb_trace_setactions "9.x: setup TP to collect regs" \ - "$tdp2" \ - "collect \$regs" "^$" - - -gdb_trace_setactions "9.x: setup TP to collect args" \ - "$tdp3" \ - "collect \$args" "^$" - -gdb_trace_setactions "9.x: setup TP to collect locals" \ - "$tdp4" \ - "collect \$locs" "^$" - -gdb_trace_setactions "9.x: setup TP to collect stack memory" \ - "$tdp5" \ - "collect \$fp, \*\(void \*\*\) \$sp @ 64" "^$" - -gdb_trace_setactions "9.x: setup TP to collect expressions" \ - "$tdp6" \ - "collect gdb_char_test, gdb_short_test, gdb_long_test" "^$" - -gdb_test "tstart" "" "" - -if [istarget "m68k-*-elf"] then { - gdb_emclaptop_command "85,$arg1,$arg2,$arg3,$arg4,$arg5,$arg6" - sleep 5 - -} else { - gdb_test "break end" "" "" - gdb_test "continue" \ - "Continuing.*Breakpoint $decimal, end.*" \ - "run trace experiment" -} - -gdb_test "tstop" "" "" - -# -# 9.1 test the tdump command -# - -set timeout 60 - -gdb_tfind_test "9.1: init: make sure not debugging any trace frame" "none" "-1" - -gdb_tfind_test "9.1: find frame for TP $tdp1" "tracepoint $tdp1" \ - "\$tracepoint" "$tdp1" - -# Nothing was collected at tdp1, so this tdump should be empty. -gdb_test "tdump" \ - "Data collected at tracepoint $tdp1, trace frame $decimal:" \ - "9.1: tdump, nothing collected" - -gdb_tfind_test "9.1: find frame for TP $tdp2" "tracepoint $tdp2" \ - "\$tracepoint" "$tdp2" - -# regs were collected at tdp2. -# How to match for the output of "info registers" on an unknown architecture? -# For now, assume that every architecture has a register called "pc". -gdb_test "tdump" \ - "\[\r\n\]pc .*" \ - "9.1: tdump, regs collected" - -gdb_tfind_test "9.1: find frame for TP $tdp3" "tracepoint $tdp3" \ - "\$tracepoint" "$tdp3" - -# args were collected at tdp3 -gdb_test "tdump" \ - "depth = 3.*q1 = 2.*q2 = 2.*q3 = 3.*q4 = 4.*q5 = 5.*q6 = 6" \ - "9.1: tdump, args collected" - -gdb_tfind_test "9.1: find frame for TP $tdp4" "tracepoint $tdp4" \ - "\$tracepoint" "$tdp4" - -# locals were collected at tdp4 -gdb_test "tdump" \ - "q = 1" \ - "9.1: tdump, locals collected" - -gdb_tfind_test "9.1: find frame for TP $tdp5" "tracepoint $tdp5" \ - "\$tracepoint" "$tdp5" - -# stack was collected at tdp5, plus the frame pointer -gdb_test "tdump" \ - ".fp = .*sp @ 64 = .*" \ - "9.1: tdump, memrange collected" - -gdb_tfind_test "9.1: find frame for TP $tdp6" "tracepoint $tdp6" \ - "\$tracepoint" "$tdp6" - -# globals were collected at tdp6 -gdb_test "tdump" \ - "gdb_char_test = 1.*gdb_short_test = 2.*gdb_long_test = 3" \ - "9.1: tdump, global variables collected" - -# 9.2 test tdump with arguments -# [no go, tdump doesn't have any arguments] - -# 9.3 help tdump - -gdb_test "help tdump" "Print everything collected at the current.*" \ - "9.3: help tdump" - -set linecount1 0 -set linecount2 0 -set linecount3 0 -set linecount4 0 -set linecount5 0 -set linecount6 0 - -gdb_tfind_test "11.x, 12.1: find start frame" "start" "0" - -# -# 11.x test built-in trace variables $trace_frame, $trace_line etc. -# - -gdb_test "printf \"x %d x\\n\", \$trace_frame" "x 0 x" \ - "11.1: test \$trace_frame" - -gdb_test "printf \"x %d x\\n\", \$tracepoint" "x $tdp1 x" \ - "11.2: test \$tracepoint" - -gdb_test "printf \"x %d x\\n\", \$trace_line" "x $testline1 x" \ - "11.3: test \$trace_line" - -send_gdb "print \$trace_file\n" -gdb_expect { - -re "\\$\[0-9\]+ = \"$srcfile\"\[\r\n\]+$gdb_prompt $" { - pass "11.4: test \$trace_file" - } - -re "\\$\[0-9\]+ = \"$srcdir/$subdir/$srcfile\"\[\r\n\]+$gdb_prompt $" { - pass "11.4: test \$trace_file" - } - -re "$gdb_prompt $" { - fail "11.4: test \$trace_file" - } - timeout { - fail "11.4: test \$trace_file (timeout)" - } -} - -#gdb_test "print \$trace_file" "\"$srcdir/$subdir/$srcfile\"" \ -# "11.4: test \$trace_file" - -# -# 12.x test report generation using arbitrary GDB commands, loops etc. -# - -send_gdb "while \$trace_frame != -1\n output \$trace_file\n printf \", line \%d \(tracepoint #\%d\)\\n\", \$trace_line, \$tracepoint\n tfind\n end\n" -gdb_expect { - -re " line $testline1 .tracepoint .$tdp1" { - set linecount1 [expr $linecount1 + 1] - exp_continue - } - -re " line $testline2 .tracepoint .$tdp2" { - set linecount2 [expr $linecount2 + 1] - exp_continue - } - -re " line $testline3 .tracepoint .$tdp3" { - set linecount3 [expr $linecount3 + 1] - exp_continue - } - -re " line $testline4 .tracepoint .$tdp4" { - set linecount4 [expr $linecount4 + 1] - exp_continue - } - -re " line $testline5 .tracepoint .$tdp5" { - set linecount5 [expr $linecount5 + 1] - exp_continue - } - -re " line $testline6 .tracepoint .$tdp6" { - set linecount6 [expr $linecount6 + 1] - exp_continue - } - -re ".*$gdb_prompt $" { - if { ($linecount1 < 4) || ($linecount2 < 4) || ($linecount3 < 4) || ($linecount4 < 4) || ($linecount5 < 4) || ($linecount6 < 4) } { - fail "12.1: trace report #1" - } else { - pass "12.1: trace report #1" - } - } - timeout { - fail "12.1: trace report #1 (timeout)" - } -} - -gdb_tfind_test "12.2: find first TDP #2 frame" "tracepoint $tdp2" \ - "\$tracepoint" "$tdp2" - -set linecount2 0 - -send_gdb "while \$trace_frame != -1\n printf \"tracepoint #\%d, FP 0x\%08x, SP 0x\%08x, PC 0x%08x\\n\", \$tracepoint, \$fp, \$sp, \$pc\n tfind tracepoint\n end\n" -gdb_expect { - -re "tracepoint #$tdp2, FP $hex, SP $hex, PC $hex" { - set linecount2 [expr $linecount2 + 1] - exp_continue - } - -re ".*$gdb_prompt $" { - if { ($linecount2 < 4) } { - fail "12.2: trace report #2" - } else { - pass "12.2: trace report #2" - } - } - timeout { - fail "12.2: trace report #2 (timeout)" - } -} - -gdb_tfind_test "12.3: find first TDP #3 frame" "tracepoint $tdp3" \ - "\$tracepoint" "$tdp3" - -set linecount3 0 - -send_gdb "while \$trace_frame != -1\n printf \"TDP #\%d, frame \%d: depth = \%d, q1 = \%d\\n\", \$tracepoint, \$trace_frame, depth, q1\n tfind tracepoint\n end\n" -gdb_expect { - -re "TDP #$tdp3, frame $decimal: depth = $decimal, q1 = $decimal" { - set linecount3 [expr $linecount3 + 1] - exp_continue - } - -re ".*$gdb_prompt $" { - if { ($linecount3 < 4) } { - fail "12.3: trace report #3" - } else { - pass "12.3: trace report #3" - } - } - timeout { - fail "12.3: trace report #3 (timeout)" - } -} - -gdb_tfind_test "12.4: find first TDP #6 frame" "tracepoint $tdp6" \ - "\$tracepoint" "$tdp6" - -set linecount6 0 - -send_gdb "while \$trace_frame != -1\n printf \"TDP #\%d, frame %d: char_test = \%d, long_test = \%d\\n\", \$tracepoint, \$trace_frame, gdb_char_test, gdb_long_test\n tfind tracepoint\n end\n" -gdb_expect { - -re "TDP #$tdp6, frame $decimal: char_test = $arg1, long_test = $arg3" { - set linecount6 [expr $linecount6 + 1] - exp_continue - } - -re ".*$gdb_prompt $" { - if { ($linecount6 < 4) } { - fail "12.4: trace report #4" - } else { - pass "12.4: trace report #4" - } - } - timeout { - fail "12.4: trace report #4 (timeout)" - } -} - -# Finished! -gdb_tfind_test "finished: make sure not debugging any trace frame" "none" "-1" diff --git a/gdb/testsuite/gdb.trace/save-trace.exp b/gdb/testsuite/gdb.trace/save-trace.exp deleted file mode 100644 index c2cfabd2fc6..00000000000 --- a/gdb/testsuite/gdb.trace/save-trace.exp +++ /dev/null @@ -1,171 +0,0 @@ -# Copyright (C) 1998 Free Software Foundation, Inc. -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - -# Please email any bugs, comments, and/or additions to this file to: -# bug-gdb@prep.ai.mit.edu - -# This file was written by Michael Snyder (msnyder@cygnus.com) - -load_lib "trace-support.exp"; - -if $tracelevel then { - strace $tracelevel -} - -set prms_id 0 -set bug_id 0 - -gdb_exit -gdb_start - -if [istarget "m68k-*-elf"] then { - set srcfile gdb_c_test.c - set binfile [board_info target d490_binfile]; -} else { - set testfile "actions" - set srcfile ${testfile}.c - set binfile $objdir/$subdir/$testfile - if { [gdb_compile "$srcdir/$subdir/$srcfile" $binfile \ - executable {debug additional_flags="-gdwarf"}] != "" } { - gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail." - } -} -gdb_reinitialize_dir $srcdir/$subdir - -# If testing on a remote host, download the source file. -remote_download host $srcdir/$subdir/$srcfile - -gdb_file_cmd $binfile - -# define relative source line numbers: -# all subsequent line numbers are relative to this first one (baseline) -set baseline [gdb_find_recursion_test_baseline $srcfile]; -if { $baseline == -1 } then { - fail "Could not find gdb_recursion_test function" - return; -} - -set testline1 [expr $baseline + 4] -set testline2 [expr $baseline + 5] -set testline3 [expr $baseline + 6] -set testline4 [expr $baseline + 7] -set testline5 [expr $baseline + 8] -set testline6 [expr $baseline + 9] - -# -# test save-trace command -# - -# setup a set of tracepoints to save - -gdb_delete_tracepoints - -foreach x { 1 2 3 4 5 6 } { - set testline [expr \$testline$x]; - set trcpt [gdb_gettpnum $testline]; - set trcpt$x $trcpt; - gdb_test "passcount $x" \ - "Setting tracepoint $trcpt.* to $x" \ - "10.x: set passcount for tracepoint $trcpt" - - gdb_trace_setactions "10.x: set actions for tracepoint $x" \ - "" \ - "collect q$x" "^$" \ - "while-stepping $x" "^$" \ - "collect q$x" "^$" \ - "end" "^$" -} - - -proc gdb_verify_tracepoints { testname } { - global gdb_prompt; - - set ws "\[\t \]+" - set nl "\[\r\n\]+" - set ourstate 1; - set result "pass"; - send_gdb "info tracepoints\n"; - gdb_expect 10 { - -re "y\[\t \]+0x\[0-9a-fA-F\]+\[\t \]+(\[0-9\]+)\[\t \]+(\[0-9\]+)\[\t \]+in gdb_recursion_test\[^\r\n\]+" { - if { $expect_out(1,string) != $expect_out(2,string) } { - #set result "fail"; - } - if { $expect_out(1,string) != $ourstate } { - set result "fail"; - } - incr ourstate; - exp_continue; - } - -re "$gdb_prompt $" { - if { $ourstate >= 6 } { - set result "pass"; - } else { - set result "fail"; - } - } - default { - set result "fail"; - } - } - $result $testname; - return $result; -} - -gdb_verify_tracepoints "10.x: verify trace setup"; - -# 10.1 Save current tracepoint definitions to a file - -remote_file host delete savetrace.tr -gdb_test "save-tracepoints savetrace.tr" \ - "Tracepoints saved to file 'savetrace.tr'." \ - "10.1: save tracepoint definitions" - -# 10.2 Read back tracepoint definitions - -gdb_delete_tracepoints -gdb_test "info tracepoints" "No tracepoints." "10.2: delete tracepoints" -gdb_test "source savetrace.tr" \ - "Tracepoint \[0-9\]+ at .*" \ - "10.2: read back saved tracepoints" -gdb_verify_tracepoints "10.2: verify recovered tracepoints"; -remote_file host delete savetrace.tr - -# 10.3 repeat with a path to the file - -remote_file host delete $objdir/savetrace.tr -gdb_test "save-tracepoints $objdir/savetrace.tr" \ - "Tracepoints saved to file '$objdir/savetrace.tr'." \ - "10.3: save tracepoint definitions, full path" - -gdb_delete_tracepoints -gdb_test "info tracepoints" "No tracepoints." "10.3: delete tracepoints" -gdb_test "source $objdir/savetrace.tr" \ - "Tracepoint \[0-9\]+ at .*" \ - "10.4: read saved tracepoints, full path" -gdb_verify_tracepoints "10.3: verify recovered tracepoints, full path"; -remote_file host delete $objdir/savetrace.tr - -# 10.5 invalid filename -# [deferred -- not sure what a good invalid filename would be] - -# 10.6 save-trace (file already exists) -# [expect it to clobber the old one] - -# 10.7 help save-tracepoints - -gdb_test "help save-tracepoints" \ - "Save current tracepoint definitions as a script.*" \ - "10.7: help save-tracepoints" diff --git a/gdb/testsuite/gdb.trace/tfind.exp b/gdb/testsuite/gdb.trace/tfind.exp deleted file mode 100644 index 5d70951b06b..00000000000 --- a/gdb/testsuite/gdb.trace/tfind.exp +++ /dev/null @@ -1,405 +0,0 @@ -# Copyright (C) 1998 Free Software Foundation, Inc. -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - -# Please email any bugs, comments, and/or additions to this file to: -# bug-gdb@prep.ai.mit.edu - -# This file was written by Michael Snyder (msnyder@cygnus.com) - -load_lib "trace-support.exp"; - -if $tracelevel then { - strace $tracelevel -} - -set prms_id 0 -set bug_id 0 - -gdb_exit -gdb_start - -if [istarget "m68k-*-elf"] then { - load_lib "emc-support.exp"; - set srcfile gdb_c_test.c - set binfile [board_info target d490_binfile]; - gdb_test "set remotetimeout 6" "" "" - set timeout 500 - gdb_target_monitor $binfile - # Give a TSTOP and ignore errors, to make sure any previous trace is off - gdb_test "tstop" "" "" - gdb_test "tfind none" "" "" - send_gdb "compare-sections CS\n" - gdb_expect { - -re "MIS-MATCHED.*$gdb_prompt $" { - gdb_suppress_entire_file "Symbol file does not match target! - all tests in this module will fail."; - } - -re ".*$gdb_prompt $" { } - } -} else { - set testfile "actions" - set srcfile ${testfile}.c - set binfile $objdir/$subdir/$testfile - if { [gdb_compile "$srcdir/$subdir/$srcfile" "$binfile -O1" \ - executable {debug additional_flags="-gdwarf"}] != "" } { - gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail." - } - gdb_load $binfile - gdb_test "tstop" "" "" - gdb_test "tfind none" "" "" - runto_main -} -gdb_reinitialize_dir $srcdir/$subdir - -# We generously give ourselves one "pass" if we successfully -# detect that this test cannot be run on this target! -if { ![gdb_target_supports_trace] } then { - pass "Current target does not supporst trace" - return 1; - -} - -# If testing on a remote host, download the source file. -remote_download host $srcdir/$subdir/$srcfile - -# define relative source line numbers: -# all subsequent line numbers are relative to this first one (baseline) -set baseline [gdb_find_recursion_test_baseline $srcfile]; -if { $baseline == -1 } then { - fail "Could not find gdb_recursion_test function" - return; -} - -set testline1 [expr $baseline + 1] -set testline2 [expr $baseline + 5] -set testline3 [expr $baseline + 6] -set testline4 [expr $baseline + 7] -set testline5 [expr $baseline + 8] - -# -# test tfind command -# - -gdb_delete_tracepoints -set tdp1 [gdb_gettpnum "\*gdb_recursion_test"] -set tdp2 [gdb_gettpnum $testline2] -set tdp3 [gdb_gettpnum $testline3] -set tdp4 [gdb_gettpnum $testline4] -set tdp5 [gdb_gettpnum $testline5] -if { $tdp1 <= 0 || $tdp2 <= 0 || $tdp3 <= 0 || \ - $tdp4 <= 0 || $tdp5 <= 0 } then { - fail "setting tracepoints" - return; -} - -# 6.1 test tstart command -send_gdb "tstart\n" -gdb_expect { - -re "Trace can only be run on remote targets.*$gdb_prompt $" { - fail "6.1: tstart (not connected to remote?)" - return; - } - -re "Target does not support this command.*$gdb_prompt $" { - fail "6.1: tstart (connected to wrong target?)" - return; - } - -re "Target returns error code.*$gdb_prompt $" { - fail "6.1: tstart (connected to wrong target?)" - return; - } - -re "$gdb_prompt $" { - pass "6.1: tstart" - } - default { - fail "6.1: tstart (default)" - return; - } -} - -# test tstatus (when trace on) -gdb_test "tstatus" "\[Tt\]race is running.*" "test tstatus on" - -# 6.2 test help tstart -gdb_test "help tstart" "Start trace data collection." "6.2: help tstart" - -if [istarget "m68k-*-elf"] then { - gdb_emclaptop_command "85,1,2,3,4,5,6" - sleep 5 - - gdb_emclaptop_command "85,7,8,9,A,B,C" - sleep 5 -} else { - gdb_test "break end" "" "" - gdb_test "continue" \ - "Continuing.*Breakpoint $decimal, end.*" \ - "run trace experiment" -} - -# 7.1 test tstop command -send_gdb "tstop\n" -gdb_expect { - -re "Trace can only be run on remote targets.*$gdb_prompt $" { - fail "7.1: tstop (not connected to remote?)" - return; - } - -re "Target does not support this command.*$gdb_prompt $" { - fail "7.1: tstop (connected to wrong target?)" - return; - } - -re "Target returns error code.*$gdb_prompt $" { - fail "7.1: tstop (connected to wrong target?)" - return; - } - -re "$gdb_prompt $" { - pass "7.1: tstop" - } - default { - fail "7.1: tstop (default)" - return; - } -} - -# 7.2 test help tstop -gdb_test "help tstop" "Stop trace data collection." "7.2: help tstop" - -# test tstatus (when trace off) -gdb_test "tstatus" "\[Tt\]race.* not running.*" "test tstatus off" - -## record starting PC -set save_pc [gdb_readexpr "(unsigned long) \$pc"]; -if { $save_pc == -1 } then { - fail "could not read PC" - return; -} - -# 8.7 tfind start -## check $trace_frame == 0 -gdb_tfind_test "8.7: tfind start command" "start" "0"; -## check $pc != startPC -gdb_test "printf \"x \%d x\\n\", \$pc != $save_pc" \ - "x 1 x" \ - "8.7b: tfind start" - -# 8.8 tfind none -## check $trace_frame == -1 -gdb_tfind_test "8.8: tfind none" "none" "-1"; -## check $pc == startPC -gdb_test "printf \"x \%d x\\n\", \$pc == $save_pc" \ - "x 1 x" \ - "8.8b: tfind none (restores non-trace PC)" - -# 8.9 tfind end -## check $trace_frame == -1 -gdb_tfind_test "8.9: tfind end, selects no frame" "end" "-1"; -## check $pc == startPC -gdb_test "printf \"x \%d x\\n\", \$pc == $save_pc" \ - "x 1 x" \ - "8.9b: tfind end (restores non-tracing PC)" - -# 8.1 tfind n -## check $trace_frame == n -gdb_tfind_test "8.1: tfind 1" "1" "1" -## check $trace_line corresponds to tracepoint for frame n -gdb_test "print \$trace_line" "$testline2" "8.1b: tfind 1 (correct line)" - -# 8.28 tfind invalid n (big number) -## check "not found" error -## check $trace_frame != n -gdb_test "tfind 32767" \ - "failed to find.*" \ - "8.28: tfind <n> command rejects invalid frame number" - -gdb_test "printf \"x \%d x\\n\", \$trace_frame == 32767" \ - "x 0 x" \ - "8.28: tfind <n> rejected bad input (32767)" - -# 8.31 tfind negative n -## check error -gdb_test "tfind -3" "invalid input.*" "8.31: tfind <n> rejects negative input" -## check $trace_frame != -n -gdb_test "printf \"x \%d x\\n\", \$trace_frame == -3" "x 0 x" \ - "8.31: tfind <n> rejected negative input (-3)" - -# 8.10 tfind <no arg> -## check $trace_frame += 1 - -gdb_tfind_test "8.10: tfind start" "start" "0"; -gdb_test "print \$trace_line" "$baseline" \ - "8.10: tfind 0 (correct line $baseline)" -gdb_tfind_test "8.10: tfind noargument 1" "" "1"; -gdb_test "print \$trace_line" "$testline2" \ - "8.10: tfind 1 (correct line $testline2)" -gdb_tfind_test "8.10: tfind noargument 2" "" "2"; -gdb_test "print \$trace_line" "$testline3" \ - "8.10: tfind 2 (correct line $testline3)" -gdb_tfind_test "8.10: tfind noargument 3" "" "3"; -gdb_test "print \$trace_line" "$testline4" \ - "8.10: tfind 3 (correct line $testline4)" - -gdb_tfind_test "8.11: tfind 3" "3" "3"; -gdb_test "print \$trace_line" "$testline4" \ - "8.11: tfind 3 (correct line $testline4)" -gdb_tfind_test "8.11: tfind backward 2" "-" "2"; -gdb_test "print \$trace_line" "$testline3" \ - "8.11: tfind 2 (correct line $testline3)" -gdb_tfind_test "8.11: tfind backward 1" "-" "1"; -gdb_test "print \$trace_line" "$testline2" \ - "8.11: tfind 1 (correct line $testline2)" -gdb_tfind_test "8.11: tfind backward 0" "-" "0"; -gdb_test "print \$trace_line" "$baseline" \ - "8.11: tfind 0 (correct line $baseline)" - -gdb_tfind_test "8.12: tfind none" "none" "-1"; -gdb_tfind_test "8.12: tfind tracepoint <n>" "tracepoint $tdp2" \ - "\$tracepoint" "$tdp2"; -gdb_test "print \$trace_line" "$testline2" \ - "8.12: tfind tracepoint <n> (line $testline2)" - -gdb_tfind_test "8.25: tfind none" "none" "-1"; -gdb_test "tfind tracepoint 0" "failed to find.*" \ - "8.25: tfind tracepoint rejects zero" -gdb_test "tfind tracepoint 32767" "failed to find.*" \ - "8.25: tfind tracepoint rejects nonexistant tracepoint (32767)" -gdb_test "tfind tracepoint -1" "failed to find.*" \ - "8.25: tfind tracepoint rejects nonexistant tracepoint (-1)" - -# 8.37 tfind tracepoint n where n no longer exists (but used to) -gdb_test "delete trace $tdp2" "" "" -gdb_tfind_test "8.37: tfind none" "none" "-1"; -gdb_tfind_test "8.37: tfind deleted tracepoint" \ - "tracepoint $tdp2" \ - "\$tracepoint" "$tdp2"; -gdb_test "print \$trace_line" "$testline2" \ - "8.37: tfind deleted tracepoint (line $testline2)" - -# 8.13 tfind tracepoint <no arg> -## check $tracepoint same before and after, $trace_frame changed - -gdb_tfind_test "8.13: tfind none" "none" "-1"; -gdb_tfind_test "8.13: tracepoint $tdp1" "tracepoint $tdp1" \ - "\$tracepoint" "$tdp1"; -gdb_test "print \$trace_line" "$baseline" \ - "8.13: tfind tracepoint $tdp1 (line $baseline)" -gdb_test "set \$save_frame = \$trace_frame" "" "" -gdb_tfind_test "8.13: tracepoint <no arg>" "tracepoint" \ - "\$tracepoint" "$tdp1"; -gdb_test "printf \"x \%d x\\n\", \$trace_frame == \$save_frame" \ - "x 0 x" \ - "8.13: tracepoint <no arg>, tracepoint number unchanged"] - -# 1.12 set tracepoint in prologue -# -# tdp1 was set at *gdb_recursion_test (ie. the hard address of the -# function, before the prologue). Test to see that it succeeded. -# Current pc should be equal to the address of the function. - -gdb_test "printf \"x \%d x\\n\", \$pc == gdb_recursion_test" \ - "x 1 x" \ - "1.12: set tracepoint in prologue" - -# 8.14 tfind pc x -## check pc == x, $trace_frame != -1 -gdb_tfind_test "8.14: tfind 3" "3" "3" -gdb_test "print \$trace_line" "$testline4" \ - "8.14: tfind 3 (line $testline4)" - -gdb_test "set \$test_pc = \$pc" "" "" -gdb_tfind_test "8.14: tfind none" "none" "-1" -gdb_tfind_test "8.14: tfind pc" "pc \$test_pc" "\$trace_frame != -1" "1"; -gdb_test "print \$trace_line" "$testline4" \ - "8.14: tfind pc x (line $testline4)" -gdb_test "printf \"x \%d x\\n\", \$pc == \$test_pc" \ - "x 1 x" \ - "8.14: tfind pc x" - -# 8.15 tfind pc <no arg> -## check pc same before and after, $trace_frame changed -gdb_tfind_test "8.15: tfind 3" "3" "3" -gdb_test "print \$trace_line" "$testline4" \ - "8.15: tfind 3 (line $testline4)" -gdb_test "set \$test_pc = \$pc" "" "" -gdb_tfind_test "8.15: tfind pc" "pc" "\$pc == \$test_pc" "1" -gdb_test "print \$trace_line" "$testline4" \ - "8.15: tfind pc (line $testline4)" -gdb_test "printf \"x \%d x\\n\", \$trace_frame != 3" "x 1 x" \ - "8.15: trace frame didn't change" - -# 8.26 tfind pc invalid x -## check error, pc != x (trace_frame unchanged?) -gdb_tfind_test "8.26: tfind start" "start" "0" -gdb_test "tfind pc 0" "failed to find.*" "8.26: tfind pc zero" -gdb_test "tfind pc -1" "failed to find.*" "8.26: tfind pc -1" - -# 8.16 tfind line n -## check #trace_frame != -1, $trace_line == n -gdb_tfind_test "8.16: tfind none" "none" "-1" -gdb_tfind_test "8.16: tfind line $testline3" \ - "line $testline3" \ - "\$trace_line == $testline3" "1" - -# 8.17 tfind line <no arg> (# 8.19, 8.20) -## check $trace_line changed, no error, pc changed, frame changed, tdp changed -gdb_tfind_test "8.17: tfind none" "none" "-1" -gdb_tfind_test "8.17: tfind line $testline3" "line $testline3" "\$trace_line == $testline3" "1" -gdb_tfind_test "8.17: tfind line <no arg>" "line" "\$trace_line != $testline3" "1" - -# 8.36 tfind and disassembly -gdb_tfind_test "8.36: tfind start" "start" "0" -set timeout 60 -send_gdb "disassemble gdb_c_test\n" -# look for disassembly of function label -gdb_expect { - -re "<gdb_c_test>:.*$gdb_prompt $" { pass "8.36: trace disassembly" } - -re ".*$gdb_prompt $" { fail "8.36: trace disassembly" } - timeout { fail "8.36: trace disassembly (timeout)" } -} - -gdb_test "tfind line 0" \ - "out of range.*|failed to find.*" \ - "8.18: tfind line 0"; -gdb_test "tfind line 32767" \ - "out of range.*|failed to find.*" \ - "8.27: tfind line 32767"; -gdb_test "tfind line NoSuChFiLe.c:$baseline" \ - "No source file named.*" \ - "8.27: tfind line in bad source file"; - -# 8.32 tfind invalid subcommand (tfind foo) -## check error -gdb_test "tfind NoSuChOpTiOn 21" \ - "No symbol.*|\[Ww\]arning.*|\[Ee\]rror.*" \ - "8.32: tfind with bad subcommand" - -# 8.38 test help tfind -gdb_test "help tfind" "Select a trace frame.*" \ - "8.38: help tfind" -gdb_test "help tfind pc" "Select a trace frame by PC.*" \ - "8.38: help tfind PC" -gdb_test "help tfind end" "Synonym for 'none'.*" \ - "8.38: help tfind end" -gdb_test "help tfind none" "De-select any trace frame.*" \ - "8.38: help tfind none" -gdb_test "help tfind line" "Select a trace frame by source line.*" \ - "8.38: help tfind line" -gdb_test "help tfind start" "Select the first trace frame.*" \ - "8.38: help tfind start" -gdb_test "help tfind range" "Select a trace frame whose PC is in.*" \ - "8.38: help tfind range" -gdb_test "help tfind trace" "Select a trace frame by tracepoint number.*" \ - "8.38: help tfind tracepoint" - -# Finished! -gdb_tfind_test "8.17: tfind none" "none" "-1" diff --git a/gdb/testsuite/gdb.trace/tracecmd.exp b/gdb/testsuite/gdb.trace/tracecmd.exp deleted file mode 100644 index 2276195ff3c..00000000000 --- a/gdb/testsuite/gdb.trace/tracecmd.exp +++ /dev/null @@ -1,269 +0,0 @@ -# Copyright (C) 1998 Free Software Foundation, Inc. -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - -# Please email any bugs, comments, and/or additions to this file to: -# bug-gdb@prep.ai.mit.edu - -# This file was written by Michael Snyder (msnyder@cygnus.com) - -load_lib "trace-support.exp"; - -if $tracelevel then { - strace $tracelevel -} - -set prms_id 0 -set bug_id 0 - -gdb_exit -gdb_start -if [istarget "m68k-*-elf"] then { - set srcfile gdb_c_test.c - set binfile [board_info target d490_binfile]; -} else { - set testfile "actions" - set srcfile ${testfile}.c - set binfile $objdir/$subdir/$testfile - if { [gdb_compile "$srcdir/$subdir/$srcfile" $binfile \ - executable {debug additional_flags="-gdwarf"}] != "" } { - gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail." - } -} -gdb_reinitialize_dir $srcdir/$subdir - -# If testing on a remote host, download the source file. -remote_download host $srcdir/$subdir/$srcfile - -gdb_file_cmd $binfile - -# define relative source line numbers: -# all subsequent line numbers are relative to this first one (baseline) -set baseline [gdb_find_recursion_test_baseline $srcfile]; -if { $baseline == -1 } then { - fail "Could not find gdb_recursion_test function" - return; -} - -set testline1 [expr $baseline + 1] -set testline2 [expr $baseline + 3] - -# -# test "help tracepoints" -# - -set helpcnt 0; -send_gdb "help tracepoints\n" -gdb_expect { - -re "Tracing of program execution without stopping the program." { - incr helpcnt; - exp_continue - } - -re "actions -- Specify the actions to be taken at a tracepoint" { - incr helpcnt; - exp_continue - } - -re "collect -- Specify one or more data items to be collected" { - incr helpcnt; - exp_continue - } - -re "delete tracepoints -- Delete specified tracepoints" { - incr helpcnt; - exp_continue - } - -re "end -- Ends a list of.*actions" { - incr helpcnt; - exp_continue - } - -re "info tracepoints -- Status of tracepoints" { - incr helpcnt; - exp_continue - } - -re "passcount -- Set the passcount for a tracepoint" { - incr helpcnt; - exp_continue - } - -re "save-tracepoints -- Save current tracepoint definitions" { - incr helpcnt; - exp_continue - } - -re "tdump -- Print everything collected at the current tracepoint" { - incr helpcnt; - exp_continue - } - -re "tfind -- Select a trace frame" { - incr helpcnt; - exp_continue - } - -re "tfind end -- Synonym for 'none'" { - incr helpcnt; - exp_continue - } - -re "tfind line -- Select a trace frame by line number" { - incr helpcnt; - exp_continue - } - -re "tfind none -- De-select any trace frame and resume 'live' debugging" { - incr helpcnt; - exp_continue - } - -re "tfind outside -- Select a trace frame whose PC is outside" { - incr helpcnt; - exp_continue - } - -re "tfind pc -- Select a trace frame by PC" { - incr helpcnt; - exp_continue - } - -re "tfind range -- Select a trace frame whose PC is in the given" { - incr helpcnt; - exp_continue - } - -re "tfind start -- Select the first trace frame in the trace buffer" { - incr helpcnt; - exp_continue - } - -re "tfind tracepoint -- Select a trace frame by tracepoint number" { - incr helpcnt; - exp_continue - } - -re "trace -- Set a tracepoint at a specified line or function or addr" { - incr helpcnt; - exp_continue - } - -re "tstart -- Start trace data collection" { - incr helpcnt; - exp_continue - } - -re "tstatus -- Display the status of the current trace data collection" { - incr helpcnt; - exp_continue - } - -re "tstop -- Stop trace data collection" { - incr helpcnt; - exp_continue - } - -re "while-stepping -- Specify single-stepping behavior at a tracepoint" { - incr helpcnt; - exp_continue - } - -re ".*$gdb_prompt $" { - if { $helpcnt == 21 } { - pass "1.0: help tracepoints" - } else { - warning "$helpcnt"; - fail "1.0: help tracepoints" - } - } -} - -# -# test trace command: -# - -# 1.1 trace source line -gdb_delete_tracepoints -gdb_test "trace $srcfile:$testline2" \ - "Tracepoint $decimal at $hex: file.*$srcfile, line $testline2." \ - "1.1a: set tracepoint at sourceline" -gdb_test "info trace" "in gdb_recursion_test.*$srcfile:$testline2" \ - "1.1b: trace sourcefile:line" - -# 1.2 trace invalid source line -gdb_delete_tracepoints -gdb_test "trace $srcfile:99999" "No line 99999 in file \".*$srcfile\"." \ - "1.2a: trace invalid line in sourcefile" -gdb_test "info trace" "No tracepoints.*" \ - "1.2b: reject invalid line in srcfile" - -# 1.3 trace line in invalid source file -gdb_delete_tracepoints -gdb_test "trace NoSuChFiLe.c:1" "No source file named NoSuChFiLe.c." \ - "1.3a: trace invalid source file" -gdb_test "info trace" "No tracepoints.*" \ - "1.3b: reject invalid srcfile" - -# 1.4 trace function by name -gdb_delete_tracepoints -gdb_test "trace gdb_recursion_test" \ - "Tracepoint $decimal at $hex: file.*$srcfile, line $testline1." \ - "1.4a: trace function by name" -gdb_test "info trace" "in gdb_recursion_test.*$srcfile:$testline1" \ - "1.4b: trace function by name" - -# 1.5 trace non-existant function -gdb_delete_tracepoints -gdb_test "trace NoSuChFuNc" "Function \"NoSuChFuNc\" not defined." \ - "1.5a: trace invalid function" -gdb_test "info trace" "No tracepoints.*" \ - "1.5b: reject invalid srcfile" - -# 1.6 trace at a specific address -# Collect the address of "gdb_asm_test", and use that. -send_gdb "print gdb_asm_test\n" -gdb_expect { - -re "\[$\]\[0-9\].*0x(\[0-9a-fA-F\]+).*$gdb_prompt $" { - set asm_test_addr $expect_out(1,string) - } - timeout { } -} - -gdb_delete_tracepoints -gdb_test "trace \*0x$asm_test_addr" \ - "Tracepoint $decimal at .*$asm_test_addr.*" \ - "1.6a: trace at specific address" -gdb_test "info trace" "$asm_test_addr.*gdb_asm_test.*" \ - "1.6b: verify trace at specific address" - -# 1.7 trace at function's exact address -# Collect the address of the function for comparison -send_gdb "print gdb_recursion_test\n" -gdb_expect { - -re "\[$\]\[0-9\].*0x(\[0-9a-fA-F\]+).*$gdb_prompt $" { - set c_test_addr $expect_out(1,string) - } - timeout { } -} - -gdb_delete_tracepoints -gdb_test "trace \*gdb_recursion_test" \ - "Tracepoint $decimal at .*$c_test_addr.*" \ - "1.7a: trace at function label (before prologue)" -gdb_test "info trace" "$c_test_addr.*in gdb_recursion_test.*:$baseline" \ - "1.7b: verify trace at specific address" - -# 1.8 trace at invalid address -# no address is invalid - -# 1.9 trace no arguments -gdb_test "trace" "trace command requires an argument" \ - "1.9: trace <no arguments>" - -# 1.10 set large number of tracepoints -# deferred to limits test module - -# 1.11 tracepoint conditions -# conditions on tracepoints not implemented - -# 1.12 set tracepoint in prologue -# [see tfind.exp] - -# 1.13 trace on recursion -# interesting only in "live" session: see backtrace.exp for live test. - -# 1.14 help trace -gdb_test "help trace" "Set a tracepoint at .*" "1.14: help trace" - - diff --git a/gdb/testsuite/gdb.trace/while-dyn.exp b/gdb/testsuite/gdb.trace/while-dyn.exp deleted file mode 100644 index 1ad5f4940cd..00000000000 --- a/gdb/testsuite/gdb.trace/while-dyn.exp +++ /dev/null @@ -1,124 +0,0 @@ -# Copyright (C) 1998 Free Software Foundation, Inc. -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - -# Please email any bugs, comments, and/or additions to this file to: -# bug-gdb@prep.ai.mit.edu - -# This file was written by Michael Snyder (msnyder@cygnus.com) - -load_lib "trace-support.exp" - -if $tracelevel then { - strace $tracelevel -} - -set prms_id 0 -set bug_id 0 - -gdb_exit -gdb_start - -if [istarget "m68k-*-elf"] then { - load_lib "emc-support.exp" - set testfile "gdb_c_test" - set srcfile $testfile.c - set binfile [board_info target d490_binfile]; - gdb_test "set remotetimeout 6" "" "" - set timeout 500 - gdb_target_monitor "$binfile" - # Give a TSTOP and ignore errors, to make sure any previous trace is off - gdb_test "tstop" "" "" - gdb_test "tfind none" "" "" - send_gdb "compare-section CS\n" - gdb_expect { - -re "MIS-MATCHED.*$gdb_prompt $" { - gdb_suppress_entire_file "Symbol file does not match target! - all tests in this module will fail."; - } - -re ".*$gdb_prompt $" { } - } -} else { - set testfile "actions" - set srcfile $testfile.c - set binfile $objdir/$subdir/$testfile - if { [gdb_compile "$srcdir/$subdir/$srcfile" $binfile \ - executable {debug additional_flags="-gdwarf"}] != "" } { - gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail." - } - gdb_load $binfile - gdb_test "tstop" "" "" - gdb_test "tfind none" "" "" - runto_main -} -gdb_reinitialize_dir $srcdir/$subdir - -# We generously give ourselves one "pass" if we successfully -# detect that this test cannot be run on this target! -if { ![gdb_target_supports_trace] } then { - pass "Current target does not supporst trace" - return 1; - -} - -# If testing on a remote host, download the source file. -remote_download host $srcdir/$subdir/$srcfile - -# -# test while-stepping dynamically (live target) -# - -## verify number of trace frames collected matches stepcount - -gdb_delete_tracepoints -gdb_test "trace gdb_c_test" \ - "Tracepoint $decimal at .*" \ - "Set tracepoint at gdb_c_test" - -gdb_trace_setactions "5.12: define while-stepping <stepcount>" \ - "" \ - "collect \$fp" "^$" \ - "while-stepping 5" "^$" \ - "collect p" "^$" \ - "end" "^$" \ - "end" "" - -gdb_test "tstart" "" "" - -if [istarget "m68k-*-elf"] then { - gdb_emclaptop_command "85,1,2,3,4,5,6" - sleep 5 -} else { - gdb_test "break end" "" "" - gdb_test "continue" \ - "Continuing.*Breakpoint $decimal, end.*" \ - "run trace experiment" -} - -gdb_test "tstop" "" "" - -gdb_tfind_test "5.12: frame 5 should be the last one collected" "5" "5" - -send_gdb "tfind 6\n" -gdb_expect { - -re "failed to find.*$gdb_prompt $" { - pass "5.12: trace stopped after 5 stepping frames" - } - -re ".*$gdb_prompt $" { - fail "5.12: trace stopped after 5 stepping frames" - } -} - -gdb_test "tfind none" "" "" diff --git a/gdb/testsuite/gdb.trace/while-stepping.exp b/gdb/testsuite/gdb.trace/while-stepping.exp deleted file mode 100644 index 6b860c09cd3..00000000000 --- a/gdb/testsuite/gdb.trace/while-stepping.exp +++ /dev/null @@ -1,116 +0,0 @@ -# Copyright (C) 1998 Free Software Foundation, Inc. -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - -# Please email any bugs, comments, and/or additions to this file to: -# bug-gdb@prep.ai.mit.edu - -# This file was written by Michael Snyder (msnyder@cygnus.com) - -load_lib "trace-support.exp"; - -if $tracelevel then { - strace $tracelevel -} - -set prms_id 0 -set bug_id 0 - -gdb_exit -gdb_start - -if [istarget "m68k-*-elf"] then { - set srcfile gdb_c_test.c - set binfile [board_info target d490_binfile]; -} else { - set testfile "actions" - set srcfile ${testfile}.c - set binfile ${objdir}/${subdir}/${testfile} - if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" $binfile \ - executable {debug additional_flags="-gdwarf"}] != "" } { - gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail." - } -} -gdb_reinitialize_dir $srcdir/$subdir - -# If testing on a remote host, download the source file. -remote_download host $srcdir/$subdir/$srcfile - -gdb_file_cmd $binfile - -# -# test while-stepping command -# - -gdb_delete_tracepoints -set trcpt1 [gdb_gettpnum gdb_c_test] -if { $trcpt1 <= 0 } then { - fail "Could not find gdb_c_test function" - return; -} - -# 5.12 basic while-stepping command (collect regs) - -gdb_test "info tracepoints" \ - "Num Enb Address PassC StepC What.*$trcpt1.*0x.*\[\t \]+\[0-9\]+\[\t \]+0\[\t \]+.*in gdb_c_test.*" \ - "5.12: set a tracepoint, stepcount is zero" - -set stepcount 12 - -gdb_trace_setactions "5.12: set stepcount to $stepcount" \ - "" \ - "while-stepping $stepcount" "" \ - "collect \$regs" "^$" \ - "end" "" - -gdb_test "info tracepoints" \ - "Num Enb Address PassC StepC What.*$trcpt1.*0x.*\[\t \]+\[0-9\]+\[\t \]+$stepcount\[\t \]+.*in gdb_c_test.*" \ - "5.12: confirm stepcount set to $stepcount" - -gdb_test "info tracepoints" \ - "Num Enb Address PassC StepC What.* -.*while-stepping $stepcount.*" \ - "5.12: info trace shows \"while-stepping\"" - - -# 5.13 step out of context while collecting local variable -# [deferred to dynamic test section] - -proc while_stepping_bogus_arg { bogus msgstring } { - global gdb_prompt; - - gdb_trace_setactions "$msgstring" \ - "" \ - "while-stepping $bogus" "\[Ee\]rror|\[Ww\]arning" -} - -# 5.14 while-stepping (no argument) - -while_stepping_bogus_arg "" "5.14: while-stepping null stepcount" - -# 5.15 while-stepping (zero stepcount) - -while_stepping_bogus_arg "0" "5.15: while-stepping rejects zero stepcount" - -# 5.16 while-stepping without collecting anything -gdb_trace_setactions "5.16: step without collecting anything" \ - "" \ - "while-stepping $stepcount" "^$" \ - "end" "" - -gdb_test "info tracepoints" \ - ".*$trcpt1.*0x.*\[\t \]+\[0-9\]+\[\t \]+$stepcount\[\t \]+.*in gdb_c_test.*\[ \t\]+Actions for tracepoint $trcpt1:.*\[ \t\]+while-stepping $stepcount.*\[ \t\]+end.*\[ \t\]+end.*" \ - "5.16: confirm actions, step without collecting anything" - diff --git a/gdb/testsuite/lib/.Sanitize b/gdb/testsuite/lib/.Sanitize deleted file mode 100644 index 1374cf07d49..00000000000 --- a/gdb/testsuite/lib/.Sanitize +++ /dev/null @@ -1,69 +0,0 @@ -# .Sanitize for deja-gnu. - -# Each directory to survive it's way into a release will need a file -# like this one called "./.Sanitize". All keyword lines must exist, -# and must exist in the order specified by this file. Each directory -# in the tree will be processed, top down, in the following order. - -# Hash started lines like this one are comments and will be deleted -# before anything else is done. Blank lines will also be squashed -# out. - -# The lines between the "Do-first:" line and the "Things-to-keep:" -# line are executed as a /bin/sh shell script before anything else is -# done in this directory. - -Do-first: - -# All files listed between the "Things-to-keep:" line and the -# "Do-last:" line will be kept. All other files will be removed. -# Directories listed in this section will have their own Sanitize -# called. Directories not listed will be removed in their entirety -# with rm -rf. - -Things-to-keep: - -emc-support.exp -gdb.exp -trace-support.exp - -Things-to-lose: - - -# The lines between the "Do-last:" line and the end of the file -# are executed as a /bin/sh shell script after everything else is -# done. - -Do-last: - -if ( echo $* | grep lose\-gdbtk > /dev/null ) ; then - echo Catering to RMS by removing traces of \"gdbtk\"... - for i in * ; do - if test ! -d $i && (grep sanitize-gdbtk $i > /dev/null) ; then - echo Removing traces of \"gdbtk\" out of $i... - cp $i new - sed '/start\-sanitize\-gdbtk/,/end-\sanitize\-gdbtk/d' < $i > new - if [ -n "${safe}" -a ! -f .Recover/$i ] ; then - echo Caching $i in .Recover... - mv $i .Recover - fi - mv new $i - fi - done -else - echo Leaving \"gdbtk\" in the sources... - for i in * ; do - if test ! -d $i && (grep sanitize-gdbtk $i > /dev/null) ; then - echo Keeping \"gdbtk\" stuff in $i, but editing out sanitize lines... - cp $i new - sed -e '/start\-sanitize\-gdbtk/d' -e '/end\-sanitize\-gdbtk/d' < $i > new - if [ -n "${safe}" -a ! -f .Recover/$i ] ; then - echo Caching $i in .Recover... - mv $i .Recover - fi - mv new $i - fi - done -fi - -# eof diff --git a/gdb/testsuite/lib/gdb.exp b/gdb/testsuite/lib/gdb.exp deleted file mode 100644 index b2f3ba9adb6..00000000000 --- a/gdb/testsuite/lib/gdb.exp +++ /dev/null @@ -1,1373 +0,0 @@ -# Copyright (C) 1992, 1994, 1995, 1997 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - -# Please email any bugs, comments, and/or additions to this file to: -# bug-gdb@prep.ai.mit.edu - -# This file was written by Fred Fish. (fnf@cygnus.com) - -# Generic gdb subroutines that should work for any target. If these -# need to be modified for any target, it can be done with a variable -# or by passing arguments. - -load_lib libgloss.exp - -global GDB -global CHILL_LIB -global CHILL_RT0 - -if ![info exists CHILL_LIB] { - set CHILL_LIB [findfile $base_dir/../../gcc/ch/runtime/libchill.a "$base_dir/../../gcc/ch/runtime/libchill.a" [transform -lchill]] -} -verbose "using CHILL_LIB = $CHILL_LIB" 2 -if ![info exists CHILL_RT0] { - set CHILL_RT0 [findfile $base_dir/../../gcc/ch/runtime/chillrt0.o "$base_dir/../../gcc/ch/runtime/chillrt0.o" ""] -} -verbose "using CHILL_RT0 = $CHILL_RT0" 2 - -if [info exists TOOL_EXECUTABLE] { - set GDB $TOOL_EXECUTABLE; -} -if ![info exists GDB] { - if ![is_remote host] { - set GDB [findfile $base_dir/../../gdb/gdb "$base_dir/../../gdb/gdb" [transform gdb]] - } else { - set GDB [transform gdb]; - } -} -verbose "using GDB = $GDB" 2 - -global GDBFLAGS -if ![info exists GDBFLAGS] { - set GDBFLAGS "-nx" -} -verbose "using GDBFLAGS = $GDBFLAGS" 2 - -# The variable prompt is a regexp which matches the gdb prompt. Set it if it -# is not already set. -global gdb_prompt -if ![info exists prompt] then { - set gdb_prompt "\[(\]gdb\[)\]" -} - -# -# gdb_version -- extract and print the version number of GDB -# -proc default_gdb_version {} { - global GDB - global GDBFLAGS - global gdb_prompt - set fileid [open "gdb_cmd" w]; - puts $fileid "q"; - close $fileid; - set cmdfile [remote_download host "gdb_cmd"]; - set output [remote_exec host "$GDB -nw --command $cmdfile"] - remote_file build delete "gdb_cmd"; - remote_file host delete "$cmdfile"; - set tmp [lindex $output 1]; - set version "" - regexp " \[0-9\]\[^ \t\n\r\]+" "$tmp" version - if ![is_remote host] { - clone_output "[which $GDB] version $version $GDBFLAGS\n" - } else { - clone_output "$GDB on remote host version $version $GDBFLAGS\n" - } -} - -proc gdb_version { } { - return [default_gdb_version]; -} - -# -# gdb_unload -- unload a file if one is loaded -# - -proc gdb_unload {} { - global verbose - global GDB - global gdb_prompt - send_gdb "file\n" - gdb_expect 60 { - -re "No executable file now\[^\r\n\]*\[\r\n\]" { exp_continue } - -re "No symbol file now\[^\r\n\]*\[\r\n\]" { exp_continue } - -re "A program is being debugged already..*Kill it.*y or n. $"\ - { send_gdb "y\n" - verbose "\t\tKilling previous program being debugged" - exp_continue - } - -re "Discard symbol table from .*y or n.*$" { - send_gdb "y\n" - exp_continue - } - -re "$gdb_prompt $" {} - timeout { - perror "couldn't unload file in $GDB (timed out)." - return -1 - } - } -} - -# Many of the tests depend on setting breakpoints at various places and -# running until that breakpoint is reached. At times, we want to start -# with a clean-slate with respect to breakpoints, so this utility proc -# lets us do this without duplicating this code everywhere. -# - -proc delete_breakpoints {} { - global gdb_prompt - - send_gdb "delete breakpoints\n" - gdb_expect 30 { - -re "Delete all breakpoints.*y or n.*$" { - send_gdb "y\n"; - exp_continue - } - -re "$gdb_prompt $" { # This happens if there were no breakpoints - } - timeout { perror "Delete all breakpoints in delete_breakpoints (timeout)" ; return } - } - send_gdb "info breakpoints\n" - gdb_expect 30 { - -re "No breakpoints or watchpoints..*$gdb_prompt $" {} - -re "$gdb_prompt $" { perror "breakpoints not deleted" ; return } - -re "Delete all breakpoints.*or n.*$" { - send_gdb "y\n"; - exp_continue - } - timeout { perror "info breakpoints (timeout)" ; return } - } -} - - -# -# Generic run command. -# -# The second pattern below matches up to the first newline *only*. -# Using ``.*$'' could swallow up output that we attempt to match -# elsewhere. -# -proc gdb_run_cmd {args} { - global gdb_prompt - - if [target_info exists gdb_init_command] { - send_gdb "[target_info gdb_init_command]\n"; - gdb_expect 30 { - -re "$gdb_prompt $" { } - default { - perror "gdb_init_command for target failed"; - return; - } - } - } - - if [target_info exists use_gdb_stub] { - if [target_info exists gdb,do_reload_on_run] { - # According to Stu, this will always work. - gdb_load ""; - send_gdb "continue\n"; - gdb_expect 60 { - -re "Continu\[^\r\n\]*\[\r\n\]" {} - default {} - } - return; - } - - if [target_info exists gdb,start_symbol] { - set start [target_info gdb,start_symbol]; - } else { - set start "start"; - } - send_gdb "jump *$start\n" - gdb_expect 30 { - -re "Continuing at \[^\r\n\]*\[\r\n\]" { - if ![target_info exists gdb_stub] { - return; - } - } - -re "No symbol \"start\" in current.*$gdb_prompt $" { - send_gdb "jump *_start\n"; - exp_continue; - } - -re "No symbol \"_start\" in current.*$gdb_prompt $" { - perror "Can't find start symbol to run in gdb_run"; - return; - } - -re "Line.* Jump anyway.*y or n. $" { - send_gdb "y\n" - exp_continue; - } - -re "No symbol.*context.*$gdb_prompt $" {} - -re "The program is not being run.*$gdb_prompt $" { - gdb_load ""; - send_gdb "jump *$start\n"; - exp_continue; - } - timeout { perror "Jump to start() failed (timeout)"; return } - } - if [target_info exists gdb_stub] { - gdb_expect 60 { - -re "$gdb_prompt $" { - send_gdb "continue\n" - } - } - } - return - } - send_gdb "run $args\n" -# This doesn't work quite right yet. - gdb_expect 60 { - -re "The program .* has been started already.*y or n. $" { - send_gdb "y\n" - exp_continue - } - -re "Starting program: \[^\r\n\]*" {} - } -} - -proc gdb_breakpoint { function } { - global gdb_prompt - global decimal - - send_gdb "break $function\n" - # The first two regexps are what we get with -g, the third is without -g. - gdb_expect 30 { - -re "Breakpoint \[0-9\]* at .*: file .*, line $decimal.\r\n$gdb_prompt $" {} - -re "Breakpoint \[0-9\]*: file .*, line $decimal.\r\n$gdb_prompt $" {} - -re "Breakpoint \[0-9\]* at .*$gdb_prompt $" {} - -re "$gdb_prompt $" { fail "setting breakpoint at $function" ; return 0 } - timeout { fail "setting breakpoint at $function (timeout)" ; return 0 } - } - return 1; -} - -# Set breakpoint at function and run gdb until it breaks there. -# Since this is the only breakpoint that will be set, if it stops -# at a breakpoint, we will assume it is the one we want. We can't -# just compare to "function" because it might be a fully qualified, -# single quoted C++ function specifier. - -proc runto { function } { - global gdb_prompt - global decimal - - delete_breakpoints - - if ![gdb_breakpoint $function] { - return 0; - } - - gdb_run_cmd - - # the "at foo.c:36" output we get with -g. - # the "in func" output we get without -g. - gdb_expect 30 { - -re "Break.* at .*:$decimal.*$gdb_prompt $" { - return 1 - } - -re "Breakpoint \[0-9\]*, \[0-9xa-f\]* in .*$gdb_prompt $" { - return 1 - } - -re "$gdb_prompt $" { - fail "running to $function in runto" - return 0 - } - timeout { - fail "running to $function in runto (timeout)" - return 0 - } - } - return 1 -} - -# -# runto_main -- ask gdb to run until we hit a breakpoint at main. -# The case where the target uses stubs has to be handled -# specially--if it uses stubs, assuming we hit -# breakpoint() and just step out of the function. -# -proc runto_main { } { - global gdb_prompt - global decimal - - if ![target_info exists gdb_stub] { - return [runto main] - } - - delete_breakpoints - - gdb_step_for_stub; - - return 1 -} - -# -# gdb_test -- send_gdb a command to gdb and test the result. -# Takes three parameters. -# Parameters: -# First one is the command to execute. If this is the null string -# then no command is sent. -# Second one is the pattern to match for a PASS, and must NOT include -# the \r\n sequence immediately before the gdb prompt. -# Third one is an optional message to be printed. If this -# a null string "", then the pass/fail messages use the command -# string as the message. -# Returns: -# 1 if the test failed, -# 0 if the test passes, -# -1 if there was an internal error. -# -proc gdb_test { args } { - global verbose - global gdb_prompt - global GDB - upvar timeout timeout - - if [llength $args]>2 then { - set message [lindex $args 2] - } else { - set message [lindex $args 0] - } - set command [lindex $args 0] - set pattern [lindex $args 1] - - if [llength $args]==5 { - set question_string [lindex $args 3]; - set response_string [lindex $args 4]; - } else { - set question_string "^FOOBAR$" - } - - if $verbose>2 then { - send_user "Sending \"$command\" to gdb\n" - send_user "Looking to match \"$pattern\"\n" - send_user "Message is \"$message\"\n" - } - - set result -1 - set string "${command}\n"; - if { $command != "" } { - while { "$string" != "" } { - set foo [string first "\n" "$string"]; - set len [string length "$string"]; - if { $foo < [expr $len - 1] } { - set str [string range "$string" 0 $foo]; - if { [send_gdb "$str"] != "" } { - global suppress_flag; - - if { ! $suppress_flag } { - perror "Couldn't send $command to GDB."; - } - fail "$message"; - return $result; - } - gdb_expect 2 { - -re "\[\r\n\]" { } - timeout { } - } - set string [string range "$string" [expr $foo + 1] end]; - } else { - break; - } - } - if { "$string" != "" } { - if { [send_gdb "$string"] != "" } { - global suppress_flag; - - if { ! $suppress_flag } { - perror "Couldn't send $command to GDB."; - } - fail "$message"; - return $result; - } - } - } - - if [info exists timeout] { - set tmt $timeout; - } else { - global timeout; - if [info exists timeout] { - set tmt $timeout; - } else { - set tmt 60; - } - } - gdb_expect $tmt { - -re "\\*\\*\\* DOSEXIT code.*" { - if { $message != "" } { - fail "$message"; - } - gdb_suppress_entire_file "GDB died"; - return -1; - } - -re "Ending remote debugging.*$gdb_prompt$" { - if ![isnative] then { - warning "Can`t communicate to remote target." - } - gdb_exit - gdb_start - set result -1 - } - -re "\[\r\n\]*($pattern)\[\r\n\]+$gdb_prompt $" { - if ![string match "" $message] then { - pass "$message" - } - set result 0 - } - -re "(${question_string})$" { - send_gdb "$response_string\n"; - exp_continue; - } - -re "Undefined command:.*$gdb_prompt" { - perror "Undefined command \"$command\"." - set result 1 - } - -re "Ambiguous command.*$gdb_prompt $" { - perror "\"$command\" is not a unique command name." - set result 1 - } - -re "Program exited with code \[0-9\]+.*$gdb_prompt $" { - if ![string match "" $message] then { - set errmsg "$message: the program exited" - } else { - set errmsg "$command: the program exited" - } - fail "$errmsg" - return -1 - } - -re "The program is not being run.*$gdb_prompt $" { - if ![string match "" $message] then { - set errmsg "$message: the program is no longer running" - } else { - set errmsg "$command: the program is no longer running" - } - fail "$errmsg" - return -1 - } - -re ".*$gdb_prompt $" { - if ![string match "" $message] then { - fail "$message" - } - set result 1 - } - "<return>" { - send_gdb "\n" - perror "Window too small." - } - -re "\\(y or n\\) " { - send_gdb "n\n" - perror "Got interactive prompt." - } - eof { - perror "Process no longer exists" - if { $message != "" } { - fail "$message" - } - return -1 - } - full_buffer { - perror "internal buffer is full." - } - timeout { - if ![string match "" $message] then { - fail "$message (timeout)" - } - set result 1 - } - } - return $result -} - -# Test that a command gives an error. For pass or fail, return -# a 1 to indicate that more tests can proceed. However a timeout -# is a serious error, generates a special fail message, and causes -# a 0 to be returned to indicate that more tests are likely to fail -# as well. - -proc test_print_reject { args } { - global gdb_prompt - global verbose - - if [llength $args]==2 then { - set expectthis [lindex $args 1] - } else { - set expectthis "should never match this bogus string" - } - set sendthis [lindex $args 0] - if $verbose>2 then { - send_user "Sending \"$sendthis\" to gdb\n" - send_user "Looking to match \"$expectthis\"\n" - } - send_gdb "$sendthis\n" - #FIXME: Should add timeout as parameter. - gdb_expect { - -re "A .* in expression.*\\.*$gdb_prompt $" { - pass "reject $sendthis" - return 1 - } - -re "Invalid syntax in expression.*$gdb_prompt $" { - pass "reject $sendthis" - return 1 - } - -re "Junk after end of expression.*$gdb_prompt $" { - pass "reject $sendthis" - return 1 - } - -re "Invalid number.*$gdb_prompt $" { - pass "reject $sendthis" - return 1 - } - -re "Invalid character constant.*$gdb_prompt $" { - pass "reject $sendthis" - return 1 - } - -re "No symbol table is loaded.*$gdb_prompt $" { - pass "reject $sendthis" - return 1 - } - -re "No symbol .* in current context.*$gdb_prompt $" { - pass "reject $sendthis" - return 1 - } - -re "$expectthis.*$gdb_prompt $" { - pass "reject $sendthis" - return 1 - } - -re ".*$gdb_prompt $" { - fail "reject $sendthis" - return 1 - } - default { - fail "reject $sendthis (eof or timeout)" - return 0 - } - } -} - -# Given an input string, adds backslashes as needed to create a -# regexp that will match the string. - -proc string_to_regexp {str} { - set result $str - regsub -all {[]*+.|()^$\[]} $str {\\&} result - return $result -} - -# Same as gdb_test, but the second parameter is not a regexp, -# but a string that must match exactly. - -proc gdb_test_exact { args } { - upvar timeout timeout - - set command [lindex $args 0] - - # This applies a special meaning to a null string pattern. Without - # this, "$pattern\r\n$gdb_prompt $" will match anything, including error - # messages from commands that should have no output except a new - # prompt. With this, only results of a null string will match a null - # string pattern. - - set pattern [lindex $args 1] - if [string match $pattern ""] { - set pattern [string_to_regexp [lindex $args 0]] - } else { - set pattern [string_to_regexp [lindex $args 1]] - } - - # It is most natural to write the pattern argument with only - # embedded \n's, especially if you are trying to avoid Tcl quoting - # problems. But gdb_expect really wants to see \r\n in patterns. So - # transform the pattern here. First transform \r\n back to \n, in - # case some users of gdb_test_exact already do the right thing. - regsub -all "\r\n" $pattern "\n" pattern - regsub -all "\n" $pattern "\r\n" pattern - if [llength $args]==3 then { - set message [lindex $args 2] - } else { - set message $command - } - - return [gdb_test $command $pattern $message] -} - -proc gdb_reinitialize_dir { subdir } { - global gdb_prompt - - if [is_remote host] { - return ""; - } - send_gdb "dir\n" - gdb_expect 60 { - -re "Reinitialize source path to empty.*y or n. " { - send_gdb "y\n" - gdb_expect 60 { - -re "Source directories searched.*$gdb_prompt $" { - send_gdb "dir $subdir\n" - gdb_expect 60 { - -re "Source directories searched.*$gdb_prompt $" { - verbose "Dir set to $subdir" - } - -re "$gdb_prompt $" { - perror "Dir \"$subdir\" failed." - } - } - } - -re "$gdb_prompt $" { - perror "Dir \"$subdir\" failed." - } - } - } - -re "$gdb_prompt $" { - perror "Dir \"$subdir\" failed." - } - } -} - -# -# gdb_exit -- exit the GDB, killing the target program if necessary -# -proc default_gdb_exit {} { - global GDB - global GDBFLAGS - global verbose - global gdb_spawn_id; - - gdb_stop_suppressing_tests; - - if ![info exists gdb_spawn_id] { - return; - } - - verbose "Quitting $GDB $GDBFLAGS" - - if { [is_remote host] && [board_info host exists fileid] } { - send_gdb "quit\n"; - gdb_expect 10 { - -re "y or n" { - send_gdb "y\n"; - exp_continue; - } - -re "DOSEXIT code" { } - default { } - } - } - - if ![is_remote host] { - remote_close host; - } - unset gdb_spawn_id -} - -# -# load a file into the debugger. -# return a -1 if anything goes wrong. -# -proc gdb_file_cmd { arg } { - global verbose - global loadpath - global loadfile - global GDB - global gdb_prompt - upvar timeout timeout - - if [is_remote host] { - set arg [remote_download host $arg]; - if { $arg == "" } { - error "download failed" - return -1; - } - } - - send_gdb "file $arg\n" - gdb_expect 120 { - -re "Reading symbols from.*done.*$gdb_prompt $" { - verbose "\t\tLoaded $arg into the $GDB" - return 0 - } - -re "has no symbol-table.*$gdb_prompt $" { - perror "$arg wasn't compiled with \"-g\"" - return -1 - } - -re "A program is being debugged already.*Kill it.*y or n. $" { - send_gdb "y\n" - verbose "\t\tKilling previous program being debugged" - exp_continue - } - -re "Load new symbol table from \".*\".*y or n. $" { - send_gdb "y\n" - gdb_expect 120 { - -re "Reading symbols from.*done.*$gdb_prompt $" { - verbose "\t\tLoaded $arg with new symbol table into $GDB" - return 0 - } - timeout { - perror "(timeout) Couldn't load $arg, other program already loaded." - return -1 - } - } - } - -re "No such file or directory.*$gdb_prompt $" { - perror "($arg) No such file or directory\n" - return -1 - } - -re "$gdb_prompt $" { - perror "couldn't load $arg into $GDB." - return -1 - } - timeout { - perror "couldn't load $arg into $GDB (timed out)." - return -1 - } - eof { - # This is an attempt to detect a core dump, but seems not to - # work. Perhaps we need to match .* followed by eof, in which - # gdb_expect does not seem to have a way to do that. - perror "couldn't load $arg into $GDB (end of file)." - return -1 - } - } -} - -# -# start gdb -- start gdb running, default procedure -# -# When running over NFS, particularly if running many simultaneous -# tests on different hosts all using the same server, things can -# get really slow. Give gdb at least 3 minutes to start up. -# -proc default_gdb_start { } { - global verbose - global GDB - global GDBFLAGS - global gdb_prompt - global timeout - global gdb_spawn_id; - - gdb_stop_suppressing_tests; - - verbose "Spawning $GDB -nw $GDBFLAGS" - - if [info exists gdb_spawn_id] { - return 0; - } - - if ![is_remote host] { - if { [which $GDB] == 0 } then { - perror "$GDB does not exist." - exit 1 - } - } - set res [remote_spawn host "$GDB -nw $GDBFLAGS [host_info gdb_opts]"]; - if { $res < 0 || $res == "" } { - perror "Spawning $GDB failed." - return 1; - } - gdb_expect 360 { - -re "\[\r\n\]$gdb_prompt $" { - verbose "GDB initialized." - } - -re "$gdb_prompt $" { - perror "GDB never initialized." - return -1 - } - timeout { - perror "(timeout) GDB never initialized after 10 seconds." - remote_close host; - return -1 - } - } - set gdb_spawn_id -1; - # force the height to "unlimited", so no pagers get used - - send_gdb "set height 0\n" - gdb_expect 10 { - -re "$gdb_prompt $" { - verbose "Setting height to 0." 2 - } - timeout { - warning "Couldn't set the height to 0" - } - } - # force the width to "unlimited", so no wraparound occurs - send_gdb "set width 0\n" - gdb_expect 10 { - -re "$gdb_prompt $" { - verbose "Setting width to 0." 2 - } - timeout { - warning "Couldn't set the width to 0." - } - } - return 0; -} - -# * For crosses, the CHILL runtime doesn't build because it can't find -# setjmp.h, stdio.h, etc. -# * For AIX (as of 16 Mar 95), (a) there is no language code for -# CHILL in output_epilog in gcc/config/rs6000/rs6000.c, (b) collect2 -# does not get along with AIX's too-clever linker. -# * On Irix5, there is a bug whereby set of bool, etc., don't get -# TYPE_LOW_BOUND for the bool right because force_to_range_type doesn't -# work with stub types. -# Lots of things seem to fail on the PA, and since it's not a supported -# chill target at the moment, don't run the chill tests. - -proc skip_chill_tests {} { - if ![info exists do_chill_tests] { - return 1; - } - eval set skip_chill [expr ![isnative] || [istarget "*-*-aix*"] || [istarget "*-*-irix5*"] || [istarget "*-*-irix6*"] || [istarget "alpha-*-osf*"] || [istarget "hppa*-*-*"]] - verbose "Skip chill tests is $skip_chill" - return $skip_chill -} - -# skip all the tests in the file if you are not on an hppa running hpux target. -# and you compiled with gcc -proc skip_hp_tests {gcc_used} { - # if ![info exists do_hp_tests] { - # return 1; - # } - eval set skip_hp [expr ![isnative] || ![istarget "hppa*-*-hpux*"] || $gcc_used!=0 ] - verbose "Skip hp tests is $skip_hp" - return $skip_hp -} - -proc get_compiler_info {binfile args} { - # Create and source the file that provides information about the compiler - # used to compile the test case. - # Compiler_type can be null or c++. If null we assume c. - global srcdir - global subdir - # These two come from compiler.c. - global signed_keyword_not_used - global gcc_compiled - - if {![istarget "hppa*-*-hpux*"]} { - if { [llength $args] > 0 } { - if {$args == "c++"} { - if { [gdb_compile "${srcdir}/${subdir}/compiler.cc" "${binfile}.ci" preprocess {}] != "" } { - perror "Couldn't make ${binfile}.ci file" - return 1; - } - } - } else { - if { [gdb_compile "${srcdir}/${subdir}/compiler.c" "${binfile}.ci" preprocess {}] != "" } { - perror "Couldn't make ${binfile}.ci file" - return 1; - } - } - } else { - if { [llength $args] > 0 } { - if {$args == "c++"} { - if { [eval gdb_preprocess \ - [list "${srcdir}/${subdir}/compiler.cc" "${binfile}.ci"] \ - $args] != "" } { - perror "Couldn't make ${binfile}.ci file" - return 1; - } - } - } else { - if { [eval gdb_preprocess \ - [list "${srcdir}/${subdir}/compiler.c" "${binfile}.ci"] \ - $args] != "" } { - perror "Couldn't make ${binfile}.ci file" - return 1; - } - } - } - - source ${binfile}.ci - return 0; -} - -proc gdb_preprocess {source dest args} { - global CC_FOR_TARGET - global CXX_FOR_TARGET - - if { [llength $args] == 0 } { - set which_compiler "c" - } else { - if { $args =="c++" } { - set which_compiler "c++" - } else { - perror "Unknown compiler type supplied to gdb_preprocess" - return 1; - } - } - - if [info exists CC_FOR_TARGET] { - if { $which_compiler == "c"} { - set compiler $CC_FOR_TARGET; - } - } - - if [info exists CXX_FOR_TARGET] { - if { $which_compiler == "c++"} { - set compiler $CXX_FOR_TARGET; - } - } - - if { ![info exists compiler] } { - if { $which_compiler == "c" } { - if {[info exists CC]} { - set compiler $CC; - } - } - if { $which_compiler == "c++" } { - if {[info exists CXX]} { - set compiler $CXX; - } - } - if {![info exists compiler]} { - set compiler [board_info [target_info name] compiler]; - if { $compiler == "" } { - puts "default_target_compile: No compiler to compile with"; - return "default_target_compile: No compiler to compile with"; - } - } - } - - set cmdline "$compiler -E $source > $dest" - - puts "Invoking $compiler -E $source > $dest" - verbose "Invoking $compiler -E $source > $dest" - verbose -log "Executing on local host: $cmdline" 2 - set status [catch "exec ${cmdline}" exec_output] - - set result [prune_warnings $exec_output] - regsub "\[\r\n\]*$" "$result" "" result; - regsub "^\[\r\n\]*" "$result" "" result; - if { $result != "" } { - clone_output "gdb compile failed, $result" - } - return $result; -} - -proc gdb_compile {source dest type options} { - global GDB_TESTCASE_OPTIONS; - - if [target_info exists gdb_stub] { - set options2 { "additional_flags=-Dusestubs" } - lappend options "libs=[target_info gdb_stub]"; - set options [concat $options2 $options] - } - if [target_info exists is_vxworks] { - set options2 { "additional_flags=-Dvxworks" } - lappend options "libs=[target_info gdb_stub]"; - set options [concat $options2 $options] - } - if [info exists GDB_TESTCASE_OPTIONS] { - lappend options "additional_flags=$GDB_TESTCASE_OPTIONS"; - } - verbose "options are $options" - verbose "source is $source $dest $type $options" - - set result [target_compile $source $dest $type $options]; - regsub "\[\r\n\]*$" "$result" "" result; - regsub "^\[\r\n\]*" "$result" "" result; - if { $result != "" } { - clone_output "gdb compile failed, $result" - } - return $result; -} - -proc send_gdb { string } { - global suppress_flag; - if { $suppress_flag } { - return "suppressed"; - } - return [remote_send host "$string"]; -} - -# -# - -proc gdb_expect { args } { - if { [llength $args] == 2 && [lindex $args 0] != "-re" } { - set gtimeout [lindex $args 0]; - set expcode [list [lindex $args 1]]; - } else { - upvar timeout timeout; - - set expcode $args; - if [target_info exists gdb,timeout] { - if [info exists timeout] { - if { $timeout < [target_info gdb,timeout] } { - set gtimeout [target_info gdb,timeout]; - } else { - set gtimeout $timeout; - } - } else { - set gtimeout [target_info gdb,timeout]; - } - } - - if ![info exists gtimeout] { - global timeout; - if [info exists timeout] { - set gtimeout $timeout; - } else { - # Eeeeew. - set gtimeout 60; - } - } - } - global suppress_flag; - global remote_suppress_flag; - if [info exists remote_suppress_flag] { - set old_val $remote_suppress_flag; - } - if [info exists suppress_flag] { - if { $suppress_flag } { - set remote_suppress_flag 1; - } - } - set code [catch {uplevel remote_expect host $gtimeout $expcode} string]; - if [info exists old_val] { - set remote_suppress_flag $old_val; - } else { - if [info exists remote_suppress_flag] { - unset remote_suppress_flag; - } - } - - if {$code == 1} { - global errorInfo errorCode; - - return -code error -errorinfo $errorInfo -errorcode $errorCode $string - } elseif {$code == 2} { - return -code return $string - } elseif {$code == 3} { - return - } elseif {$code > 4} { - return -code $code $string - } -} - -proc gdb_suppress_entire_file { reason } { - global suppress_flag; - - warning "$reason\n"; - set suppress_flag -1; -} - -# -# Set suppress_flag, which will cause all subsequent calls to send_gdb and -# gdb_expect to fail immediately (until the next call to -# gdb_stop_suppressing_tests). -# -proc gdb_suppress_tests { args } { - global suppress_flag; - - return; # fnf - disable pending review of results where testsuite ran better without this - incr suppress_flag; - - if { $suppress_flag == 1 } { - if { [llength $args] > 0 } { - warning "[lindex $args 0]\n"; - } else { - warning "Because of previous failure, all subsequent tests in this group will automatically fail.\n"; - } - } -} - -# -# Clear suppress_flag. -# -proc gdb_stop_suppressing_tests { } { - global suppress_flag; - - if [info exists suppress_flag] { - if { $suppress_flag > 0 } { - set suppress_flag 0; - clone_output "Tests restarted.\n"; - } - } else { - set suppress_flag 0; - } -} - -proc gdb_clear_suppressed { } { - global suppress_flag; - - set suppress_flag 0; -} - -proc gdb_start { } { - default_gdb_start -} - -proc gdb_exit { } { - catch default_gdb_exit -} - -# -# gdb_load -- load a file into the debugger. -# return a -1 if anything goes wrong. -# -proc gdb_load { arg } { - return [gdb_file_cmd $arg] -} - -proc gdb_continue { function } { - global decimal - - return [gdb_test "continue" ".*Breakpoint $decimal, $function .*" "continue to $function"]; -} - -proc default_gdb_init { args } { - gdb_clear_suppressed; - - # Uh, this is lame. Really, really, really lame. But there's this *one* - # testcase that will fail in random places if we don't increase this. - match_max -d 20000 - - # We want to add the name of the TCL testcase to the PASS/FAIL messages. - if { [llength $args] > 0 } { - global pf_prefix - - set file [lindex $args 0]; - - set pf_prefix "[file tail [file dirname $file]]/[file tail $file]:"; - } - global gdb_prompt; - if [target_info exists gdb_prompt] { - set gdb_prompt [target_info gdb_prompt]; - } else { - set gdb_prompt "\\(gdb\\)" - } -} - -proc gdb_init { args } { - return [eval default_gdb_init $args]; -} - -proc gdb_finish { } { - gdb_exit; -} - -global debug_format - -# Run the gdb command "info source" and extract the debugging format information -# from the output and save it in debug_format. - -proc get_debug_format { } { - global gdb_prompt - global verbose - global expect_out - global debug_format - - set debug_format "unknown" - send_gdb "info source\n" - gdb_expect 10 { - -re "Compiled with (.*) debugging format.\r\n$gdb_prompt $" { - set debug_format $expect_out(1,string) - verbose "debug format is $debug_format" - return 1; - } - -re "No current source file.\r\n$gdb_prompt $" { - perror "get_debug_format used when no current source file" - return 0; - } - -re "$gdb_prompt $" { - warning "couldn't check debug format (no valid response)." - return 1; - } - timeout { - warning "couldn't check debug format (timed out)." - return 1; - } - } -} - -# Like setup_xfail, but takes the name of a debug format (DWARF 1, COFF, stabs, etc). -# If that format matches the format that the current test was compiled with, then -# the next test is expected to fail for any target. Returns 1 if the next test or -# set of tests is expected to fail, 0 otherwise (or if it is unknown). Must -# have previously called get_debug_format. - -proc setup_xfail_format { format } { - global debug_format - - if [string match $debug_format $format] then { - setup_xfail "*-*-*" - return 1; - } - return 0 -} - -proc gdb_step_for_stub { } { - global gdb_prompt; - - if ![target_info exists gdb,use_breakpoint_for_stub] { - if [target_info exists gdb_stub_step_command] { - set command [target_info gdb_stub_step_command]; - } else { - set command "step"; - } - send_gdb "${command}\n"; - set tries 0; - gdb_expect 60 { - -re "(main.* at |.*in .*start).*$gdb_prompt" { - return; - } - -re ".*$gdb_prompt" { - incr tries; - if { $tries == 5 } { - fail "stepping out of breakpoint function"; - return; - } - send_gdb "${command}\n"; - exp_continue; - } - default { - fail "stepping out of breakpoint function"; - return; - } - } - } - send_gdb "where\n"; - gdb_expect { - -re "main\[^\r\n\]*at \(\[^:]+\):\(\[0-9\]+\)" { - set file $expect_out(1,string); - set linenum [expr $expect_out(2,string) + 1]; - set breakplace "${file}:${linenum}"; - } - default {} - } - send_gdb "break ${breakplace}\n"; - gdb_expect 60 { - -re "Breakpoint (\[0-9\]+) at.*$gdb_prompt" { - set breakpoint $expect_out(1,string); - } - -re "Breakpoint (\[0-9\]+): file.*$gdb_prompt" { - set breakpoint $expect_out(1,string); - } - default {} - } - send_gdb "continue\n"; - gdb_expect 60 { - -re "Breakpoint ${breakpoint},.*$gdb_prompt" { - gdb_test "delete $breakpoint" ".*" ""; - return; - } - default {} - } -} - -# start-sanitize-gdbtk -# From dejagnu: -# srcdir = testsuite src dir (e.g., devo/gdb/testsuite) -# objdir = testsuite obj dir (e.g., gdb/testsuite) -# subdir = subdir of testsuite (e.g., gdb.gdbtk) -# -# To gdbtk: -# env(DEFS)=the "defs" files (e.g., devo/gdb/testsuite/gdb.gdbtk/defs) -# env(SRCDIR)=directory containing the test code (e.g., *.test) -# env(OBJDIR)=directory which contains any executables -# (e.g., gdb/testsuite/gdb.gdbtk) -proc gdbtk_start {test} { - global verbose - global GDB - global GDBFLAGS - global env srcdir subdir objdir - - gdb_stop_suppressing_tests; - - verbose "Starting $GDB -nx -q --tclcommand=$test" - - set real_test [which $test] - if {$real_test == 0} { - perror "$test is not found" - exit 1 - } - - if {![is_remote host]} { - if { [which $GDB] == 0 } { - perror "$GDB does not exist." - exit 1 - } - } - - set wd [pwd] - cd [file join $srcdir .. gdbtcl2] - set env(GDBTK_LIBRARY) [pwd] - cd [file join $srcdir .. .. tcl library] - set env(TCL_LIBRARY) [pwd] - cd [file join $srcdir .. .. tk library] - set env(TK_LIBRARY) [pwd] - cd [file join $srcdir .. .. tix library] - set env(TIX_LIBRARY) [pwd] - cd [file join $srcdir .. .. itcl itcl library] - set env(ITCL_LIBRARY) [pwd] - cd [file join .. $srcdir .. .. libgui library] - set env(CYGNUS_GUI_LIBRARY) [pwd] - cd $wd - cd [file join $srcdir $subdir] - set env(DEFS) [file join [pwd] defs] - cd $wd - cd [file join $objdir $subdir] - set env(OBJDIR) [pwd] - cd $wd - cd $srcdir - set env(SRCDIR) [pwd] - cd $wd - set env(GDBTK_VERBOSE) 1 - set env(GDBTK_LOGFILE) [file join $objdir gdb.log] - set env(GDBTK_TEST_RUNNING) 1 - set err [catch {exec $GDB -nx -q --tclcommand=$test} res] - if { $err } { - perror "Execing $GDB failed: $res" - exit 1; - } - return $res -} - -# gdbtk tests call this function to print out the results of the -# tests. The argument is a proper list of lists of the form: -# {status name description msg}. All of these things typically -# come from the testsuite harness. -proc gdbtk_analyze_results {results} { - foreach test $results { - set status [lindex $test 0] - set name [lindex $test 1] - set description [lindex $test 2] - set msg [lindex $test 3] - - switch $status { - PASS { - pass "$description ($name)" - } - - FAIL { - fail "$description ($name)" - } - - ERROR { - perror "$name" - } - - XFAIL { - xfail "$description ($name)" - } - - XPASS { - xpass "$description ($name)" - } - } - } -} -# end-sanitize-gdbtk diff --git a/gdb/testsuite/lib/trace-support.exp b/gdb/testsuite/lib/trace-support.exp deleted file mode 100644 index 4765791b817..00000000000 --- a/gdb/testsuite/lib/trace-support.exp +++ /dev/null @@ -1,307 +0,0 @@ -# Copyright (C) 1998 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - -# Please email any bugs, comments, and/or additions to this file to: -# bug-gdb@prep.ai.mit.edu - - -# -# Support procedures for trace testing -# - - -# -# Procedure: gdb_target_supports_trace -# Returns true if GDB is connected to a target that supports tracing. -# Allows tests to abort early if not running on a trace-aware target. -# - -proc gdb_target_supports_trace { } { - global gdb_prompt - - send_gdb "tstatus\n" - gdb_expect { - -re "\[Tt\]race can only be run on.*$gdb_prompt $" { - return 0 - } - -re "\[Tt\]race can not be run on.*$gdb_prompt $" { - return 0 - } - -re "\[Tt\]arget does not support.*$gdb_prompt $" { - return 0 - } - -re ".*\[Ee\]rror.*$gdb_prompt $" { - return 0 - } - -re ".*\[Ww\]arning.*$gdb_prompt $" { - return 0 - } - -re ".*$gdb_prompt $" { - return 1 - } - timeout { - return 0 - } - } -} - - -# -# Procedure: gdb_delete_tracepoints -# Many of the tests depend on setting tracepoints at various places and -# running until that tracepoint is reached. At times, we want to start -# with a clean slate with respect to tracepoints, so this utility proc -# lets us do this without duplicating this code everywhere. -# - -proc gdb_delete_tracepoints {} { - global gdb_prompt - - send_gdb "delete tracepoints\n" - gdb_expect 30 { - -re "Delete all tracepoints.*y or n.*$" { - send_gdb "y\n"; - exp_continue - } - -re ".*$gdb_prompt $" { # This happens if there were no tracepoints } - timeout { - perror "Delete all tracepoints in delete_tracepoints (timeout)" - return - } - } - send_gdb "info tracepoints\n" - gdb_expect 30 { - -re "No tracepoints.*$gdb_prompt $" {} - -re "$gdb_prompt $" { perror "tracepoints not deleted" ; return } - timeout { perror "info tracepoints (timeout)" ; return } - } -} - -# -# Procedure: gdb_trace_setactions -# Define actions for a tracepoint. -# Arguments: -# testname -- identifying string for pass/fail output -# tracepoint -- to which tracepoint do these actions apply? (optional) -# args -- list of actions to be defined. -# Returns: -# zero -- success -# non-zero -- failure - -proc gdb_trace_setactions { testname tracepoint args } { - global gdb_prompt; - - set state 0; - set passfail "pass"; - send_gdb "actions $tracepoint\n"; - set expected_result ""; - gdb_expect 5 { - -re "No tracepoint number .*$gdb_prompt $" { - fail $testname - return 1; - } - -re "Enter actions for tracepoint $tracepoint.*>" { - if { [llength $args] > 0 } { - set lastcommand "[lindex $args $state]"; - send_gdb "[lindex $args $state]\n"; - incr state; - set expected_result [lindex $args $state]; - incr state; - } else { - send_gdb "end\n"; - } - exp_continue; - } - -re "\(.*\)\[\r\n\]+\[ \t]*> $" { - if { $expected_result != "" } { - regsub "^\[^\r\n\]+\[\r\n\]+" "$expect_out(1,string)" "" out; - if ![regexp $expected_result $out] { - set passfail "fail"; - } - set expected_result ""; - } - if { $state < [llength $args] } { - send_gdb "[lindex $args $state]\n"; - incr state; - set expected_result [lindex $args $state]; - incr state; - } else { - send_gdb "end\n"; - set expected_result ""; - } - exp_continue; - } - -re "\(.*\)$gdb_prompt $" { - if { $expected_result != "" } { - if ![regexp $expected_result $expect_out(1,string)] { - set passfail "fail"; - } - set expected_result ""; - } - if { [llength $args] < $state } { - set passfail "fail"; - } - } - default { - set passfail "fail"; - } - } - if { $testname != "" } { - $passfail $testname; - } - if { $passfail == "pass" } then { - return 0; - } else { - return 1; - } -} - -# -# Procedure: gdb_tfind_test -# Find a specified trace frame. -# Arguments: -# testname -- identifying string for pass/fail output -# tfind_arg -- frame (line, PC, etc.) identifier -# exp_res -- Expected result of frame test -# args -- Test expression -# Returns: -# zero -- success -# non-zero -- failure -# - -proc gdb_tfind_test { testname tfind_arg exp_res args } { - global gdb_prompt; - - if { "$args" != "" } { - set expr "$exp_res"; - set exp_res "$args"; - } else { - set expr "(int) \$trace_frame"; - } - set passfail "fail"; - - gdb_test "tfind $tfind_arg" "" "" - send_gdb "printf \"x \%d x\\n\", $expr\n"; - gdb_expect 10 { - -re "x (-*\[0-9\]+) x" { - if { $expect_out(1,string) == $exp_res } { - set passfail "pass"; - } - exp_continue; - } - -re "$gdb_prompt $" { } - } - $passfail "$testname"; - if { $passfail == "pass" } then { - return 0; - } else { - return 1; - } -} - -# -# Procedure: gdb_readexpr -# Arguments: -# gdb_expr -- the expression whose value is desired -# Returns: -# the value of gdb_expr, as evaluated by gdb. -# [FIXME: returns -1 on error, which is sometimes a legit value] -# - -proc gdb_readexpr { gdb_expr } { - global gdb_prompt; - - set result -1; - send_gdb "print $gdb_expr\n" - gdb_expect 5 { - -re "\[$\].*= (\[0-9\]+).*$gdb_prompt $" { - set result $expect_out(1,string); - } - -re "$gdb_prompt $" { } - default { } - } - return $result; -} - -# -# Procedure: gdb_gettpnum -# Arguments: -# tracepoint (optional): if supplied, set a tracepoint here. -# Returns: -# the tracepoint ID of the most recently set tracepoint. -# - -proc gdb_gettpnum { tracepoint } { - global gdb_prompt; - - if { $tracepoint != "" } { - gdb_test "trace $tracepoint" "" "" - } - return [gdb_readexpr "\$tpnum"]; -} - - -# -# Procedure: gdb_find_function_baseline -# Arguments: -# func_name -- name of source function -# Returns: -# Sourcefile line of function definition (open curly brace), -# or -1 on failure. Caller must check return value. -# Note: -# Works only for open curly brace at beginning of source line! -# - -proc gdb_find_function_baseline { func_name } { - global gdb_prompt; - - set baseline -1; - - send_gdb "list $func_name\n" -# gdb_expect { -# -re "\[\r\n\]\[\{\].*$gdb_prompt $" { -# set baseline 1 -# } -# } -} - -# -# Procedure: gdb_find_function_baseline -# Arguments: -# filename: name of source file of desired function. -# Returns: -# Sourcefile line of function definition (open curly brace), -# or -1 on failure. Caller must check return value. -# Note: -# Works only for open curly brace at beginning of source line! -# - -proc gdb_find_recursion_test_baseline { filename } { - global gdb_prompt; - - set baseline -1; - - gdb_test "list $filename:1" "" "" - send_gdb "search gdb_recursion_test line 0\n" - gdb_expect { - -re "(\[0-9\]+)\[\t \]+\{.*line 0.*$gdb_prompt $" { - set baseline $expect_out(1,string); - } - -re "$gdb_prompt $" { } - default { } - } - return $baseline; -} |