aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRob Savoye <rob@welcomehome.org>2003-07-28 14:45:35 +0000
committerRob Savoye <rob@welcomehome.org>2003-07-28 14:45:35 +0000
commite8db55a189487a90cc8bd37c9a8d2ee3fc486927 (patch)
tree4aea6a57962af03205ca12cd41ba1f77d5ecc98e
parent61ac4220ae1099ebb5703a0d88db857ba29ca9c3 (diff)
downloaddejagnu-e8db55a189487a90cc8bd37c9a8d2ee3fc486927.zip
dejagnu-e8db55a189487a90cc8bd37c9a8d2ee3fc486927.tar.gz
dejagnu-e8db55a189487a90cc8bd37c9a8d2ee3fc486927.tar.bz2
2003-07-25 Jim Dein <jdein@deinji5.apple.com>
* lib/utils.exp: fix double recursion bug in proc find. 2002-02-25 Jackie Smith Cashion <jsmith@redhat.com> * baseboards/am33_2.0-libremote.exp: New file. 2000-11-21 Drew Moseley <dmoseley@redhat.com> * baseboards/mn10300-cygmon.exp: Use the am33-2 flag for the ASB2303 board. 2000-08-10 Drew Moseley <dmoseley@cygnus.com> * baseboards/mn10300-cygmon.exp: Added support for Cygmon based ASB2303 board. 2003-06-13 Phil Edwards <pme@devphil.com> * baseboards/mips64-sim.exp, baseboards/mips-sim.exp, baseboards/mips-sim-idt32.exp, baseboards/mips-sim-idt64.exp: Use only -T[linker] instead of -Wl,-T[linker]. 2003-06-13 Jason Thorpe <thorpej@wasabisystems.com> * lib/target.exp (prune_warnings): Add two more linker warning patterns for warnings generated by modern verions of NetBSD. 2003-05-12 H.J. Lu <hongjiu.lu@intel.com> * lib/libgloss.exp (build_wrapper): Add -Wl,-wrap,_exit. 2003-05-09 H.J. Lu <hongjiu.lu@intel.com> * runtest: Fix a typo. 2003-05-03 Nitin Dhavale <nitinpdhavale@indiatimes.com> * doc/user.sgml: Clarify how to set the verbose option. 2003-03-28 Chris Demetriou <cgd@broadcom.com> * lib/framework.exp (check_conditional_xfail): Adjust so that an empty 'includes' list matches all sets of flags. * doc/dejagnu.texi: Document the above. * doc/ref.sgml: Likewise. 2003-03-27 David Heine <dlheine@tensilica.com> * baseboards/xtensa-sim.exp: Fix a syntax error. 2003-03-16 Rob Savoye <rob@direwolf.welcomehome.org> * lib/unix.exp: Preserve the value of LD_LIBRARY_PATH, rather than stomp on it. This is based on a patch from Brendan Conoboy <blc@redhat.com>. * Most files: Update copyright dates.
-rw-r--r--ChangeLog51
-rw-r--r--acinclude.m43
-rw-r--r--baseboards/mips-sim-idt32.exp4
-rw-r--r--baseboards/mips-sim-idt64.exp4
-rw-r--r--baseboards/mips-sim.exp4
-rw-r--r--baseboards/mips64-sim.exp2
-rw-r--r--baseboards/mn10300-cygmon.exp6
-rw-r--r--baseboards/xtensa-sim.exp2
-rw-r--r--doc/dejagnu.texi8
-rw-r--r--doc/ref.sgml10
-rw-r--r--doc/user.sgml3
-rw-r--r--lib/framework.exp5
-rw-r--r--lib/libgloss.exp4
-rw-r--r--lib/target.exp4
-rw-r--r--lib/utils.exp61
-rwxr-xr-xruntest2
-rwxr-xr-xruntest.exp2
17 files changed, 110 insertions, 65 deletions
diff --git a/ChangeLog b/ChangeLog
index 10aefcb..07a78f4 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -7,12 +7,59 @@
* config.guess: Update to most recent version.
* config.sub: Ditto.
-
* AUTHORS: Add self to list of maintainers.
+2003-07-25 Jim Dein <jdein@deinji5.apple.com>
+
+ * lib/utils.exp: fix double recursion bug in proc find.
+
+2002-02-25 Jackie Smith Cashion <jsmith@redhat.com>
+ * baseboards/am33_2.0-libremote.exp: New file.
+
+2000-11-21 Drew Moseley <dmoseley@redhat.com>
+ * baseboards/mn10300-cygmon.exp: Use the am33-2 flag for the
+ ASB2303 board.
+
+2000-08-10 Drew Moseley <dmoseley@cygnus.com>
+ * baseboards/mn10300-cygmon.exp: Added support for Cygmon based
+ ASB2303 board.
+
+2003-06-13 Phil Edwards <pme@devphil.com>
+ * baseboards/mips64-sim.exp, baseboards/mips-sim.exp,
+ baseboards/mips-sim-idt32.exp, baseboards/mips-sim-idt64.exp: Use
+ only -T[linker] instead of -Wl,-T[linker].
+
+2003-06-13 Jason Thorpe <thorpej@wasabisystems.com>
+
+ * lib/target.exp (prune_warnings): Add two more linker
+ warning patterns for warnings generated by modern verions
+ of NetBSD.
+
+2003-05-12 H.J. Lu <hongjiu.lu@intel.com>
+
+ * lib/libgloss.exp (build_wrapper): Add -Wl,-wrap,_exit.
+
+2003-05-09 H.J. Lu <hongjiu.lu@intel.com>
+
+ * runtest: Fix a typo.
+
+2003-05-03 Nitin Dhavale <nitinpdhavale@indiatimes.com>
+
+ * doc/user.sgml: Clarify how to set the verbose option.
+
+2003-03-28 Chris Demetriou <cgd@broadcom.com>
+
+ * lib/framework.exp (check_conditional_xfail): Adjust so that
+ an empty 'includes' list matches all sets of flags.
+ * doc/dejagnu.texi: Document the above.
+ * doc/ref.sgml: Likewise.
+
+2003-03-27 David Heine <dlheine@tensilica.com>
+ * baseboards/xtensa-sim.exp: Fix a syntax error.
+
2003-03-16 Rob Savoye <rob@direwolf.welcomehome.org>
- * lib/unix.exp: Preservce the value of LD_LIBRARY_PATH, rather
+ * lib/unix.exp: Preserve the value of LD_LIBRARY_PATH, rather
than stomp on it. This is based on a patch from Brendan Conoboy
<blc@redhat.com>.
* Most files: Update copyright dates.
diff --git a/acinclude.m4 b/acinclude.m4
index 8b50e14..c84d0d3 100644
--- a/acinclude.m4
+++ b/acinclude.m4
@@ -27,8 +27,7 @@ dirlist=".. ../../ ../../../ ../../../../ ../../../../../ ../../../../../../ ../
/../../../../../.."
no_itcl=true
AC_MSG_CHECKING(for the tclsh program)
-AC_ARG_WITH(tclinclude, [ --with-tclinclude directory where tcl header
-s are], with_tclinclude=${withval})
+AC_ARG_WITH(tclinclude, [ --with-tclinclude directory where tcl headers are], with_tclinclude=${withval})
AC_CACHE_VAL(ac_cv_path_tclsh,[
dnl first check to see if --with-itclinclude was specified
if test x"${with_tclinclude}" != x ; then
diff --git a/baseboards/mips-sim-idt32.exp b/baseboards/mips-sim-idt32.exp
index 110d499..98e6ea8 100644
--- a/baseboards/mips-sim-idt32.exp
+++ b/baseboards/mips-sim-idt32.exp
@@ -21,9 +21,9 @@ set_board_info ldflags "[libgloss_link_flags] [newlib_link_flags]";
# Use idt.
if { [board_info $board obj_format] == "ecoff" } {
- set_board_info ldscript "-Wl,-Tidtecoff.ld";
+ set_board_info ldscript "-Tidtecoff.ld";
} else {
- set_board_info ldscript "-Wl,-Tidt32.ld";
+ set_board_info ldscript "-Tidt32.ld";
}
# And, it can't do arguments, and doesn't have real signals.
diff --git a/baseboards/mips-sim-idt64.exp b/baseboards/mips-sim-idt64.exp
index a72e743..a0f9d0c 100644
--- a/baseboards/mips-sim-idt64.exp
+++ b/baseboards/mips-sim-idt64.exp
@@ -21,9 +21,9 @@ set_board_info ldflags "[libgloss_link_flags] [newlib_link_flags]";
# Use idt.
if { [board_info $board obj_format] == "ecoff" } {
- set_board_info ldscript "-Wl,-Tidtecoff.ld";
+ set_board_info ldscript "-Tidtecoff.ld";
} else {
- set_board_info ldscript "-Wl,-Tidt64.ld";
+ set_board_info ldscript "-Tidt64.ld";
}
# And, it can't do arguments, and doesn't have real signals.
diff --git a/baseboards/mips-sim.exp b/baseboards/mips-sim.exp
index 104188a..1df7e97 100644
--- a/baseboards/mips-sim.exp
+++ b/baseboards/mips-sim.exp
@@ -20,9 +20,9 @@ set_board_info ldflags "[libgloss_link_flags] [newlib_link_flags]";
# Use idt.
if { [board_info $board obj_format] == "ecoff" } {
- set_board_info ldscript "-Wl,-Tidtecoff.ld";
+ set_board_info ldscript "-Tidtecoff.ld";
} else {
- set_board_info ldscript "-Wl,-Tidt.ld";
+ set_board_info ldscript "-Tidt.ld";
}
# And, it can't do arguments, and doesn't have real signals.
diff --git a/baseboards/mips64-sim.exp b/baseboards/mips64-sim.exp
index 3315619..99f8831 100644
--- a/baseboards/mips64-sim.exp
+++ b/baseboards/mips64-sim.exp
@@ -22,7 +22,7 @@ set_board_info compiler "[find_gcc]";
set_board_info cflags "[libgloss_include_flags] [newlib_include_flags]";
set_board_info ldflags "[libgloss_link_flags] [newlib_link_flags]";
# PMON linker script.
-set_board_info ldscript "-Wl,-Tpmon.ld"
+set_board_info ldscript "-Tpmon.ld"
# And, it can't do arguments or signals in GDB.
set_board_info noargs 1;
diff --git a/baseboards/mn10300-cygmon.exp b/baseboards/mn10300-cygmon.exp
index 86c65e1..2f0b45f 100644
--- a/baseboards/mn10300-cygmon.exp
+++ b/baseboards/mn10300-cygmon.exp
@@ -16,6 +16,12 @@ set_board_info ldflags "[libgloss_link_flags] [newlib_link_flags] [board_info $
# CygMON linker script.
set_board_info ldscript "-Teval.ld"
+if {[string compare [board_info $board boardtype] "asb2303"] == 0} {
+ set_board_info ldflags "[libgloss_link_flags] [newlib_link_flags] [board_info $board addl_link_flags] -mno-crt0 -mam33-2";
+ set_board_info ldscript "-mam33-2 -Tasb2303.ld"
+}
+
+
# Standard remote protocol.
set_board_info gdb_protocol "remote";
# We can't do input in GDB (yet! HA!). It *will* do output, hurrah.
diff --git a/baseboards/xtensa-sim.exp b/baseboards/xtensa-sim.exp
index 8764c67..190ef61 100644
--- a/baseboards/xtensa-sim.exp
+++ b/baseboards/xtensa-sim.exp
@@ -12,7 +12,7 @@ process_multilib_options ""
# with what compiler is tested if we're testing gcc.
set_board_info compiler "[find_gcc]"
set_board_info cflags "[libgloss_include_flags]
-newlib_include_flags]"
+[newlib_include_flags]"
set_board_info ldflags "[libgloss_link_flags] [newlib_link_flags]"
# This board doesn't use a linker script.
set_board_info ldscript "";
diff --git a/doc/dejagnu.texi b/doc/dejagnu.texi
index c1473f4..47443a1 100644
--- a/doc/dejagnu.texi
+++ b/doc/dejagnu.texi
@@ -1985,7 +1985,7 @@ results.
@cindex failure, conditional expected
@cindex conditional expected failure
-This procedure adds a condition xfail, based on compiler options used to
+This procedure adds a conditional xfail, based on compiler options used to
create a test case executable. If an include options is found in the
compiler flags, and it's the right architecture, it'll trigger an
XFAIL. Otherwise it'll produce an ordinary FAIL. You can also specify
@@ -2008,8 +2008,10 @@ is a string with the targets to activate this conditional on.
@item includes
is a list of sets of options to search for in the compiler options to
-activate this conditional. If any set of the options matches, then this
-conditional is true.
+activate this conditional. If the list of sets of options is empty or
+if any set of the options matches, then this conditional is true.
+(It may be useful to specify an empty list of include sets if the
+conditional is always true unless one of the exclude sets matches.)
@item excludes
is a list of sets of options to search for in the compiler options to
diff --git a/doc/ref.sgml b/doc/ref.sgml
index 79ef109..71c0054 100644
--- a/doc/ref.sgml
+++ b/doc/ref.sgml
@@ -787,7 +787,7 @@
<sect3 id=checkconditionalxfail xreflabel="check_conditional_xfail procedure">
<title>Check_conditional_xfail Procedure</title>
- <para>This procedure adds a condition xfail, based on compiler
+ <para>This procedure adds a conditional xfail, based on compiler
options used to create a test case executable. If an include options
is found in the compiler flags, and it's the right architecture,
it'll trigger an <emphasis>XFAIL</emphasis>. Otherwise it'll produce
@@ -825,9 +825,11 @@
<varlistentry>
<term><parameter>includes</parameter></term>
<listitem><para>This is a list of sets of options to search for in
- the compiler options to activate this conditional. If any set of
- the options matches, then this conditional is
- true.</para></listitem>
+ the compiler options to activate this conditional. If the list of
+ sets of options is empty or if any set of the options matches,
+ then this conditional is true. (It may be useful to specify an
+ empty list of include sets if the conditional is always true
+ unless one of the exclude sets matches.)</para></listitem>
</varlistentry>
<varlistentry>
<term><parameter>excludes</parameter></term>
diff --git a/doc/user.sgml b/doc/user.sgml
index 1ed0313..6360cd3 100644
--- a/doc/user.sgml
+++ b/doc/user.sgml
@@ -389,7 +389,8 @@ runtest -v -v -v --tool calc CALC=`pwd`/calc --srcdir ./testsuite
<para>Calling runtest with the '--debug'-flag logs a lot of details to dbg.log where you can analyse it afterwards. </para>
-<para>In all test cases you can temporary adjust the verbosity of information by adding the following Tcl-command:</para>
+<para>In all test cases you can temporary adjust the verbosity of information by adding the following Tcl-command to any tcl file that gets loaded by
+dejagnu, for instance, ~/.dejagnurc:</para>
<programlisting>
set verbose 9
diff --git a/lib/framework.exp b/lib/framework.exp
index 8aa0641..e4fe609 100644
--- a/lib/framework.exp
+++ b/lib/framework.exp
@@ -579,6 +579,11 @@ proc check_conditional_xfail { args } {
# list, regardless of order to make sure they're found.
# So we look for lists in side of lists, and make sure all
# the elements match before we decide this is legit.
+ # Se we 'incl_hit' to 1 before the loop so that if the 'includes'
+ # list is empty, this test will report a hit. (This can be
+ # useful if a target will always fail unless certain flags,
+ # specified in the 'excludes' list, are used.)
+ set incl_hit 1
for { set i 0 } { $i < [llength $includes] } { incr i } {
set incl_hit 0
set opt [lindex $includes $i]
diff --git a/lib/libgloss.exp b/lib/libgloss.exp
index 9497f0d..ebb9ed4 100644
--- a/lib/libgloss.exp
+++ b/lib/libgloss.exp
@@ -832,12 +832,14 @@ proc build_wrapper { gluefile } {
set result "";
} elseif [target_info exists uses_underscores] {
set flags "additional_flags=-DUNDERSCORES";
- set result "-Wl,-wrap,__exit -Wl,-wrap,_main -Wl,-wrap,_abort";
+ set result "-Wl,-wrap,_exit -Wl,-wrap,__exit -Wl,-wrap,_main -Wl,-wrap,_abort";
+
} else {
set flags "";
if [target_info exists is_vxworks] {
set flags "additional_flags=-DVXWORKS";
set result "-Wl,-wrap,exit -Wl,-wrap,main -Wl,-wrap,abort";
+ set result "-Wl,-wrap,exit -Wl,-wrap,_exit -Wl,-wrap,main -Wl,-wrap,abort";
} else {
set result "-Wl,-wrap,exit -Wl,-wrap,_exit -Wl,-wrap,main -Wl,-wrap,abort";
}
diff --git a/lib/target.exp b/lib/target.exp
index 0cc3c9f..a5d5f47 100644
--- a/lib/target.exp
+++ b/lib/target.exp
@@ -262,7 +262,9 @@ proc prune_warnings { text } {
regsub -all "(^|\n)(ld(|32|64): Giving up.*Use -wall\[^\n\]*\n?)+" $text "\\1" text
# Or the NetBSD ones.
- regsub -all "(^|\n)(\[^\n\]*:\[0-9\]+: warning: \[^\n\]* possibly used unsafely, use \[^\n\]*\n?)" $text "\\1" text
+ regsub -all "(^|\n)(\[^\n\]*: In function\[^\n\]*\n\[^\n\]\[^\n\]*warning:this program uses \[^\n\]*)" $text "\\1" text
+ regsub -all "(^|\n)(\[^\n\]*: In function\[^\n\]*\n\[^\n\]\[^\n\]*warning:reference to compatibility \[^\n\]*)" $text "\\1" text
+ regsub -all "(^|\n)(\[^\n\]*:\[0-9\]+: warning: \[^\n\]* possibly used unsafely, use \[^\n\]*\n?)" $text "\\1" text
regsub -all "(^|\n)(\[^\n\]*: warning: reference to compatibility glob\[^\n\]*\n?)" $text "\\1" text
# GNU ld warns about functions marked as dangerous in GNU libc.
diff --git a/lib/utils.exp b/lib/utils.exp
index fcac507..8c5d338 100644
--- a/lib/utils.exp
+++ b/lib/utils.exp
@@ -25,12 +25,13 @@
#
#
-# Gets the directories in a directory
+# Gets the directories in a directory, or in a directory tree.
# args: the first is the dir to look in, the next
# is the pattern to match. It
# defaults to *. Patterns are csh style
# globbing rules
-# returns: a list of dirs or NULL
+# options: -all search the tree recursively
+# returns: a list of dirs or NULL; the root directory is not returned.
#
proc getdirs { args } {
if { [lindex $args 0] == "-all" } {
@@ -86,54 +87,32 @@ proc getdirs { args } {
}
#
-# Finds all the files recursively
-# rootdir - this is the directory to start the search
-# from. This is and all subdirectories are search for
-# filenames. Directory names are not included in the
-# list, but the filenames have path information.
-# pattern - this is the pattern to match. Patterns are csh style
-# globbing rules.
-# returns: a list or a NULL.
+# Finds paths of all non-directory files, recursively, whose names match
+# a pattern. Certain directory name are not searched (see proc getdirs).
+# rootdir - search in this directory and its subdirectories, recursively.
+# pattern - specified with Tcl string match "globbing" rules.
+# returns: a possibly empty list of pathnames.
#
proc find { rootdir pattern } {
- # first find all the directories
- set dirs "$rootdir "
- while 1 {
- set tmp $rootdir
- set rootdir ""
- if [string match "" $tmp] {
- break
- }
- foreach i $tmp {
- set j [getdirs -all $i]
- if ![string match "" $j] {
- append dirs "$j "
- set rootdir $j
- unset j
- } else {
- set rootdir ""
- }
- }
- set tmp ""
+ set files [list]
+ if { [string length $rootdir] == 0 || [string length $pattern] == 0 } {
+ return $files
}
+
+ # find all the directories
+ set dirs [concat [getdirs -all $rootdir] $rootdir]
- # find all the files that match the pattern
+ # find all the files in the directories that match the pattern
foreach i $dirs {
verbose "Looking in $i" 3
- set tmp [glob -nocomplain $i/$pattern]
- if { [llength $tmp] != 0 } {
- foreach j $tmp {
- if ![file isdirectory $j] {
- lappend files $j
- verbose "Adding $j to file list" 3
- }
+ foreach match [glob -nocomplain $i/$pattern] {
+ if ![file isdirectory $match] {
+ lappend files $match
+ verbose "Adding $match to file list" 3
}
}
}
-
- if ![info exists files] {
- lappend files ""
- }
+
return $files
}
diff --git a/runtest b/runtest
index 014595a..b663612 100755
--- a/runtest
+++ b/runtest
@@ -104,8 +104,8 @@ for i in `echo ${execpath} | sed -e 's@/[^/]*$@/share/dejagnu@'` `echo ${execpa
runpath=$i
if expr $verbose \> 0 > /dev/null ; then
echo Using $i/runtest.exp as main test driver
- break;
fi
+ break;
fi
done
# check for an environment variable
diff --git a/runtest.exp b/runtest.exp
index de4de7f..5409da6 100755
--- a/runtest.exp
+++ b/runtest.exp
@@ -20,7 +20,7 @@
# This file was written by Rob Savoye. (rob@welcomehome.org)
-set frame_version 1.4.3
+set frame_version 1.4.3.x
if ![info exists argv0] {
send_error "Must use a version of Expect greater than 5.0\n"
exit 1