+++ /dev/null
---- dejagnu-1.4.4/lib/remote.exp.smp 2003-10-10 23:42:46.000000000 -0700
-+++ dejagnu-1.4.4/lib/remote.exp 2005-08-05 12:32:10.107161990 -0700
-@@ -91,9 +91,13 @@ proc local_exec { commandline inp outp t
- # programs that bear children. We can't use tcl's exec because it has
- # no way to timeout programs that hang. *sigh*
- #
-+ # The expect command will close the connection when it sees EOF. On
-+ # SMP machine, close the connection may send SIGHUP to the child
-+ # and cause it to exit before it can exit normally. We should make
-+ # the child to ignore SIGHUP.
- if { "$inp" == "" && "$outp" == "" } {
- set id -1
-- set result [catch "eval spawn \{${commandline}\}" pid]
-+ set result [catch "eval spawn -ignore SIGHUP \{${commandline}\}" pid]
- if { $result == 0 } {
- set result2 0
- } else {
-@@ -134,7 +138,7 @@ proc local_exec { commandline inp outp t
- return [list -1 "open of $commandline $inp $outp failed: $errorInfo"]
- }
- set pid [pid $id]
-- set result [catch "spawn -leaveopen $id" result2]
-+ set result [catch "spawn -ignore SIGHUP -leaveopen $id" result2]
- }
- # Prepend "-" to each pid, to generate the "process group IDs" needed by
- # kill.
+++ /dev/null
-diff -Burp dejagnu-1.4.4/testsuite/libdejagnu/unit.cc dejagnu-1.4.4-pm/testsuite/libdejagnu/unit.cc
---- dejagnu-1.4.4/testsuite/libdejagnu/unit.cc 2003-08-17 03:33:06.000000000 +0200
-+++ dejagnu-1.4.4-pm/testsuite/libdejagnu/unit.cc 2007-10-03 18:31:03.000000000 +0200
-@@ -7,6 +7,7 @@
- #include <fstream>
- #include <set>
- #include <dejagnu.h>
-+#include <sstream>
-
- using namespace std;
-
-@@ -49,12 +50,8 @@ main (int argc, char *argv[]) {
- // Replace the output buffer for cout, so we can examine it to
- // see what was displayed. Otherwise, there is no way we can test
- // the logging functions completely.
-- char bbuuff[5120];
--#ifdef __STDC_HOSTED__
-- cout.rdbuf()->pubsetbuf(bbuuff, 5120);
--#else
-- cout.rdbuf()->setbuf(bbuuff, 5120);
--#endif
-+ stringstream stream;
-+ streambuf * buf = cout.rdbuf(stream.rdbuf());
-
- testClass1.tname = "testType1";
- testClass1.tnum = 1;
-@@ -65,53 +62,59 @@ main (int argc, char *argv[]) {
-
- // Test the pass message
- test.pass ("bogus pass message for testing");
-+ cout.flush();
- outstate = os2;
-- if (strncmp(bbuuff, "\tPAS: bogus pass message", 22) == 0) {
-+ if (strncmp(stream.str().c_str(), "\tPAS: bogus pass message", 22) == 0) {
- runtest.pass ("Pass message");
- } else {
- runtest.fail ("Pass message");
- }
-+ stream.str("");
-
- // Test the fail message
- outstate = os1;
- test.fail ("bogus fail message for testing");
- cout.flush();
- outstate = os2;
-- if (strncmp(bbuuff, "\tFAI: bogus fail message", 22) == 0) {
-+ if (strncmp(stream.str().c_str(), "\tFAI: bogus fail message", 22) == 0) {
- runtest.pass ("Fail message");
- } else {
- runtest.fail ("Fail message");
- }
-+ stream.str("");
-
- // Test the untested message
- outstate = os1;
- test.untested ("bogus untested message for testing");
- cout.flush();
- outstate = os2;
-- if (strncmp(bbuuff, "\tUNT: bogus untested message", 21) == 0) {
-+ if (strncmp(stream.str().c_str(), "\tUNT: bogus untested message", 21) == 0) {
- runtest.pass ("Untested message");
- } else {
- runtest.fail ("Untested message");
- }
-+ stream.str("");
-
- // Test the unresolved message
- outstate = os1;
- test.unresolved ("bogus unresolved message for testing");
- cout.flush();
- outstate = os2;
-- if (strncmp(bbuuff, "\tUNR: bogus unresolved message", 21) == 0) {
-+ if (strncmp(stream.str().c_str(), "\tUNR: bogus unresolved message", 21) == 0) {
- runtest.pass ("Unresolved message");
- } else {
- runtest.fail ("Unresolved message");
- }
-+ stream.str("");
-
- // Make sure we got everything in the totals
- regcomp (®ex_pat, "\r\n\t#passed.*#failed.*#untested.*#unresolved", REG_NOSUB|REG_NEWLINE);
-- if (regexec (®ex_pat, bbuuff, 0, (regmatch_t *)0, 0)) {
-+ if (regexec (®ex_pat, stream.str().c_str(), 0, (regmatch_t *)0, 0)) {
- runtest.pass ("Totals message");
- } else {
- runtest.fail ("Totals message");
- }
--}
--
-+ stream.str("");
-
-+ cout.rdbuf(buf);
-+}
+++ /dev/null
---- dejagnu-1.4.4/lib/utils.exp 2009-10-16 12:58:38.000000000 +0200
-+++ dejagnu-1.4.4/lib/utils.exp 2010-01-21 21:12:54.144855458 +0100
-@@ -106,7 +106,7 @@ proc find { rootdir pattern } {
- foreach i $dirs {
- verbose "Looking in $i" 3
- foreach match [glob -nocomplain $i/$pattern] {
-- if ![file isdirectory $match] {
-+ if {![file isdirectory $match]} {
- lappend files $match
- verbose "Adding $match to file list" 3
- }
-@@ -216,7 +216,7 @@ proc prune { list pattern } {
- set tmp {}
- foreach i $list {
- verbose "Checking pattern \"$pattern\" against $i" 3
-- if ![string match $pattern $i] {
-+ if {![string match $pattern $i]} {
- lappend tmp $i
- } else {
- verbose "Removing element $i from list" 3