From 782445c7aa2722092434b23adfb27e27acfd9e06 Mon Sep 17 00:00:00 2001 From: Fred Fish Date: Sat, 25 Nov 1995 19:55:29 +0000 Subject: [PATCH] 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. From 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". --- gdb/testsuite/ChangeLog | 36 ++ gdb/testsuite/config/unix-gdb.exp | 1 + gdb/testsuite/configure.in | 99 ++-- gdb/testsuite/gdb.base/a1-selftest.exp | 5 +- gdb/testsuite/gdb.base/a2-run.exp | 17 +- gdb/testsuite/gdb.base/bitfields.exp | 196 +++---- gdb/testsuite/gdb.base/break.exp | 16 +- gdb/testsuite/gdb.base/callfuncs.exp | 33 +- gdb/testsuite/gdb.base/commands.exp | 67 ++- gdb/testsuite/gdb.base/configure | 703 ++++++++++++++++++++++++ gdb/testsuite/gdb.base/configure.in | 40 +- gdb/testsuite/gdb.base/corefile.exp | 74 +-- gdb/testsuite/gdb.base/crossload.exp | 6 +- gdb/testsuite/gdb.base/exprs.exp | 38 +- gdb/testsuite/gdb.base/funcargs.exp | 22 +- gdb/testsuite/gdb.base/interrupt.exp | 17 +- gdb/testsuite/gdb.base/nodebug.exp | 202 +++---- gdb/testsuite/gdb.base/printcmds.exp | 42 +- gdb/testsuite/gdb.base/ptype.exp | 21 +- gdb/testsuite/gdb.base/recurse.exp | 147 +++-- gdb/testsuite/gdb.base/return.exp | 124 +++++ gdb/testsuite/gdb.base/setvar.exp | 29 +- gdb/testsuite/gdb.base/sigall.exp | 212 ++++++++ gdb/testsuite/gdb.base/signals.exp | 22 +- gdb/testsuite/gdb.base/term.exp | 17 +- gdb/testsuite/gdb.base/twice.exp | 38 ++ gdb/testsuite/gdb.base/watchpoint.exp | 39 +- gdb/testsuite/gdb.base/whatis.exp | 24 +- gdb/testsuite/gdb.chill/Makefile.in | 192 +------ gdb/testsuite/gdb.chill/callch.exp | 25 +- gdb/testsuite/gdb.chill/chillvars.exp | 27 +- gdb/testsuite/gdb.chill/configure.in | 40 +- gdb/testsuite/gdb.chill/misc.exp | 26 +- gdb/testsuite/gdb.chill/pr-4975.exp | 34 +- gdb/testsuite/gdb.chill/pr-5016.exp | 27 +- gdb/testsuite/gdb.chill/pr-5020.exp | 27 +- gdb/testsuite/gdb.chill/pr-5022.exp | 27 +- gdb/testsuite/gdb.chill/pr-5646.exp | 34 +- gdb/testsuite/gdb.chill/pr-5984.exp | 27 +- gdb/testsuite/gdb.chill/pr-6292.exp | 27 +- gdb/testsuite/gdb.chill/pr-6632.exp | 35 +- gdb/testsuite/gdb.chill/pr-8134.exp | 36 +- gdb/testsuite/gdb.chill/pr-8136.exp | 34 +- gdb/testsuite/gdb.chill/result.exp | 27 +- gdb/testsuite/gdb.chill/string.exp | 27 +- gdb/testsuite/gdb.chill/tuples.exp | 27 +- gdb/testsuite/gdb.disasm/configure | 717 +++++++++++++++++++++++++ gdb/testsuite/gdb.disasm/configure.in | 33 +- gdb/testsuite/gdb.stabs/configure.in | 26 +- gdb/testsuite/gdb.stabs/default.mt | 2 + 50 files changed, 2726 insertions(+), 1038 deletions(-) create mode 100644 gdb/testsuite/gdb.base/configure create mode 100644 gdb/testsuite/gdb.base/return.exp create mode 100644 gdb/testsuite/gdb.base/sigall.exp create mode 100644 gdb/testsuite/gdb.base/twice.exp create mode 100644 gdb/testsuite/gdb.disasm/configure create mode 100644 gdb/testsuite/gdb.stabs/default.mt diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index 09ad25b349..52b89f0945 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -1,3 +1,39 @@ +Sat Nov 25 11:03:42 1995 Fred Fish + + 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 + + * 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. diff --git a/gdb/testsuite/config/unix-gdb.exp b/gdb/testsuite/config/unix-gdb.exp index e8fffa49e5..3d466ce7ab 100644 --- a/gdb/testsuite/config/unix-gdb.exp +++ b/gdb/testsuite/config/unix-gdb.exp @@ -70,6 +70,7 @@ proc gdb_exit { } { } set binpath /s1/users/rob/vxworks/bin/somewhere-bogus-that-needs-configuring +global GDB set bin $GDB gdb_start diff --git a/gdb/testsuite/configure.in b/gdb/testsuite/configure.in index 2ebb13b4ec..f748c11bb6 100644 --- a/gdb/testsuite/configure.in +++ b/gdb/testsuite/configure.in @@ -1,77 +1,44 @@ -# This file is a shell script fragment that supplies the information -# necessary to tailor a template configure script into the configure -# script appropriate for this directory. For more information, check -# any existing configure script. +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. -srctrigger="Makefile.in" -srcname="GDB Test Suite" +AC_PREREQ(1.118) +AC_INIT(gdb.base) + +CC=${CC-cc} +AC_SUBST(CC) +AC_CONFIG_AUX_DIR(`cd $srcdir;pwd`/../..) +AC_CANONICAL_SYSTEM + +# place. This is only so testing with a freshly built expect binary +# in the object tree will work. +CY_AC_PATH_TCLH # Directories to use in all configurations. -configdirs="gdb.base gdb.c++ gdb.disasm" - +configdirs="gdb.base gdb.c++ gdb.disasm gdb.chill" + # Directories to use for a configuration which uses stabs. stabsdirs="gdb.stabs" -# per-host: - -# per-target: - -# everything defaults to unix for a target -target_abbrev=unix -target_makefile_frag=config/mt-unix - -# this section is for all targets -case "${target}" in - i[345]86-*-aout) target_makefile_frag=config/mt-i386-aout ;; - *-*-lynx) target_makefile_frag=config/mt-lynx ;; - *-*-netware) target_makefile_frag=config/mt-netware ;; - *-*-vxworks*) target_makefile_frag=config/mt-vxworks ;; - m68k-*-*) target_makefile_frag=config/mt-m68k ;; - i960-*-nindy) target_makefile_frag=config/mt-i960-nindy ;; - a29k-*-udi) target_makefile_frag=config/mt-a29k-udi ;; - sparclite-*-*) target_makefile_frag=config/mt-slite ;; - sparc-*-aout) target_makefile_frag=config/mt-sparc-aout ;; - mips-*-ecoff) target_makefile_frag=config/mt-mips-ecoff ;; -esac - + # this section is for targets that use stabs # add stabs tests for appropriate targets case "${target}" in - 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}" ;; - - *) if [ x${with_stabs} = xyes ]; then - configdirs="${configdirs} ${stabsdirs}" - fi - ;; + 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}" ;; + *) if test "x${with_stabs}" = x"yes" ; then + configdirs="${configdirs} ${stabsdirs}" + fi ;; esac -# Only test Chill debugging for particular targets. -case "${target}" in - sparc-*-sunos4*) configdirs="${configdirs} gdb.chill" ;; -esac +# configure the subdirectories too +AC_CONFIG_SUBDIRS($configdirs) -# link in the lib directory if needed -#if [ ! -d lib ] ; then -# files="lib" -# links="lib" -#fi - -# make list of files and links based on tool name -tool_list="${tool_list} gdb" -#for i in ${tool_list}; -#do -# if [ -f ${srcdir}/config/${target_abbrev}-$i.exp ] ; then -# files="$files config/${target_abbrev}-$i.exp" -# links="$links $i-init.exp" -# fi -#done - -# post-target: - - # make local configuration file, using MAKE if one is specified. -#if [ ! -n "$MAKE" ]; then MAKE=make; fi +dnl AC_SUBST(gdb_target_cpu) +AC_OUTPUT(Makefile) diff --git a/gdb/testsuite/gdb.base/a1-selftest.exp b/gdb/testsuite/gdb.base/a1-selftest.exp index 6243573258..411ab7262b 100644 --- a/gdb/testsuite/gdb.base/a1-selftest.exp +++ b/gdb/testsuite/gdb.base/a1-selftest.exp @@ -28,7 +28,7 @@ set bug_id 0 # are we on a target board if ![isnative] then { - continue + return } if [istarget "m68k*-*-hpux*"] then { # The top-level makefile passes CFLAGS= (no -g) for hp300. This probably @@ -36,7 +36,7 @@ if [istarget "m68k*-*-hpux*"] then { # but until then..... setup_xfail "*-*-*" fail "cannot test self if compiled without debug info" - continue + return -1 } proc test_with_self {} { @@ -446,6 +446,7 @@ GDB.*Copyright \[0-9\]+ Free Software Foundation, Inc..*$prompt $"\ } # get a stack trace + setup_xfail "i*86-*-linuxaout" set description "backtrace through signal handler" send "backtrace\n" expect { diff --git a/gdb/testsuite/gdb.base/a2-run.exp b/gdb/testsuite/gdb.base/a2-run.exp index 9f34fdce8c..88392b9c6d 100644 --- a/gdb/testsuite/gdb.base/a2-run.exp +++ b/gdb/testsuite/gdb.base/a2-run.exp @@ -12,7 +12,7 @@ # # 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. */ +# 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 @@ -23,7 +23,7 @@ if $noargs then { verbose "Skipping a2-run.exp because of noargs." - continue + return } if $tracelevel then { @@ -36,17 +36,18 @@ if $tracelevel then { set prms_id 0 set bug_id 0 -set binfile "run" - -if ![file exists $objdir/$subdir/$binfile] then { - perror "$objdir/$subdir/$binfile does not exist." - return 0 +set testfile "run" +set srcfile ${srcdir}/$subdir/${testfile}.c +set binfile ${objdir}/${subdir}/${testfile} +if { [compile "${srcfile} -g -o ${binfile}"] != "" } { + perror "Couldn't compile ${srcfile}" + return -1 } gdb_exit gdb_start gdb_reinitialize_dir $srcdir/$subdir -gdb_load $objdir/$subdir/$binfile +gdb_load ${binfile} # Run with no arguments. # On VxWorks this justs make sure the program was run. diff --git a/gdb/testsuite/gdb.base/bitfields.exp b/gdb/testsuite/gdb.base/bitfields.exp index 9763a37fa3..a5ed12d286 100644 --- a/gdb/testsuite/gdb.base/bitfields.exp +++ b/gdb/testsuite/gdb.base/bitfields.exp @@ -12,7 +12,7 @@ # # 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. */ +# 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 @@ -26,12 +26,12 @@ if $tracelevel then { set prms_id 0 set bug_id 0 -set binfile "bitfields" -set srcfile $binfile.c - -if ![file exists $objdir/$subdir/$binfile] then { - perror "$objdir/$subdir/$binfile does not exist." - return 0 +set testfile "bitfields" +set srcfile ${srcdir}/$subdir/${testfile}.c +set binfile ${objdir}/${subdir}/${testfile} +if { [compile "${srcfile} -g -o ${binfile}"] != "" } { + perror "Couldn't compile ${srcfile}" + return -1 } # @@ -45,101 +45,80 @@ proc bitfield_uniqueness {} { global hex global prompt global srcfile - global det_file - if [gdb_test "break break1" "Break.* at $hex: file .*$srcfile, line $decimal" ""] { - fail "setting breakpoint at break1" + if [gdb_test "break break1" "Break.* at $hex: file .*$srcfile, line $decimal\\."] { return } - expect_after { - -re "Starting.*Break.*break1 \[)(\]+ at .*$srcfile:$decimal.*$prompt $" {} - timeout { fail "running to break1" ; return } + gdb_run_cmd + expect { + -re "Break.*break1 \\(\\) at .*$srcfile:$decimal.*$prompt $" { + pass "running to break1" + } + timeout { fail "running to break1"; return } } - gdb_run_cmd - expect_after; - - 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" ""] { - fail "bitfield uniqueness (uc)" + + 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" ""] { - fail "continuing to break1" + 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" ""] { - fail "bitfield uniqueness (s1)" + 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" ""] { - fail "continuing to break1" + 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" ""] { - fail "bitfield uniqueness (u1)" + 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" ""] { - fail "continuing to break1" + 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" ""] { - fail "bitfield uniqueness (s2)" + 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" ""] { - fail "continuing to break1" + 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" ""] { - fail "bitfield uniqueness (u2)" + 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" ""] { - fail "continuing to break1" + 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" ""] { - fail "bitfield uniqueness (s3)" + 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" ""] { - fail "continuing to break1" + 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" "" ] { - fail "bitfield uniqueness (u3)" + 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" ""] { - timeout { fail "continuing to break1" ; 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" "" ] { - fail "bitfield uniqueness (s9)" + if [gdb_test "cont" "Break.*break1 \\(\\) at .*$srcfile:$decimal.*" "continuing to break1 #7"] { return } - if [gdb_test "cont" "Break.*break1 \[)(\]+ at .*$srcfile:$decimal" ""] { - fail "continuing to break1" + 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 "print flags" ".*uc = 0 .*, s1 = 0, u1 = 0, s2 = 0, u2 = 0, s3 = 0, u3 = 0, s9 = 0, u9 = 1, sc = 0" "" ] { - fail "bitfield uniqueness (u9)" + if [gdb_test "cont" "Break.*break1 \\(\\) at .*$srcfile:$decimal.*" "continuing to break1 #8"] { return } - if [gdb_test "cont" "Break.*break1 \[)(\]+ at .*$srcfile:$decimal" ""] { - fail "continuing to break1" + 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 "print flags" ".*uc = 0 .*, s1 = 0, u1 = 0, s2 = 0, u2 = 0, s3 = 0, u3 = 0, s9 = 0, u9 = 0, sc = 1" "" ] { - fail "bitfield uniqueness (sc)" + 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 } - - pass "bitfield locating and uniqueness" } @@ -154,77 +133,64 @@ proc bitfield_containment {} { global hex global prompt global srcfile - global det_file delete_breakpoints - if [gdb_test "break break2" "Break.* at $hex: file .*$srcfile, line $decimal" ""] { - fail "setting breakpoint at break2" + if [gdb_test "break break2" "Break.* at $hex: file .*$srcfile, line $decimal\\." "setting breakpoint at break2"] { return } - expect_after { - -re "Starting.*Break.*break2 \[)(\]+ at .*$srcfile:$decimal.*$prompt $" {} - timeout { fail "running to break2" ; return } - } gdb_run_cmd - expect_after; + expect { + -re "Break.*break2 \\(\\) at .*$srcfile:$decimal.*$prompt $" { + pass "running to break2" + } + timeout { fail "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" ""] { - fail "bitfield containment" + 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" ""] { - fail "continuing to break2" + 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" ""] { - fail "bitfield containment" + 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 } - - pass "bitfield containment" } -# # Test unsigned bitfields for unsignedness and range. # Fill the unsigned fields with the maximum positive value and verify that # the values are printed correctly. -# FIXME: Perhaps we should test each bitfield separately so we can -# report individual failures rather than just pass/nopass. proc bitfield_unsignedness {} { global decimal global hex global prompt global srcfile - global det_file delete_breakpoints - if [gdb_test "break break3" "Break.* at $hex: file .*$srcfile, line $decimal" ""] { - fail "setting breakpoint at break3" + if [gdb_test "break break3" "Break.* at $hex: file .*$srcfile, line $decimal\\." "setting breakpoint at break3"] { return } - expect_after { - -re "Starting.*Break.*break3 \[)(\]+ at .*$srcfile:$decimal.*$prompt $" {} - timeout { fail "running to break3" ; return } - } gdb_run_cmd - expect_after; - - 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" "" ] { - fail "unsigned bitfield ranges" - return + expect { + -re "Break.*break3 \\(\\) at .*$srcfile:$decimal.*$prompt $" { + pass "running to break3" + } + timeout { fail "running to break3"; return } } - pass "unsigned bitfield ranges and unsigned-ness" + 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 + } } # @@ -239,29 +205,26 @@ proc bitfield_signedness {} { global hex global prompt global srcfile - global det_file delete_breakpoints - if [gdb_test "break break4" "Break.* at $hex: file .*$srcfile, line $decimal" ""] { - fail "setting breakpoint at break4" + if [gdb_test "break break4" "Break.* at $hex: file .*$srcfile, line $decimal\\." "setting breakpoint at break4"] { return } - expect_after { - -re "Starting.*Break.*break4 \[)(\]+ at .*$srcfile:$decimal.*$prompt $" {} - timeout { fail "running to break4" ; return } - } gdb_run_cmd - expect_after; + expect { + -re "Break.*break4 \\(\\) at .*$srcfile:$decimal.*$prompt $" { + pass "running to break4" + } + timeout { fail "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" ""] { - fail "signed bitfields, max positive values" + 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" "" ] { - fail "continuing to break4" + if [gdb_test "cont" "Break.*break4 \\(\\) at .*$srcfile:$decimal.*" "continuing to break4 #1"] { return } @@ -269,30 +232,31 @@ proc bitfield_signedness {} { # the signed bitfield tests if it doesn't. send "print i\n" expect { - -re ".* = -256.*$prompt $" {} - -re ".* = 256.*$prompt $" {setup_xfail "*-*-*"} - -re ".*$prompt $" { fail "determining signed-ness of bitfields (known bug in sparc gcc 2.4.5)" + -re ".* = -256.*$prompt $" { + pass "determining signed-ness of bitfields" + } + -re ".* = 256.*$prompt $" { + pass "determining signed-ness of bitfields" + setup_xfail "*-*-*" + } + -re ".*$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" ""] { - fail "signed bitfields, max negative values" + 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" ""] { - fail "continuing to break4" + 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" ""] { - fail "signed bitfields with -1" + 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 } - - pass "signed bitfield ranges and signed-ness" } # Start with a fresh gdb. @@ -300,7 +264,7 @@ proc bitfield_signedness {} { gdb_exit gdb_start gdb_reinitialize_dir $srcdir/$subdir -gdb_load $objdir/$subdir/$binfile +gdb_load ${binfile} send "set print sevenbit-strings\n" ; expect -re "$prompt $" bitfield_uniqueness @@ -309,7 +273,7 @@ if [istarget "mips-idt-*"] then { gdb_exit gdb_start gdb_reinitialize_dir $srcdir/$subdir - gdb_load $objdir/$subdir/$binfile + gdb_load ${binfile} } bitfield_containment if [istarget "mips-idt-*"] then { @@ -317,7 +281,7 @@ if [istarget "mips-idt-*"] then { gdb_exit gdb_start gdb_reinitialize_dir $srcdir/$subdir - gdb_load $objdir/$subdir/$binfile + gdb_load ${binfile} } bitfield_unsignedness if [istarget "mips-idt-*"] then { @@ -325,6 +289,6 @@ if [istarget "mips-idt-*"] then { gdb_exit gdb_start gdb_reinitialize_dir $srcdir/$subdir - gdb_load $objdir/$subdir/$binfile + gdb_load ${binfile} } bitfield_signedness diff --git a/gdb/testsuite/gdb.base/break.exp b/gdb/testsuite/gdb.base/break.exp index 0104a357e3..68fb51c925 100644 --- a/gdb/testsuite/gdb.base/break.exp +++ b/gdb/testsuite/gdb.base/break.exp @@ -31,18 +31,18 @@ global usestubs set prms_id 0 set bug_id 0 -set binfile "break" -set srcfile $binfile.c - -if ![file exists $objdir/$subdir/$binfile] then { - perror "$objdir/$subdir/$binfile does not exist." - return 0 +set testfile "break" +set srcfile ${srcdir}/${subdir}/${testfile}.c +set binfile ${objdir}/${subdir}/${testfile} +if { [compile "${srcfile} -g -o ${binfile}"] != "" } { + perror "Couldn't compile ${srcfile}" + return -1 } gdb_exit gdb_start gdb_reinitialize_dir $srcdir/$subdir -gdb_load $objdir/$subdir/$binfile +gdb_load ${binfile} if $usestubs { send "step\n" @@ -68,7 +68,7 @@ expect { { send "y\n" expect { -re ".*$prompt $" { - setup_xfail "i*86-*-sysv4*" "sparc-sun-sunos4*" + setup_xfail "i*86-*-sysv4*" "sparc-sun-sunos4*" "alpha-dec-osf2*" fail "Delete all breakpoints when none" } timeout { fail "Delete all breakpoints when none (timeout)" } diff --git a/gdb/testsuite/gdb.base/callfuncs.exp b/gdb/testsuite/gdb.base/callfuncs.exp index d16fb0db41..3492b6c1e1 100644 --- a/gdb/testsuite/gdb.base/callfuncs.exp +++ b/gdb/testsuite/gdb.base/callfuncs.exp @@ -26,14 +26,33 @@ if $tracelevel then { set prms_id 0 set bug_id 0 -set binfile "callfuncs" -set srcfile $binfile.c +set prototypes 0 +set testfile "callfuncs" +set srcfile ${srcdir}/${subdir}/${testfile}.c +set binfile ${objdir}/${subdir}/${testfile} -if ![file exists $objdir/$subdir/$binfile] then { - perror "$objdir/$subdir/$binfile does not exist" - return 0 +# build the first test case +execute_anywhere "echo set prototypes 1 > ${objdir}/${subdir}/callfuncs.tmp" +if { [compile "-g ${srcfile} -o ${binfile} "] != "" } { + execute_anywhere "rm -f ${objdir}/${subdir}/callfuncs.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}/callfuncs.tmp" + if { [compile "-g -DNO_PROTOTYPES ${srcfile} -o ${binfile} "] != "" } { + perror "Couldn't compile ${testfile}.c" + return -1 + } } +if { [compile "-E ${srcdir}/${subdir}/compiler.c >> ${objdir}/${subdir}/callfuncs.tmp"] != "" } { + perror "Couldn't make ${testfile}.tmp" + return -1 +} + +execute_anywhere "mv ${objdir}/${subdir}/callfuncs.tmp ${binfile}.ci" + +source ${binfile}.ci + # The a29k can't call functions, so don't even bother with this test. if [istarget "a29k-*-udi"] then { setup_xfail "a29k-*-udi" 2416 @@ -206,9 +225,7 @@ proc do_function_calls {} { gdb_exit gdb_start gdb_reinitialize_dir $srcdir/$subdir -gdb_load $objdir/$subdir/$binfile - -source gdb.base/callfuncs.ci +gdb_load ${binfile} send "set print sevenbit-strings\n" ; expect -re "$prompt $" send "set print address off\n" ; expect -re "$prompt $" diff --git a/gdb/testsuite/gdb.base/commands.exp b/gdb/testsuite/gdb.base/commands.exp index 59f126f0d5..c49ec6c547 100644 --- a/gdb/testsuite/gdb.base/commands.exp +++ b/gdb/testsuite/gdb.base/commands.exp @@ -12,7 +12,7 @@ # # 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. */ +# 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 @@ -27,18 +27,19 @@ if $tracelevel then { set prms_id 0 set bug_id 0 -set binfile "run" - -if ![file exists $objdir/$subdir/$binfile] then { - perror "$objdir/$subdir/$binfile does not exist." - return 0 +set testfile "run" +set srcfile ${srcdir}/$subdir/${testfile}.c +set binfile ${objdir}/${subdir}/${testfile} +if { [compile "${srcfile} -g -o ${binfile}"] != "" } { + perror "Couldn't compile ${srcfile}" + return -1 } gdb_exit gdb_start delete_breakpoints gdb_reinitialize_dir $srcdir/$subdir -gdb_load $objdir/$subdir/$binfile +gdb_load ${binfile} proc gdbvar_simple_if_test {} { global prompt @@ -68,6 +69,12 @@ proc gdbvar_complex_if_while_test {} { proc progvar_simple_if_test {} { global prompt + global noargs + + if $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 } @@ -79,6 +86,12 @@ proc progvar_simple_if_test {} { proc progvar_simple_while_test {} { global prompt + global noargs + + if $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 } @@ -88,6 +101,12 @@ proc progvar_simple_while_test {} { proc progvar_complex_if_while_test {} { global prompt + global noargs + + if $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 } @@ -96,6 +115,13 @@ proc progvar_complex_if_while_test {} { } proc if_while_breakpoint_command_test {} { + global noargs + + if $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 @@ -118,6 +144,13 @@ proc if_while_breakpoint_command_test {} { # Test that we can run the inferior from breakpoint commands. proc infrun_breakpoint_command_test {} { + global noargs + + if $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 @@ -139,6 +172,25 @@ factorial \\(value=3\\) at .* "continue in infrun_breakpoint_command_test" } +proc breakpoint_command_test {} { + global noargs + + if $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 prompt @@ -169,4 +221,5 @@ 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/configure b/gdb/testsuite/gdb.base/configure new file mode 100644 index 0000000000..5b70f5b899 --- /dev/null +++ b/gdb/testsuite/gdb.base/configure @@ -0,0 +1,703 @@ +#! /bin/sh + +# Guess values for system-dependent variables and create Makefiles. +# Generated automatically using autoconf version 2.4 +# Copyright (C) 1992, 1993, 1994 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 + +# Initialize some other variables. +subdirs= + +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 + + -build | --build | --buil | --bui | --bu | --b) + ac_prev=build ;; + -build=* | --build=* | --buil=* | --bui=* | --bu=* | --b=*) + 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" ;; + + -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=PREFIX install architecture-dependent files in PREFIX + [same as prefix] + --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 +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 +--enable and --with options recognized:$ac_help +EOF + exit 0 ;; + + -host | --host | --hos | --ho) + ac_prev=host ;; + -host=* | --host=* | --hos=* | --ho=*) + host="$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 ;; + + -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 ;; + + -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" ;; + + -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.4" + 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=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 2>&5' +ac_link='${CC-cc} -o conftest $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5 2>&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}- + + +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 </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.4" + 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 + +# 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%@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 <> $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.base/configure.in b/gdb/testsuite/gdb.base/configure.in index 368e1e096d..e949bf62b4 100644 --- a/gdb/testsuite/gdb.base/configure.in +++ b/gdb/testsuite/gdb.base/configure.in @@ -1,31 +1,15 @@ -# This file is a shell script fragment that supplies the information -# necessary to tailor a template configure script into the configure -# script appropriate for this directory. For more information, check -# any existing configure script. +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. -srctrigger="Makefile.in" -srcname="gdb.base" +AC_PREREQ(1.118) +AC_INIT(a1-selftest.exp) -# per-host: +CC=${CC-cc} +AC_SUBST(CC) +AC_CONFIG_AUX_DIR(`cd $srcdir;pwd`/../../..) +AC_CANONICAL_SYSTEM -# per-target: - - # everything defaults to unix for a target -target_abbrev=unix -target_makefile_frag=../config/mt-unix - - # this section is for all targets -case "${target}" in - i[345]86-*-aout) target_makefile_frag=../config/mt-i386-aout ;; - *-*-lynx) target_makefile_frag=../config/mt-lynx ;; - *-*-netware*) target_makefile_frag=../config/mt-netware ;; - *-*-vxworks*) target_makefile_frag=../config/mt-vxworks ;; - m68k-*-*) target_makefile_frag=../config/mt-m68k ;; - i960-*-nindy) target_makefile_frag=../config/mt-i960-nindy ;; - a29k-*-udi) target_makefile_frag=../config/mt-a29k-udi ;; - sparclite-*-*) target_makefile_frag=../config/mt-slite ;; - sparc-*-aout) target_makefile_frag=../config/mt-sparc-aout ;; - mips-*-ecoff) target_makefile_frag=../config/mt-mips-ecoff ;; -esac - -# post-target: +AC_OUTPUT(Makefile) diff --git a/gdb/testsuite/gdb.base/corefile.exp b/gdb/testsuite/gdb.base/corefile.exp index da595c9026..f8799d6ddb 100644 --- a/gdb/testsuite/gdb.base/corefile.exp +++ b/gdb/testsuite/gdb.base/corefile.exp @@ -31,33 +31,42 @@ if ![isnative] then { return } - -set binfile "coremaker" -set srcfile $binfile.c - -if ![file exists $objdir/$subdir/$binfile] then { - perror "$objdir/$subdir/$binfile does not exist." - return 0 +set testfile "coremaker" +set srcfile ${srcdir}/${subdir}/${testfile}.c +set binfile ${objdir}/${subdir}/${testfile} +if { [compile "${srcfile} -g -o ${binfile}"] != "" } { + perror "Couldn't compile ${srcfile}" + return -1 } -if ![file exists $objdir/$subdir/corefile] then { +execute_anywhere "rm -f ${binfile}.ci" +if { [compile "-E ${srcdir}/${subdir}/compiler.c > ${binfile}.ci"] != "" } { + perror "Couldn't make ${testfile}.ci file" + return -1 +} + +if ![file exists ${objdir}/${subdir}/corefile] then { # 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. # # Some systems append "core" to the name of the program; others append # the name of the program to "core". - - catch "system \"cd $objdir/$subdir; ./$binfile\"" - if [file exists $objdir/$subdir/core] then { - catch "exec mv $objdir/$subdir/core $objdir/$subdir/corefile" - } elseif [file exists $objdir/$subdir/core.$binfile] { - catch "exec mv $objdir/$subdir/core.$binfile $objdir/$subdir/corefile" - } elseif [file exists $objdir/$subdir/$binfile.core] { - catch "exec mv $objdir/$subdir/$binfile.core $objdir/$subdir/corefile" - } else { - warning "can't generate a core file - core tests suppressed - check ulimit -c" - return 0 + set found 0 + catch "system \"cd ${objdir}/${subdir}; ${binfile}\"" + # execute_anywhere "./${binfile}" + foreach i "${objdir}/${subdir}/core ${objdir}/${subdir}/core.coremaker.c ${binfile}.core" { + set exec_output [execute_anywhere "ls $i"] + if [ regexp "No such file or directory" ${exec_output} ] { + continue + } else { + execute_anywhere "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 + } } } @@ -78,12 +87,6 @@ if $verbose>1 then { send_user "Spawning $GDB -nw $GDBFLAGS -core=$objdir/$subdir/corefile\n" } -# The RS/6000 and powerpc gdb doesn't know how to extract the file name and -# terminating signal from the core file, so all these tests are -# expected to fail. - -setup_xfail "rs6000-*-*" -setup_xfail "powerpc-*-*" set oldtimeout $timeout set timeout [expr "$timeout + 60"] eval "spawn $GDB -nw $GDBFLAGS -core=$objdir/$subdir/corefile" @@ -107,9 +110,6 @@ if $verbose>1 then { } -setup_xfail "rs6000-*-*" -setup_xfail "powerpc-*-*" -# This fails in p3, but not in devo. spawn $GDB -nw $GDBFLAGS $objdir/$subdir/$binfile -core=$objdir/$subdir/corefile expect { -re "Core was generated by .*coremaker.*\r @@ -126,14 +126,12 @@ set timeout $oldtimeout gdb_exit gdb_start gdb_reinitialize_dir $srcdir/$subdir -gdb_load $objdir/$subdir/$binfile +gdb_load ${binfile} source gdb.base/coremaker.ci # Test basic corefile recognition via core-file command. -setup_xfail "rs6000-*-*" -setup_xfail "powerpc-*-*" send "core-file $objdir/$subdir/corefile\n" expect { -re "Core was generated by .*coremaker.*\r @@ -143,18 +141,28 @@ $prompt $" { pass "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" + +# Linux GDB is unable to backtrace properly from an abort system call, +# so trying to access a local variable in the stack fails too. +setup_xfail "i*86-*-linux*" "i*86-*-sysv4*" +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-*-linux*" "i*86-*-sysv4*" # Strange that this one depends upon being native compiled. -if {!$gcc_compiled} then { setup_xfail "hppa*-*-hpux*" } gdb_test "bt" "abort.*func2.*func1.*main.*" "backtrace in corefile.exp" # test reinit_frame_cache -gdb_load $objdir/$subdir/$binfile +gdb_load ${binfile} setup_xfail "*-*-*" gdb_test "up" "#\[0-9\]* *\[0-9xa-fH'\]* in .* \\(\\)" "up in corefile.exp" diff --git a/gdb/testsuite/gdb.base/crossload.exp b/gdb/testsuite/gdb.base/crossload.exp index 9df234d2ae..65f4316fe9 100644 --- a/gdb/testsuite/gdb.base/crossload.exp +++ b/gdb/testsuite/gdb.base/crossload.exp @@ -32,7 +32,11 @@ set bug_id 0 # With a minimal bfd (the default), few if any of these tests work. verbose "FIXME: all the crossload tests ignored" -continue +return + +foreach i "m68k-elf m68k-aout m68k-aout2 mips-ecoff i486-elf sparc-aout i860-elf sparc-elf" { + execute_anywhere "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 diff --git a/gdb/testsuite/gdb.base/exprs.exp b/gdb/testsuite/gdb.base/exprs.exp index cf819392fe..fcf7c2a04f 100644 --- a/gdb/testsuite/gdb.base/exprs.exp +++ b/gdb/testsuite/gdb.base/exprs.exp @@ -1,4 +1,4 @@ -# Copyright (C) 1988, 1990, 1991, 1992 Free Software Foundation, Inc. +# 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 @@ -12,7 +12,7 @@ # # 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. */ +# 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 @@ -29,23 +29,32 @@ if $tracelevel then { set prms_id 0 set bug_id 0 -set binfile "exprs" +set testfile "exprs" +set srcfile ${srcdir}/$subdir/${testfile}.c +set binfile ${objdir}/${subdir}/${testfile} +if { [compile "${srcfile} -g -o ${binfile}"] != "" } { + perror "Couldn't compile ${srcfile}" + return -1 +} -if ![file exists $objdir/$subdir/$binfile] then { - perror "$objdir/$subdir/$binfile does not exist." - return 0 +execute_anywhere "rm -f ${binfile}.ci" +if { [compile "-E ${srcdir}/${subdir}/compiler.c > ${binfile}.ci"] != "" } { + perror "Couldn't make ${testfile}.ci file" + return -1 } gdb_exit gdb_start gdb_reinitialize_dir $srcdir/$subdir -gdb_load $objdir/$subdir/$binfile +gdb_load ${binfile} + +source ${binfile}.ci # # set it up at a breakpoint so we can play with the variable values # -if ![runto main] then { +if ![runto_main] then { perror "couldn't run to breakpoint" continue } @@ -233,6 +242,7 @@ expect { # make char a minus +if {!$gcc_compiled} then { setup_xfail "mips-sgi-irix4*" } send "set variable v_signed_char=-1\n" expect { -re "set.*$prompt $" { @@ -255,6 +265,7 @@ expect { } +if {!$gcc_compiled} then { setup_xfail "mips-sgi-irix4*" } send "set variable v_signed_char=-1\n" expect { -re "set.*$prompt $" { @@ -277,6 +288,7 @@ expect { } +if {!$gcc_compiled} then { setup_xfail "mips-sgi-irix4*" } send "set variable v_signed_char=-1\n" expect { -re "set.*$prompt $" { @@ -298,7 +310,7 @@ expect { timeout { fail "(timeout) print signed char < (minus)" } } - +if {!$gcc_compiled} then { setup_xfail "mips-sgi-irix4*" } send "set variable v_signed_char=-1\n" expect { -re "set.*$prompt $" { @@ -1530,9 +1542,6 @@ expect { } } -re "print.*.\[0-9\]* = 0.*$prompt $" { -# gdb currently compares all values as long, so this failure probably -# applies to any configuration where LONGEST is bigger than a target int. - setup_xfail "alpha-*-*" fail "print unsigned int == (~0)" send "print v_unsigned_int == (unsigned int)~0\n" expect { @@ -2165,8 +2174,3 @@ expect { -re "$prompt $" { fail "print unsigned long > (~0)" } timeout { fail "(timeout) print unsigned long > (~0)" } } - -if [istarget "a29k-*-udi"] then { - # FIXME: If PR 2415 is fixed, this is not needed. - gdb_target_udi -} diff --git a/gdb/testsuite/gdb.base/funcargs.exp b/gdb/testsuite/gdb.base/funcargs.exp index 28eb177a8a..711f322a75 100644 --- a/gdb/testsuite/gdb.base/funcargs.exp +++ b/gdb/testsuite/gdb.base/funcargs.exp @@ -26,12 +26,18 @@ if $tracelevel then { set prms_id 0 set bug_id 0 -set binfile "funcargs" -set srcfile $binfile.c +set testfile "funcargs" +set srcfile ${srcdir}/$subdir/${testfile}.c +set binfile ${objdir}/${subdir}/${testfile} +if { [compile "${srcfile} -g -o ${binfile}"] != "" } { + perror "Couldn't compile ${srcfile}" + return -1 +} -if ![file exists $objdir/$subdir/$binfile] then { - perror "$objdir/$subdir/$binfile does not exist." - return 0 +execute_anywhere "rm -f ${binfile}.ci" +if { [compile "-E ${srcdir}/${subdir}/compiler.c > ${binfile}.ci"] != "" } { + perror "Couldn't make ${testfile}.ci file" + return -1 } # @@ -1063,7 +1069,7 @@ proc funcargs_reload { } { gdb_exit gdb_start gdb_reinitialize_dir $srcdir/$subdir - gdb_load $objdir/$subdir/$binfile + gdb_load ${binfile} } } @@ -1259,9 +1265,9 @@ proc test_stepping_over_trampolines { } { gdb_exit gdb_start gdb_reinitialize_dir $srcdir/$subdir -gdb_load $objdir/$subdir/$binfile +gdb_load ${binfile} -source gdb.base/funcargs.ci +source ${binfile}.ci integral_args funcargs_reload diff --git a/gdb/testsuite/gdb.base/interrupt.exp b/gdb/testsuite/gdb.base/interrupt.exp index 1ffed591de..b3895f026c 100644 --- a/gdb/testsuite/gdb.base/interrupt.exp +++ b/gdb/testsuite/gdb.base/interrupt.exp @@ -12,7 +12,7 @@ # # 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. */ +# 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 @@ -31,7 +31,13 @@ if $tracelevel then { set prms_id 0 set bug_id 0 -set binfile $objdir/$subdir/interrupt +set testfile interrupt +set srcfile ${srcdir}/$subdir/${testfile}.c +set binfile ${objdir}/${subdir}/${testfile} +if { [compile "${srcfile} -g -o ${binfile}"] != "" } { + perror "Couldn't compile ${srcfile}" + return -1 +} if $noinferiorio { verbose "Skipping interrupt.exp because of noinferiorio." @@ -77,11 +83,12 @@ if ![file exists $binfile] then { eof { fail "send control C (eof)" } } + setup_xfail "i*86-*-linux*" send "p func1 ()\n" expect { -re " = 4.*$prompt $" { pass "call function when asleep" } -re "$prompt $" { fail "call function when asleep (wrong output)" } - timeout { + default { # This fail probably happens whenever we use /proc (we # don't use PRSABORT), but apparently also happens on @@ -96,12 +103,13 @@ if ![file exists $binfile] then { setup_xfail "alpha-*-*" setup_xfail "*-*-irix*" setup_xfail "*-*-hpux*" + setup_xfail "*-*-*lynx*" fail "call function when asleep (stays asleep)" # Send a newline to wake it up send "\n" gdb_test "" " = 4" "call function after waking it" } - eof { fail "call function when asleep (eof)" } +# eof { fail "call function when asleep (eof)" } } # Now try calling the function again. @@ -133,6 +141,7 @@ if ![file exists $binfile] then { eof { fail "echo data (eof)" } } + setup_xfail "i*86-*-linux*" send "\004" expect { -re "end of file.*Program exited normally.*$prompt $" { diff --git a/gdb/testsuite/gdb.base/nodebug.exp b/gdb/testsuite/gdb.base/nodebug.exp index 98b4c9f130..4ad7f89b14 100644 --- a/gdb/testsuite/gdb.base/nodebug.exp +++ b/gdb/testsuite/gdb.base/nodebug.exp @@ -7,103 +7,115 @@ if $tracelevel then { set prms_id 0 set bug_id 0 -set binfile $objdir/$subdir/nodebug +set testfile nodebug +set srcfile ${srcdir}/$subdir/${testfile}.c +set binfile ${objdir}/${subdir}/${testfile} +if { [compile "${srcfile} -o ${binfile}"] != "" } { + perror "Couldn't compile ${srcfile}" + return -1 +} -if ![file exists $binfile] then { - perror "$binfile does not exist." - return 0 -} else { - gdb_reinitialize_dir $srcdir/$subdir - gdb_load $binfile - source gdb.base/nodebug.ci +execute_anywhere "rm -f ${binfile}.ci" +if { [compile "-E ${srcdir}/${subdir}/compiler.c > ${binfile}.ci"] != "" } { + perror "Couldn't make ${testfile}.ci file" + return -1 +} +gdb_reinitialize_dir $srcdir/$subdir +gdb_load $binfile +source ${binfile}.ci - 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. - - if {!$gcc_compiled} then { setup_xfail "mips-sgi-irix5*" } - gdb_test "p top" \ - "{(<(text variable|function), no debug info>|short \\(\\))} \[0-9a-fx]* " - if {!$gcc_compiled} then { setup_xfail "mips-sgi-irix5*" } - gdb_test "whatis top" \ - "(<(text variable|function), no debug info>|short \\(\\))" - gdb_test "ptype top" "(short|int) \\((||, )\\)" - - if {!$gcc_compiled} then { setup_xfail "mips-sgi-irix5*" } - gdb_test "p middle" \ - "{(<(text variable|function), no debug info>|short \\(\\))} \[0-9a-fx]* " - if {!$gcc_compiled} then { setup_xfail "mips-sgi-irix5*" } - gdb_test "whatis middle" \ - "(<(text variable|function), no debug info>|short \\(\\))" - gdb_test "ptype middle" "(short|int) \\((||, )\\)" - - 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*" - gdb_test "p datalocal" "= 4" - setup_xfail "rs6000*-*-aix*" - setup_xfail "powerpc*-*-aix*" - gdb_test "whatis datalocal" "<(data variable|variable), no debug info>" - setup_xfail "rs6000*-*-aix*" - setup_xfail "powerpc*-*-aix*" - 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*" - gdb_test "p bsslocal" "= 0" - setup_xfail "rs6000*-*-aix*" - setup_xfail "powerpc*-*-aix*" - gdb_test "whatis bsslocal" "<(data variable|variable), no debug info>" - setup_xfail "rs6000*-*-aix*" - setup_xfail "powerpc*-*-aix*" - gdb_test "ptype bsslocal" "<(data variable|variable), no debug info>" - - gdb_test "backtrace" "#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" "#0.*inner.*#1.*#2.*top.*#3.*main.*" \ +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. + + if {!$gcc_compiled} then { setup_xfail "mips-sgi-irix5*" } + gdb_test "p top" \ + "{(<(text variable|function), no debug info>|short \\(\\))} \[0-9a-fx]* " + if {!$gcc_compiled} then { setup_xfail "mips-sgi-irix5*" } + gdb_test "whatis top" \ + "(<(text variable|function), no debug info>|short \\(\\))" + gdb_test "ptype top" "(short|int) \\((||, )\\)" + + if {!$gcc_compiled} then { setup_xfail "mips-sgi-irix5*" } + gdb_test "p middle" \ + "{(<(text variable|function), no debug info>|short \\(\\))} \[0-9a-fx]* " + if {!$gcc_compiled} then { setup_xfail "mips-sgi-irix5*" } + gdb_test "whatis middle" \ + "(<(text variable|function), no debug info>|short \\(\\))" + gdb_test "ptype middle" "(short|int) \\((||, )\\)" + + 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*" } + gdb_test "p datalocal" "= 4" + setup_xfail "rs6000*-*-aix*" + setup_xfail "powerpc*-*-aix*" + if {!$gcc_compiled} then { setup_xfail "hppa*-*-hpux*" } + 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*" } + 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*" } + gdb_test "p bsslocal" "= 0" + setup_xfail "rs6000*-*-aix*" + setup_xfail "powerpc*-*-aix*" + if {!$gcc_compiled} then { setup_xfail "hppa*-*-hpux*" } + 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*" } + gdb_test "ptype bsslocal" "<(data variable|variable), no debug info>" + + gdb_test "backtrace" "#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" "#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. - 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 [runto middle] then { - gdb_test "backtrace" "#0.*middle.*#1.*top.*#2.*main.*" \ - "backtrace from middle in nodebug.exp" - } + + # This test is not as obscure as it might look. `p getenv ("TERM")' + # is a real-world example, at least on many systems. + 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 [runto middle] then { + gdb_test "backtrace" "#0.*middle.*#1.*top.*#2.*main.*" \ + "backtrace from middle in nodebug.exp" } } diff --git a/gdb/testsuite/gdb.base/printcmds.exp b/gdb/testsuite/gdb.base/printcmds.exp index a0c4176086..74d5312108 100644 --- a/gdb/testsuite/gdb.base/printcmds.exp +++ b/gdb/testsuite/gdb.base/printcmds.exp @@ -1,4 +1,4 @@ -# Copyright (C) 1992, 1994 Free Software Foundation, Inc. +# 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 @@ -12,7 +12,7 @@ # # 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. */ +# 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 @@ -26,12 +26,12 @@ if $tracelevel then { set prms_id 0 set bug_id 0 -set binfile "printcmds" -set srcfile $binfile.c - -if ![file exists $objdir/$subdir/$binfile] then { - perror "$objdir/$subdir/$binfile does not exist" - continue +set testfile "printcmds" +set srcfile ${srcdir}/$subdir/${testfile}.c +set binfile ${objdir}/${subdir}/${testfile} +if { [compile "${srcfile} -g -o ${binfile}"] != "" } { + perror "Couldn't compile ${srcfile}" + return -1 } # Set the current language to C. This counts as a test. If it @@ -924,25 +924,21 @@ proc test_print_char_arrays {} { gdb_test "p parrays" " = \\(struct some_arrays \\*\\) $hex" gdb_test "p parrays->array1" " = \"abc\"" - gdb_test "p &parrays->array1" " = \\(unsigned char \\*\\) $hex \"abc\"" + gdb_test "p &parrays->array1" " = \\(unsigned char \\(\\*\\)\\\[4\\\]\\) $hex" gdb_test "p parrays->array2" " = \"d\"" - gdb_test "p &parrays->array2" " = \\(unsigned char \\*\\) $hex \"defghij\"" + gdb_test "p &parrays->array2" " = \\(unsigned char \\(\\*\\)\\\[1\\\]\\) $hex" gdb_test "p parrays->array3" " = \"e\"" - gdb_test "p &parrays->array3" " = \\(unsigned char \\*\\) $hex \"efghij\"" + gdb_test "p &parrays->array3" " = \\(unsigned char \\(\\*\\)\\\[1\\\]\\) $hex" gdb_test "p parrays->array4" " = \"fg\"" - gdb_test "p &parrays->array4" " = \\(unsigned char \\*\\) $hex \"fghij\"" + gdb_test "p &parrays->array4" " = \\(unsigned char \\(\\*\\)\\\[2\\\]\\) $hex" gdb_test "p parrays->array5" " = \"hij\"" - gdb_test "p &parrays->array5" " = \\(unsigned char \\*\\) $hex \"hij\"" + gdb_test "p &parrays->array5" " = \\(unsigned char \\(\\*\\)\\\[4\\\]\\) $hex" send "set print address off\n" ; expect -re "$prompt $" } proc test_print_string_constants {} { global prompt - global timeout - - set otimeout $timeout - set timeout 120 send "set print elements 50\n" ; expect -re "$prompt $" @@ -966,15 +962,9 @@ proc test_print_string_constants {} { gdb_test "ptype &*\"foo\"" "type = char \\*" setup_xfail "a29k-*-udi" 2416 gdb_test "p (char *)\"foo\"" " = \"foo\"" - - set timeout $otimeout } proc test_print_array_constants {} { - global timeout - - set otimeout $timeout - set timeout 120 setup_xfail "a29k-*-udi" 2416 gdb_test "print {'a','b','c'}" " = \"abc\"" @@ -988,8 +978,6 @@ proc test_print_array_constants {} { gdb_test "print {4,5,6}\[2\]" " = 6" setup_xfail "a29k-*-udi" 2416 gdb_test "print *&{4,5,6}\[1\]" " = 5" - - set timeout $otimeout } proc test_printf {} { @@ -1016,7 +1004,7 @@ 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 $objdir/$subdir/$binfile +gdb_load ${binfile} send "set print sevenbit-strings\n" ; expect -re "$prompt $" send "set print address off\n" ; expect -re "$prompt $" @@ -1029,7 +1017,7 @@ if [set_lang_c] then { setup_xfail "rs6000-*-aix*" gdb_test "p ctable1\[120\]" "120 'x'" - if [runto main] then { + if [runto_main] then { test_integer_literals_accepted test_integer_literals_rejected test_character_literals_accepted diff --git a/gdb/testsuite/gdb.base/ptype.exp b/gdb/testsuite/gdb.base/ptype.exp index 60df8bb06f..c478dfde1b 100644 --- a/gdb/testsuite/gdb.base/ptype.exp +++ b/gdb/testsuite/gdb.base/ptype.exp @@ -29,17 +29,26 @@ if $tracelevel then { set prms_id 0 set bug_id 0 -set binfile "ptype" +set testfile "ptype" +set srcfile ${srcdir}/$subdir/${testfile}.c +set binfile ${objdir}/${subdir}/${testfile} +if { [compile "${srcfile} -g -o ${binfile}"] != "" } { + perror "Couldn't compile ${srcfile}" + return -1 +} -if ![file exists $objdir/$subdir/$binfile] then { - perror "$objdir/$subdir/$binfile does not exist." - return 0 +execute_anywhere "rm -f ${binfile}.ci" +if { [compile "-E ${srcdir}/${subdir}/compiler.c > ${binfile}.ci"] != "" } { + perror "Couldn't make ${testfile}.ci file" + return -1 } gdb_exit gdb_start gdb_reinitialize_dir $srcdir/$subdir -gdb_load $objdir/$subdir/$binfile +gdb_load ${binfile} + +source ${binfile}.ci # Test ptype of unnamed enumeration members before any action causes # the partial symbol table to be expanded to full symbols. This fails @@ -199,6 +208,7 @@ expect { # as (51) doesn't have a name. Only 55 has a name. setup_xfail "i*86-*-sysv4*" +if {!$gcc_compiled} then { setup_xfail "rs6000-*-*" } gdb_test "whatis v_boolean" "type = boolean" \ "whatis unnamed typedef'd enum (compiler bug in IBM's xlc)" @@ -473,6 +483,7 @@ expect { # setup_xfail "i*86-*-sysv4*" +if {!$gcc_compiled} then { setup_xfail "rs6000-*-*" } gdb_test "ptype t_char_array" "type = (|unsigned )char \\\[0?\\\]" # diff --git a/gdb/testsuite/gdb.base/recurse.exp b/gdb/testsuite/gdb.base/recurse.exp index 41f1518e97..90c9d2e803 100644 --- a/gdb/testsuite/gdb.base/recurse.exp +++ b/gdb/testsuite/gdb.base/recurse.exp @@ -12,7 +12,7 @@ # # 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. */ +# 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 @@ -26,130 +26,107 @@ if $tracelevel then { set prms_id 0 set bug_id 0 -set binfile "recurse" -set srcfile $binfile.c - -if ![file exists $objdir/$subdir/$binfile] then { - perror "$objdir/$subdir/$binfile does not exist." - return 0 +set testfile "recurse" +set srcfile ${srcdir}/$subdir/${testfile}.c +set binfile ${objdir}/${subdir}/${testfile} +if { [compile "${srcfile} -g -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 $objdir/$subdir/$binfile +gdb_load ${binfile} -# For now we only run this on PAs running BSD. +# Only enabled for some targets merely because it has not been tested +# elsewhere. if {[istarget "sparc*-*-sunos4*"] || [istarget "hppa*-*-bsd*"]} then { # Preserve the old timeout, and set a new one that should be # sufficient to avoid timing out during this test. - set timeoutsave $timeout - set timeout 60 - if [runto recurse] then { - gdb_test "watch b" ".*\[Ww\]atchpoint \[0-9]*: 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 first instance" + gdb_test "watch b" ".*\[Ww\]atchpoint \[0-9]*: b" \ + "set first instance watchpoint" # Continue until initial set of b. - send "cont\n" - expect { - -re "Continuing.*\[Ww\]atchpoint.*: b.*Old value = 0.*New value = 10.*$prompt $" { pass "watchpoint hit, first time" } - -re ".*$prompt $" { fail "missed first watchpoint" ; return } - timeout { fail "missed first watchpoint (timeout)" ; return } + 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\\).*" - gdb_test "continue" "Breakpoint.* recurse \\(+a=8\\).*" - gdb_test "continue" "Breakpoint.* recurse \\(+a=7\\).*" - gdb_test "continue" "Breakpoint.* recurse \\(+a=6\\).*" - gdb_test "continue" "Breakpoint.* recurse \\(+a=5\\).*" + 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 - gdb_test "watch b" ".*\[Ww\]atchpoint \[0-9]*: 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). - send "cont\n" - expect { - -re "Continuing.*\[Ww\]atchpoint.*: b.*Old value = 0.*New value = 5.*$prompt $" { pass "watchpoint hit (second instance)" } - -re ".*$prompt $" { - fail "missed watchpoint (second instance)" - return - } - timeout { - fail "missed watchpoint (second instance) (timeout)" - return - } + 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\\).*" - gdb_test "continue" "Breakpoint.* recurse \\(+a=3\\).*" - gdb_test "continue" "Breakpoint.* recurse \\(+a=2\\).*" - gdb_test "continue" "Breakpoint.* recurse \\(+a=1\\).*" + 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). - send "cont\n" setup_xfail "sparc*-*-sunos4*" - expect { - -re "Continuing.*\[Ww\]atchpoint.*: b.*Old value = 5.*New value = 120.*return.*$prompt $" { pass "watchpoint hit, second time (second instance)" } - -re ".*$prompt $" { - fail "missed watchpoint, second time (second instance)" - return - } - timeout { - fail "missed watchpoint, second time (second instance)(timeout)" - return - } + 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 - send "cont\n" - expect { - -re "Continuing.*\[Ww\]atchpoint.*deleted.*recurse \[(\]+a=6\[)\]+ .*$prompt $" {pass "watchpoint deleted when leaving scope (second instance)" } - -re ".*prompt $" { - fail "watchpoint not deleted when leaving scope (second instance)" - return - } - timeout { - fail "watchpoint not deleted when leaving scope (second instance) (timeout)" - return - } + 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). - send "cont\n" - expect { - -re "Continuing.*\[Ww\]atchpoint.*b.*Old value = 10.*New value = 3628800.*return.*$prompt $" { pass "watchpoint hit, second time" } - -re ".*$prompt $" { - fail "missed watchpoint, second time)" - return - } - timeout { - fail "missed watchpoint, second time (timeout)" - return - } + 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 - send "cont\n" - expect { - -re "Continuing.*\[Ww\]atchpoint.*deleted.*main \[(\]+\[)\]+ .*$prompt $" {pass "watchpoint deleted when leaving scope" } - -re ".*prompt $" { - fail "watchpoint not deleted when leaving scope" - return - } - timeout { - fail "watchpoint not deleted when leaving scope (timeout)" - return - } + if [gdb_test "continue" \ + "Continuing.*\[Ww\]atchpoint.*deleted.*main \\(\\) .*" \ + "first instance watchpoint deleted when leaving scope"] then { + return } } # Restore the preserved old timeout value. - set timeout $timeoutsave } diff --git a/gdb/testsuite/gdb.base/return.exp b/gdb/testsuite/gdb.base/return.exp new file mode 100644 index 0000000000..620e5b6055 --- /dev/null +++ b/gdb/testsuite/gdb.base/return.exp @@ -0,0 +1,124 @@ +# 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 ${srcdir}/$subdir/${testfile}.c +set binfile ${objdir}/${subdir}/${testfile} +if { [compile "${srcfile} -g -o ${binfile}"] != "" } { + perror "Couldn't compile ${srcfile}" + return -1 +} + +proc return_tests { } { + global prompt + + + if { ! [ runto func1 ] } then { return 0 } + send "return\n" + expect { + -re "Make .* return now.*y or n. $" { + send "y\n" + exp_continue + } + -re "func1 ..;.*$prompt $" { + send "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. + send "break func2\n" ; expect -re ".*$prompt $" + send "break func3\n" ; expect -re ".*$prompt $" + + gdb_test "continue" "return -5;" + send "return 5\n" + expect { + -re "Make .* return now.*y or n. $" { + send "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;" + send "return 5.0\n" + expect { + -re "Make .* return now.*y or n. $" { + send "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} + +return_tests diff --git a/gdb/testsuite/gdb.base/setvar.exp b/gdb/testsuite/gdb.base/setvar.exp index 367378d8a3..3a8400eec6 100644 --- a/gdb/testsuite/gdb.base/setvar.exp +++ b/gdb/testsuite/gdb.base/setvar.exp @@ -30,19 +30,26 @@ if $tracelevel then { set prms_id 0 set bug_id 0 -set binfile "setvar" +set testfile "setvar" +set srcfile ${srcdir}/$subdir/${testfile}.c +set binfile ${objdir}/${subdir}/${testfile} +if { [compile "${srcfile} -g -o ${binfile}"] != "" } { + perror "Couldn't compile ${srcfile}" + return -1 +} -if ![file exists $objdir/$subdir/$binfile] then { - perror "$objdir/$subdir/$binfile does not exist." - return 0 +execute_anywhere "rm -f ${binfile}.ci" +if { [compile "-E ${srcdir}/${subdir}/compiler.c > ${binfile}.ci"] != "" } { + perror "Couldn't make ${testfile}.ci file" + return -1 } gdb_exit gdb_start gdb_reinitialize_dir $srcdir/$subdir -gdb_load $objdir/$subdir/$binfile +gdb_load $binfile -source gdb.base/setvar.ci +source ${binfile}.ci # # set it up at a breakpoint so we canplay with the variable values @@ -1844,8 +1851,14 @@ if {$gcc_compiled} then { 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=u1" "print.*.\[0-9\]* = u1" - gdb_test "print uef.field" "print.*.\[0-9\]* = u1" "print uef.field (u1)" 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/sigall.exp b/gdb/testsuite/gdb.base/sigall.exp new file mode 100644 index 0000000000..9e15f5a544 --- /dev/null +++ b/gdb/testsuite/gdb.base/sigall.exp @@ -0,0 +1,212 @@ +# 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_reinitialize_dir $srcdir/$subdir + +set testfile sigall +set srcfile ${srcdir}/$subdir/${testfile}.c +set binfile ${objdir}/${subdir}/${testfile} +if { [compile "${srcfile} -g -o ${binfile}"] != "" } { + 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 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\]+ .*" + + if {$thissig == "ALRM"} then { + setup_xfail "*-*-irix4*" + } + set need_another_continue 1 + set missed_handler 0 + if $this_sig_supported then { + send "continue\n" + if { $thissig == "IO" } { + setup_xfail "i*86-*-linuxoldld" "i*86-*-linuxaout" + } + expect { + -re "Continuing.*Program received signal SIG$thissig.*$prompt $" { + pass "get signal $thissig" + } + -re ".*$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 "continue\n" + if { $thissig == "URG" } { + setup_xfail "i*86-*-linuxoldld" "i*86-*-linuxaout" + } + # Either Lynx or GDB screws up on SIGPRIO + if { $thissig == "PRIO" } { + setup_xfail "*-*-*lynx*" + } + expect { + -re "Breakpoint.*handle_$thissig.*$prompt $" { + pass "send signal $thissig" + } + -re "Breakpoint.*gen_$nextsig.*kill.*$prompt $" { + fail "missed breakpoint at handle_$thissig" + set missed_handler 1 + } + } + } + + if { $missed_handler == "0" } then { + send "signal 0\n" + expect { + -re "Breakpoint.*gen_$nextsig.*kill.*$prompt $" { + pass "advance to $nextsig" + set sig_supported 1 + } + -re "Breakpoint.*gen_$nextsig.*handle.*$prompt $" { + pass "advance to $nextsig" + set sig_supported 0 + } + -re ".*$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 index 50ed0fedc1..d8c454dcd5 100644 --- a/gdb/testsuite/gdb.base/signals.exp +++ b/gdb/testsuite/gdb.base/signals.exp @@ -10,11 +10,12 @@ if $tracelevel then { set prms_id 0 set bug_id 0 -set binfile $objdir/$subdir/signals - -if ![file exists $binfile] then { - perror "$binfile does not exist." - return 0 +set testfile signals +set srcfile ${srcdir}/$subdir/${testfile}.c +set binfile ${objdir}/${subdir}/${testfile} +if { [compile "${srcfile} -g -o ${binfile}"] != "" } { + perror "Couldn't compile ${srcfile}" + return -1 } proc signal_tests_1 {} { @@ -290,8 +291,15 @@ 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. -setup_xfail "i*86-unknown-bsdi2.0" -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" +proc test_handle_all_print {} { + + # Increase timeout and expect input buffer for large output from gdb. + # Allow blank or TAB as whitespace characters. + set timeout 30 + match_max 8000 + 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" +} +test_handle_all_print gdb_exit gdb_start diff --git a/gdb/testsuite/gdb.base/term.exp b/gdb/testsuite/gdb.base/term.exp index 84d60e3537..be550f0562 100644 --- a/gdb/testsuite/gdb.base/term.exp +++ b/gdb/testsuite/gdb.base/term.exp @@ -12,7 +12,7 @@ # # 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. */ +# 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 @@ -25,7 +25,6 @@ if $tracelevel then { # This only works for native, I think. if ![isnative] then { - warning "Term test case can't run on a target system." continue } @@ -35,15 +34,17 @@ if ![isnative] then { set prms_id 0 set bug_id 0 -set binfile "run" - -if ![file exists $objdir/$subdir/$binfile] then { - perror "$objdir/$subdir/$binfile does not exist." - return 0 +set testfile "run" +set srcfile ${srcdir}/$subdir/${testfile}.c +set binfile ${objdir}/${subdir}/${testfile} +if { [compile "${srcfile} -g -o ${binfile}"] != "" } { + perror "Couldn't compile ${srcfile}" + return -1 } +delete_breakpoints gdb_reinitialize_dir $srcdir/$subdir -gdb_load $objdir/$subdir/$binfile +gdb_load ${binfile} # Test that GDB correctly identifies that it does not control a terminal. send "info terminal\n" diff --git a/gdb/testsuite/gdb.base/twice.exp b/gdb/testsuite/gdb.base/twice.exp new file mode 100644 index 0000000000..b29f6c7834 --- /dev/null +++ b/gdb/testsuite/gdb.base/twice.exp @@ -0,0 +1,38 @@ +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/watchpoint.exp b/gdb/testsuite/gdb.base/watchpoint.exp index baed0d4d15..0362ce4dad 100644 --- a/gdb/testsuite/gdb.base/watchpoint.exp +++ b/gdb/testsuite/gdb.base/watchpoint.exp @@ -12,7 +12,7 @@ # # 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. */ +# 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 @@ -26,15 +26,14 @@ if $tracelevel then { set prms_id 0 set bug_id 0 -set binfile "watchpoint" -set srcfile $binfile.c - -if ![file exists $objdir/$subdir/$binfile] then { - perror "$objdir/$subdir/$binfile does not exist." - return 0 +set testfile "watchpoint" +set srcfile ${srcdir}/$subdir/${testfile}.c +set binfile ${objdir}/${subdir}/${testfile} +if { [compile "${srcfile} -g -o ${binfile}"] != "" } { + perror "Couldn't compile ${srcfile}" + return -1 } - # Prepare for watchpoint tests by setting up two breakpoints and one # watchpoint. # @@ -112,7 +111,7 @@ proc initialize {} { send "disable 3\n" expect { - -re "disable 3\r\n$prompt $" { pass "disable watchpoint" } + -re "disable 3\[\r\n\]+$prompt $" { pass "disable watchpoint" } -re ".*$prompt $" { fail "disable watchpoint" ; return 0 } timeout { fail "disable watchpoint (timeout)" ; return 0 } } @@ -133,7 +132,7 @@ proc test_simple_watchpoint {} { send "disable 3\n" expect { - -re "^disable 3\r\n$prompt $" { + -re "^disable 3\[\r\n\]+$prompt $" { pass "disable watchpoint in test_simple_watchpoint" } -re ".*$prompt $" { @@ -167,7 +166,7 @@ proc test_simple_watchpoint {} { send "enable 3\n" expect { - -re "^enable 3\r\n$prompt $" { pass "enable watchpoint" } + -re "^enable 3\[\r\n\]+$prompt $" { pass "enable watchpoint" } -re ".*$prompt $" { fail "enable watchpoint" ; return } timeout { fail "enable watchpoint (timeout)" ; return } } @@ -224,7 +223,7 @@ Continuing.*\[Ww\]atchpoint.*ival3.*Old value = -1.*New value = 0.*ival3 = count send "disable 3\n" expect { - -re "^disable 3\r\n$prompt $" { pass "watchpoint disabled" } + -re "^disable 3\[\r\n\]+$prompt $" { pass "watchpoint disabled" } -re ".*$prompt $" { fail "watchpoint disabled" ; return } timeout { fail "watchpoint disabled (timeout)" ; return } } @@ -248,7 +247,7 @@ proc test_disabling_watchpoints {} { send "disable 3\n" expect { - -re "^disable 3\r\n$prompt $" { + -re "^disable 3\[\r\n\]+$prompt $" { pass "disable watchpoint in test_disabling_watchpoints" } -re ".*$prompt $" { @@ -282,7 +281,7 @@ proc test_disabling_watchpoints {} { send "enable 3\n" expect { - -re "^enable 3\r\n$prompt $" { pass "watchpoint enabled" } + -re "^enable 3\[\r\n\]+$prompt $" { pass "watchpoint enabled" } -re ".*$prompt $" { fail "watchpoint enabled" ; return } timeout { fail "watchpoint enabled (timeout)" ; return } } @@ -299,7 +298,7 @@ proc test_disabling_watchpoints {} { send "disable 3\n" expect { - -re "^disable 3\r\n$prompt $" { + -re "^disable 3\[\r\n\]+$prompt $" { pass "disable watchpoint #2 in test_disabling_watchpoints" } -re ".*$prompt $" { @@ -542,7 +541,7 @@ proc test_complex_watchpoint {} { gdb_exit gdb_start gdb_reinitialize_dir $srcdir/$subdir -gdb_load $objdir/$subdir/$binfile +gdb_load $binfile if [initialize] then { @@ -555,7 +554,7 @@ if [initialize] then { gdb_exit gdb_start gdb_reinitialize_dir $srcdir/$subdir - gdb_load $objdir/$subdir/$binfile + gdb_load $binfile initialize } @@ -566,7 +565,7 @@ if [initialize] then { gdb_exit gdb_start gdb_reinitialize_dir $srcdir/$subdir - gdb_load $objdir/$subdir/$binfile + gdb_load $binfile initialize } @@ -577,7 +576,7 @@ if [initialize] then { gdb_exit gdb_start gdb_reinitialize_dir $srcdir/$subdir - gdb_load $objdir/$subdir/$binfile + gdb_load $binfile initialize } @@ -594,7 +593,7 @@ if [initialize] then { gdb_exit gdb_start gdb_reinitialize_dir $srcdir/$subdir - gdb_load $objdir/$subdir/$binfile + gdb_load $binfile initialize } diff --git a/gdb/testsuite/gdb.base/whatis.exp b/gdb/testsuite/gdb.base/whatis.exp index 42a5c3fcb1..011ff30858 100644 --- a/gdb/testsuite/gdb.base/whatis.exp +++ b/gdb/testsuite/gdb.base/whatis.exp @@ -19,7 +19,7 @@ # This file was written by Rob Savoye. (rob@cygnus.com) -if $tracelevel then { +if $tracelevel { strace $tracelevel } @@ -29,11 +29,18 @@ if $tracelevel then { set prms_id 0 set bug_id 0 -set binfile "whatis" +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 +} -if ![file exists $objdir/$subdir/$binfile] then { - perror "$objdir/$subdir/$binfile does not exist." - return 0 +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. @@ -41,9 +48,9 @@ if ![file exists $objdir/$subdir/$binfile] then { gdb_exit gdb_start gdb_reinitialize_dir $srcdir/$subdir -gdb_load $objdir/$subdir/$binfile +gdb_load $binfile -source gdb.base/whatis.ci +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. @@ -61,7 +68,7 @@ if $signed_keyword_not_used then { proc setup_xfail_on_long_vs_int {} { global gcc_compiled - if {!$gcc_compiled} then { + if {!$gcc_compiled} { setup_xfail "*-sun-sunos4*" "*-*-ultrix*" "i*86-sequent-bsd*" } } @@ -78,6 +85,7 @@ gdb_test "whatis v_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" diff --git a/gdb/testsuite/gdb.chill/Makefile.in b/gdb/testsuite/gdb.chill/Makefile.in index ad2bd9259d..8270d0fd13 100644 --- a/gdb/testsuite/gdb.chill/Makefile.in +++ b/gdb/testsuite/gdb.chill/Makefile.in @@ -1,191 +1,19 @@ -# Makefile for regression testing Chill support for the GNU debugger. -# Copyright (C) 1992, 1993, 1994, 1995 Free Software Foundation, Inc. +srcdir = @srcdir@ -# This file is part of GDB. +PROGS = callch.exe chillvars.exe misc.exe result.exe string.exe tuples.exe \ + pr-4975.exe pr-5016.exe pr-5020.exe pr-5022.exe pr-5646.exe \ + pr-5984.exe pr-6292.exe pr-6632.exe pr-8136.exe -# 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) - -RUNTEST = runtest - -RUNTESTFLAGS = - -EXPECT = `if [ -f $${rootme}../../../expect/expect ] ; then \ - echo $${rootme}../../../expect/expect ; \ - else echo expect ; fi` - -RUNTEST_FOR_TARGET = ` \ - 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` - -CFLAGS = -g -CHILLFLAGS = $(CFLAGS) - -CHILL_FOR_TARGET = ` \ - if [ -f $${rootme}../../../gcc/Makefile ] ; 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` - -CHILL = $(CHILL_FOR_TARGET) - -CHILL_LIB = ` \ - if [ -f $${rootme}../../../gcc/ch/runtime/libchill.a ] ; then \ - echo $${rootme}../../../gcc/ch/runtime/chillrt0.o \ - $${rootme}../../../gcc/ch/runtime/libchill.a; \ - else \ - echo -lchill; \ - fi` +all: + @echo "Nothing to be done for all..." #### host, target, and site specific Makefile frags come in here. -EXECUTABLES = callch.exe chillvars.exe misc.exe \ - result.exe string.exe tuples.exe \ - pr-4975.exe pr-5016.exe pr-5020.exe pr-5022.exe pr-5646.exe pr-5984.exe \ - pr-6292.exe pr-6632.exe pr-8136.exe - -all: $(EXECUTABLES) - -# To force pr-4975-grt to be compiled before pr-4975, so the -# latter can use the former's grant file. -pr-4975.o: pr-4975-grt.o -pr-5646.o: pr-5646-grt.o -pr-6632.o: pr-6632-grt.o -pr-8136.o: func1.o - -.SUFFIXES: .ch .exe .check - -pr-6632.exe: pr-6632.o pr-6632-grt.o - $(CHILL_FOR_TARGET) $(CHILLFLAGS) $(LDFLAGS) -o pr-6632.exe \ - pr-6632.o pr-6632-grt.o $(CHILL_LIB) $(LIBS) - -pr-8136.exe: pr-8136.o func1.o - $(CHILL_FOR_TARGET) $(CHILLFLAGS) $(LDFLAGS) -o pr-8136.exe \ - pr-8136.o func1.o $(CHILL_LIB) $(LIBS) - -.o.exe: - $(CHILL_FOR_TARGET) $(CHILLFLAGS) $(LDFLAGS) -o $*.exe $*.o $(CHILL_LIB) $(LIBS) - -.ch.o: - $(CHILL_FOR_TARGET) $(CHILLFLAGS) -c $< - -# Do 'make chillvars.check' to run just the chillvars.{ch,exp} test. - -.exe.check: - rootme=`pwd`/; export rootme; \ - cd .. ; \ - $(MAKE) just-check RUNTESTFLAGS="${RUNTESTFLAGS} $*.exp" \ - EXPECT=${EXPECT} - -.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_os ${host_os}" >> ./tmp0 - @echo "set host_alias ${host_alias}" >> ./tmp0 - @echo "set host_cpu ${host_cpu}" >> ./tmp0 - @echo "set host_vendor ${host_vendor}" >> ./tmp0 - @echo "set target_os ${target_os}" >> ./tmp0 - @echo "set target_alias ${target_alias}" >> ./tmp0 - @echo "set target_cpu ${target_cpu}" >> ./tmp0 - @echo "set target_vendor ${target_vendor}" >> ./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: - tests=`cd ${srcdir}; echo *.exp` ; \ - rootme=`pwd`/; export rootme; \ - cd .. ; \ - $(MAKE) just-check RUNTESTFLAGS="${RUNTESTFLAGS} $${tests}" \ - EXPECT=${EXPECT} - clean mostlyclean: - -rm -f *~ core *.o a.out xgdb *.x $(EXECUTABLES) + -rm -f *.o $OBJS} ${PROGS} *~ core 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 + -rm -f Makefile config.status +Makefile: $(srcdir)/Makefile.in $(srcdir)/configure.in + $(SHELL) ./config.status --recheck diff --git a/gdb/testsuite/gdb.chill/callch.exp b/gdb/testsuite/gdb.chill/callch.exp index 2c5b17e32c..158fb91c98 100644 --- a/gdb/testsuite/gdb.chill/callch.exp +++ b/gdb/testsuite/gdb.chill/callch.exp @@ -23,6 +23,16 @@ 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 prompt @@ -54,17 +64,4 @@ proc do_tests {} { 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.*" } -# 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 "callch.exe" -set srcfile $binfile.ch - -if [skip_chill_tests] then { continue } - -if ![file exists $objdir/$subdir/$binfile] then { - warning "$binfile does not exist; tests suppressed." 0 -} else { - do_tests -} +do_tests diff --git a/gdb/testsuite/gdb.chill/chillvars.exp b/gdb/testsuite/gdb.chill/chillvars.exp index 2c92d33f54..72c7ff9fdb 100644 --- a/gdb/testsuite/gdb.chill/chillvars.exp +++ b/gdb/testsuite/gdb.chill/chillvars.exp @@ -23,6 +23,16 @@ 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 prompt @@ -34,7 +44,7 @@ proc do_tests {} { gdb_exit gdb_start gdb_reinitialize_dir $srcdir/$subdir - gdb_load $objdir/$subdir/$binfile + gdb_load $binfile send "set language chill\n" ; expect -re "$prompt $" @@ -303,17 +313,4 @@ proc test_ptr {} { gdb_test "print xptr->int" ".* = 32767" } -# 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 "chillvars.exe" -set srcfile $binfile.ch - -if [skip_chill_tests] then { continue } - -if ![file exists $objdir/$subdir/$binfile] then { - warning "$binfile does not exist; tests suppressed." 0 -} else { - do_tests -} +do_tests diff --git a/gdb/testsuite/gdb.chill/configure.in b/gdb/testsuite/gdb.chill/configure.in index affcf0745e..ac0d7b7f8d 100644 --- a/gdb/testsuite/gdb.chill/configure.in +++ b/gdb/testsuite/gdb.chill/configure.in @@ -1,31 +1,15 @@ -# This file is a shell script fragment that supplies the information -# necessary to tailor a template configure script into the configure -# script appropriate for this directory. For more information, check -# any existing configure script. +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. -srctrigger="Makefile.in" -srcname="gdb.chill" +AC_PREREQ(1.118) +AC_INIT(chexp.exp) -# per-host: +CC=${CC-cc} +AC_SUBST(CC) +AC_CONFIG_AUX_DIR(`cd $srcdir;pwd`/../../..) +AC_CANONICAL_SYSTEM -# per-target: - - # everything defaults to unix for a target -target_abbrev=unix -target_makefile_frag=config/mt-unix - - # this section is for all targets -case "${target}" in - i[345]86-*-aout) target_makefile_frag=../config/mt-i386-aout ;; - *-*-lynx) target_makefile_frag=../config/mt-lynx ;; - *-*-netware*) target_makefile_frag=../config/mt-netware ;; - *-*-vxworks*) target_makefile_frag=../config/mt-vxworks ;; - m68k-*-*) target_makefile_frag=../config/mt-m68k ;; - i960-*-nindy) target_makefile_frag=../config/mt-i960-nindy ;; - a29k-*-udi) target_makefile_frag=../config/mt-a29k-udi ;; - sparclite-*-*) target_makefile_frag=../config/mt-slite ;; - sparc-*-aout) target_makefile_frag=../config/mt-sparc-aout ;; - mips-*-ecoff) target_makefile_frag=../config/mt-mips-ecoff ;; -esac - -# post-target: +AC_OUTPUT(Makefile) diff --git a/gdb/testsuite/gdb.chill/misc.exp b/gdb/testsuite/gdb.chill/misc.exp index 9f3d72545f..306b061089 100644 --- a/gdb/testsuite/gdb.chill/misc.exp +++ b/gdb/testsuite/gdb.chill/misc.exp @@ -25,8 +25,15 @@ if $tracelevel then { strace $tracelevel } -set prms_id 0 -set bug_id 0 +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. @@ -35,12 +42,8 @@ proc set_lang_chill {} { global prompt global binfile objdir subdir - if ![file exists $objdir/$subdir/$binfile] then { - warning "$binfile does not exist; tests suppressed." 0 - return 1 - } - verbose "loading file '$objdir/$subdir/$binfile'" - gdb_load $objdir/$subdir/$binfile + verbose "loading file '$binfile'" + gdb_load $binfile send "set language chill\n" expect { @@ -52,12 +55,11 @@ proc set_lang_chill {} { "set language to \"chill\""] } +set prms_id 0 +set bug_id 0 + # Start with a fresh gdb. -set binfile "misc.exe" - -if [skip_chill_tests] then { continue } - gdb_exit gdb_start gdb_reinitialize_dir $srcdir/$subdir diff --git a/gdb/testsuite/gdb.chill/pr-4975.exp b/gdb/testsuite/gdb.chill/pr-4975.exp index c7e14db3c4..ad3f83ece2 100644 --- a/gdb/testsuite/gdb.chill/pr-4975.exp +++ b/gdb/testsuite/gdb.chill/pr-4975.exp @@ -23,6 +23,23 @@ if $tracelevel then { strace $tracelevel } +if [skip_chill_tests] then { continue } + +set testfile2 "pr-4975-grt" +set srcfile2 ${srcdir}/$subdir/${testfile2}.ch +if { [compile "${srcfile2} -g -c"] != "" } { + 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 -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 prompt @@ -34,7 +51,7 @@ proc do_tests {} { gdb_exit gdb_start gdb_reinitialize_dir $srcdir/$subdir - gdb_load $objdir/$subdir/$binfile + gdb_load $binfile send "set language chill\n" ; expect -re "$prompt $" @@ -46,17 +63,4 @@ proc do_tests {} { gdb_test "finish" "You loose.*" "Runs and reads symbols OK" } -# 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 "pr-4975.exe" -set srcfile $binfile.ch - -if [skip_chill_tests] then { continue } - -if ![file exists $objdir/$subdir/$binfile] then { - warning "$objdir/$subdir/$binfile does not exist; tests suppressed." 0 -} else { - do_tests -} +do_tests diff --git a/gdb/testsuite/gdb.chill/pr-5016.exp b/gdb/testsuite/gdb.chill/pr-5016.exp index 9976b0c249..381a9761fc 100644 --- a/gdb/testsuite/gdb.chill/pr-5016.exp +++ b/gdb/testsuite/gdb.chill/pr-5016.exp @@ -23,6 +23,16 @@ 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 prompt @@ -34,7 +44,7 @@ proc do_tests {} { gdb_exit gdb_start gdb_reinitialize_dir $srcdir/$subdir - gdb_load $objdir/$subdir/$binfile + gdb_load $binfile send "set language chill\n" ; expect -re "$prompt $" @@ -47,17 +57,4 @@ proc do_tests {} { gdb_test "ptype a" "type = /\\*LOC\\*/ ARRAY \\(1:10\\) (INT|int)" } -# 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 "pr-5016.exe" -set srcfile $binfile.ch - -if [skip_chill_tests] then { continue } - -if ![file exists $objdir/$subdir/$binfile] then { - warning "$binfile does not exist; tests suppressed." 0 -} else { - do_tests -} +do_tests diff --git a/gdb/testsuite/gdb.chill/pr-5020.exp b/gdb/testsuite/gdb.chill/pr-5020.exp index 3f60b23f7e..47a43023d0 100644 --- a/gdb/testsuite/gdb.chill/pr-5020.exp +++ b/gdb/testsuite/gdb.chill/pr-5020.exp @@ -23,6 +23,16 @@ 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 prompt @@ -34,7 +44,7 @@ proc do_tests {} { gdb_exit gdb_start gdb_reinitialize_dir $srcdir/$subdir - gdb_load $objdir/$subdir/$binfile + gdb_load $binfile send "set language chill\n" ; expect -re "$prompt $" @@ -72,17 +82,4 @@ proc test_pr_5020 {} { ]]} "print y pretty" } -# 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 "pr-5020.exe" -set srcfile $binfile.ch - -if [skip_chill_tests] then { continue } - -if ![file exists $objdir/$subdir/$binfile] then { - warning "$objdir/$subdir/$binfile does not exist; tests suppressed." 0 -} else { - do_tests -} +do_tests diff --git a/gdb/testsuite/gdb.chill/pr-5022.exp b/gdb/testsuite/gdb.chill/pr-5022.exp index 4d6ca5e229..e690343aec 100644 --- a/gdb/testsuite/gdb.chill/pr-5022.exp +++ b/gdb/testsuite/gdb.chill/pr-5022.exp @@ -23,6 +23,16 @@ 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 prompt @@ -34,7 +44,7 @@ proc do_tests {} { gdb_exit gdb_start gdb_reinitialize_dir $srcdir/$subdir - gdb_load $objdir/$subdir/$binfile + gdb_load $binfile send "set language chill\n" ; expect -re "$prompt $" @@ -57,17 +67,4 @@ proc test_pr_5022 {} { gdb_test "p p" {= PTR\(H'[0-9a-fA-F]+\)} "print non-NULL pointer" } -# 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 "pr-5022.exe" -set srcfile $binfile.ch - -if [skip_chill_tests] then { continue } - -if ![file exists $objdir/$subdir/$binfile] then { - warning "$binfile does not exist; tests suppressed." 0 -} else { - do_tests -} +do_tests diff --git a/gdb/testsuite/gdb.chill/pr-5646.exp b/gdb/testsuite/gdb.chill/pr-5646.exp index fee3b8bfe9..8f57c15229 100644 --- a/gdb/testsuite/gdb.chill/pr-5646.exp +++ b/gdb/testsuite/gdb.chill/pr-5646.exp @@ -23,6 +23,23 @@ if $tracelevel then { strace $tracelevel } +if [skip_chill_tests] then { continue } + +set testfile2 "pr-5646-grt" +set srcfile2 ${srcdir}/$subdir/${testfile2}.ch +if { [compile "${srcfile2} -g -c"] != "" } { + 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 -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 prompt @@ -34,7 +51,7 @@ proc do_tests {} { gdb_exit gdb_start gdb_reinitialize_dir $srcdir/$subdir - gdb_load $objdir/$subdir/$binfile + gdb_load $binfile send "set language chill\n" ; expect -re "$prompt $" @@ -43,17 +60,4 @@ proc do_tests {} { gdb_test_exact "print xx" {= [a:b]} } -# 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 "pr-5646.exe" -set srcfile $binfile.ch - -if [skip_chill_tests] then { continue } - -if ![file exists $objdir/$subdir/$binfile] then { - warning "$binfile does not exist; tests suppressed." 0 -} else { - do_tests -} +do_tests diff --git a/gdb/testsuite/gdb.chill/pr-5984.exp b/gdb/testsuite/gdb.chill/pr-5984.exp index 865ee728e9..450c3351a0 100644 --- a/gdb/testsuite/gdb.chill/pr-5984.exp +++ b/gdb/testsuite/gdb.chill/pr-5984.exp @@ -23,6 +23,16 @@ 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 prompt @@ -34,7 +44,7 @@ proc do_tests {} { gdb_exit gdb_start gdb_reinitialize_dir $srcdir/$subdir - gdb_load $objdir/$subdir/$binfile + gdb_load $binfile send "set language chill\n" ; @@ -44,17 +54,4 @@ proc do_tests {} { gdb_test "next" "Jason Dark.*" "next over Jason Dark" } -# 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 "pr-5984.exe" -set srcfile $binfile.ch - -if [skip_chill_tests] then { continue } - -if ![file exists $objdir/$subdir/$binfile] then { - warning "$binfile does not exist; tests suppressed." 0 -} else { - do_tests -} +do_tests diff --git a/gdb/testsuite/gdb.chill/pr-6292.exp b/gdb/testsuite/gdb.chill/pr-6292.exp index 4d9cd4e39f..45c66d3e80 100644 --- a/gdb/testsuite/gdb.chill/pr-6292.exp +++ b/gdb/testsuite/gdb.chill/pr-6292.exp @@ -23,6 +23,16 @@ 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 prompt @@ -34,7 +44,7 @@ proc do_tests {} { gdb_exit gdb_start gdb_reinitialize_dir $srcdir/$subdir - gdb_load $objdir/$subdir/$binfile + gdb_load $binfile send "set language chill\n" ; @@ -45,17 +55,4 @@ proc do_tests {} { gdb_test "print i" { = 13} "print i after call" } -# 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 "pr-6292.exe" -set srcfile $binfile.ch - -if [skip_chill_tests] then { continue } - -if ![file exists $objdir/$subdir/$binfile] then { - warning "$binfile does not exist; tests suppressed." 0 -} else { - do_tests -} +do_tests diff --git a/gdb/testsuite/gdb.chill/pr-6632.exp b/gdb/testsuite/gdb.chill/pr-6632.exp index 4fd00dd502..5b2c7f6610 100644 --- a/gdb/testsuite/gdb.chill/pr-6632.exp +++ b/gdb/testsuite/gdb.chill/pr-6632.exp @@ -23,6 +23,24 @@ if $tracelevel then { strace $tracelevel } + +if [skip_chill_tests] then { continue } + +set testfile2 "pr-6632-grt" +set srcfile2 ${srcdir}/$subdir/${testfile2}.ch +if { [compile "${srcfile2} -g -c"] != "" } { + 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} -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 prompt @@ -34,7 +52,7 @@ proc do_tests {} { gdb_exit gdb_start gdb_reinitialize_dir $srcdir/$subdir - gdb_load $objdir/$subdir/$binfile + gdb_load $binfile send "set language chill\n" ; expect -re "$prompt $" @@ -44,17 +62,4 @@ proc do_tests {} { gdb_test "print x" { = dummy_10} } -# 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 "pr-6632.exe" -set srcfile $binfile.ch - -if [skip_chill_tests] then { continue } - -if ![file exists $objdir/$subdir/$binfile] then { - warning "$binfile does not exist; tests suppressed." 0 -} else { - do_tests -} +do_tests diff --git a/gdb/testsuite/gdb.chill/pr-8134.exp b/gdb/testsuite/gdb.chill/pr-8134.exp index 086d527ea1..e2586d0a18 100644 --- a/gdb/testsuite/gdb.chill/pr-8134.exp +++ b/gdb/testsuite/gdb.chill/pr-8134.exp @@ -23,6 +23,24 @@ 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 +if { [compile "${srcfile2} -g -c"] != "" } { + 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 -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 prompt @@ -34,7 +52,7 @@ proc do_tests {} { gdb_exit gdb_start gdb_reinitialize_dir $srcdir/$subdir - gdb_load $objdir/$subdir/$binfile + gdb_load $binfile send "set language chill\n" ; expect -re "$prompt $" @@ -43,18 +61,4 @@ proc do_tests {} { gdb_test "print last" "= 10" } -# 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 we use pr-8136 for pr-8134.exp as well as pr-8136.exp. -set binfile "pr-8136.exe" -set srcfile $binfile.ch - -if [skip_chill_tests] then { continue } - -if ![file exists $objdir/$subdir/$binfile] then { - warning "$binfile does not exist; tests suppressed." 0 -} else { - do_tests -} +do_tests diff --git a/gdb/testsuite/gdb.chill/pr-8136.exp b/gdb/testsuite/gdb.chill/pr-8136.exp index b1bca3f0af..29f99a98e5 100644 --- a/gdb/testsuite/gdb.chill/pr-8136.exp +++ b/gdb/testsuite/gdb.chill/pr-8136.exp @@ -23,6 +23,23 @@ if $tracelevel then { strace $tracelevel } +if [skip_chill_tests] then { continue } + +set testfile2 "func1" +set srcfile2 ${srcdir}/$subdir/${testfile2}.ch +if { [compile "${srcfile2} -g -c"] != "" } { + 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 -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 prompt @@ -34,7 +51,7 @@ proc do_tests {} { gdb_exit gdb_start gdb_reinitialize_dir $srcdir/$subdir - gdb_load $objdir/$subdir/$binfile + gdb_load $binfile send "set language chill\n" ; expect -re "$prompt $" @@ -42,17 +59,4 @@ proc do_tests {} { gdb_test "print ps" {= \[e3, e7:e9\]} } -# 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 "pr-8136.exe" -set srcfile $binfile.ch - -if [skip_chill_tests] then { continue } - -if ![file exists $objdir/$subdir/$binfile] then { - warning "$binfile does not exist; tests suppressed." 0 -} else { - do_tests -} +do_tests diff --git a/gdb/testsuite/gdb.chill/result.exp b/gdb/testsuite/gdb.chill/result.exp index a76c95304a..73cae890ef 100644 --- a/gdb/testsuite/gdb.chill/result.exp +++ b/gdb/testsuite/gdb.chill/result.exp @@ -23,6 +23,16 @@ 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 prompt @@ -34,7 +44,7 @@ proc do_tests {} { gdb_exit gdb_start gdb_reinitialize_dir $srcdir/$subdir - gdb_load $objdir/$subdir/$binfile + gdb_load $binfile send "set language chill\n" ; expect -re "$prompt $" @@ -55,17 +65,4 @@ proc do_tests {} { gdb_test "print i" "= 50" } -# 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 "result.exe" -set srcfile $binfile.ch - -if [skip_chill_tests] then { continue } - -if ![file exists $objdir/$subdir/$binfile] then { - warning "$objdir/$subdir/$binfile does not exist; tests suppressed." 0 -} else { - do_tests -} +do_tests diff --git a/gdb/testsuite/gdb.chill/string.exp b/gdb/testsuite/gdb.chill/string.exp index e7c7b256fa..436f3bd1a9 100644 --- a/gdb/testsuite/gdb.chill/string.exp +++ b/gdb/testsuite/gdb.chill/string.exp @@ -21,6 +21,16 @@ 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 prompt @@ -32,7 +42,7 @@ proc do_tests {} { gdb_exit gdb_start gdb_reinitialize_dir $srcdir/$subdir - gdb_load $objdir/$subdir/$binfile + gdb_load $binfile send "set language chill\n" ; expect -re "$prompt $" @@ -55,17 +65,4 @@ proc do_tests {} { gdb_test "p upper(s20)" { = 19} "print varying string upper" } -# 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 "string.exe" -set srcfile $binfile.ch - -if [skip_chill_tests] then { continue } - -if ![file exists $objdir/$subdir/$binfile] then { - warning "$binfile does not exist; tests suppressed." 0 -} else { - do_tests -} +do_tests diff --git a/gdb/testsuite/gdb.chill/tuples.exp b/gdb/testsuite/gdb.chill/tuples.exp index d32423d75e..c1b9472751 100644 --- a/gdb/testsuite/gdb.chill/tuples.exp +++ b/gdb/testsuite/gdb.chill/tuples.exp @@ -23,6 +23,16 @@ 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 prompt @@ -34,7 +44,7 @@ proc do_tests {} { gdb_exit gdb_start gdb_reinitialize_dir $srcdir/$subdir - gdb_load $objdir/$subdir/$binfile + gdb_load $binfile send "set language chill\n" ; expect -re "$prompt $" @@ -114,17 +124,4 @@ proc do_tests {} { "print bitstring after assignment of \[\]" } -# 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 "tuples.exe" -set srcfile $binfile.ch - -if [skip_chill_tests] then { continue } - -if ![file exists $objdir/$subdir/$binfile] then { - warning "$binfile does not exist; tests suppressed." 0 -} else { - do_tests -} +do_tests diff --git a/gdb/testsuite/gdb.disasm/configure b/gdb/testsuite/gdb.disasm/configure new file mode 100644 index 0000000000..a04295a381 --- /dev/null +++ b/gdb/testsuite/gdb.disasm/configure @@ -0,0 +1,717 @@ +#! /bin/sh + +# Guess values for system-dependent variables and create Makefiles. +# Generated automatically using autoconf version 2.4 +# Copyright (C) 1992, 1993, 1994 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 + +# Initialize some other variables. +subdirs= + +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 + + -build | --build | --buil | --bui | --bu | --b) + ac_prev=build ;; + -build=* | --build=* | --buil=* | --bui=* | --bu=* | --b=*) + 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" ;; + + -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=PREFIX install architecture-dependent files in PREFIX + [same as prefix] + --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 +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 +--enable and --with options recognized:$ac_help +EOF + exit 0 ;; + + -host | --host | --hos | --ho) + ac_prev=host ;; + -host=* | --host=* | --hos=* | --ho=*) + host="$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 ;; + + -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 ;; + + -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" ;; + + -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.4" + 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=sh3.mt + +# 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 2>&5' +ac_link='${CC-cc} -o conftest $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5 2>&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 + hppa*-*-*) target_makefile_frag=hppa.mt ;; +# start-sanitize-sh3e + sh*-*-*) target_makefile_frag=sh3.mt ;; +# end-sanitize-sh3e + *-*-*) target_makefile_frag=default.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 </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.4" + 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 + +# 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%@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 <> $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.disasm/configure.in b/gdb/testsuite/gdb.disasm/configure.in index f8d95fdc51..a256c7790e 100644 --- a/gdb/testsuite/gdb.disasm/configure.in +++ b/gdb/testsuite/gdb.disasm/configure.in @@ -1,20 +1,27 @@ -# This file is a shell script fragment that supplies the information -# necessary to tailor a template configure script into the configure -# script appropriate for this directory. For more information, check -# any existing configure script. +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. -srctrigger="configure.in" -srcname="gdb.disasm" +AC_PREREQ(1.118) +AC_INIT(sh3.mt) -# per-host: - -# per-target: +CC=${CC-cc} +AC_SUBST(CC) +AC_CONFIG_AUX_DIR(`cd $srcdir;pwd`/../../..) +AC_CANONICAL_SYSTEM case "${target}" in - -hppa*-*-*) target_makefile_frag=hppa.mt ;; + hppa*-*-*) target_makefile_frag=hppa.mt ;; # start-sanitize-sh3e -sh*-*-*) target_makefile_frag=sh3.mt ;; + sh*-*-*) target_makefile_frag=sh3.mt ;; # end-sanitize-sh3e - + *-*-*) target_makefile_frag=default.mt ;; esac + +# We also need to use a makefile fragment for the embedded targets +# to get the flags right to build the test cases +AC_SUBST_FILE(target_makefile_frag) + +AC_OUTPUT(Makefile) diff --git a/gdb/testsuite/gdb.stabs/configure.in b/gdb/testsuite/gdb.stabs/configure.in index 5dc247a28c..1f13679e5f 100644 --- a/gdb/testsuite/gdb.stabs/configure.in +++ b/gdb/testsuite/gdb.stabs/configure.in @@ -1,14 +1,16 @@ -# This file is a shell script fragment that supplies the information -# necessary to tailor a template configure script into the configure -# script appropriate for this directory. For more information, check -# any existing configure script. +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. -srctrigger="weird.exp" -srcname="gdb.stabs" +AC_PREREQ(1.118) +AC_INIT(weird.exp) -# per-host: - -# per-target: +CC=${CC-cc} +AC_SUBST(CC) +AC_CONFIG_AUX_DIR(`cd $srcdir;pwd`/../../..) +AC_CANONICAL_SYSTEM case "${target}" in @@ -35,3 +37,9 @@ mips-*-*) if [ x${with_gnu_as} = xyes ]; then *-*-*) 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 +AC_SUBST_FILE(target_makefile_frag) + +AC_OUTPUT(Makefile) diff --git a/gdb/testsuite/gdb.stabs/default.mt b/gdb/testsuite/gdb.stabs/default.mt new file mode 100644 index 0000000000..7afdac20ba --- /dev/null +++ b/gdb/testsuite/gdb.stabs/default.mt @@ -0,0 +1,2 @@ +# No special makefile support needed for this target. +