[RFA/testsuite] Fix linux-dp failure for multiple targets

Daniel Jacobowitz drow@mvista.com
Wed Jan 9 15:38:00 GMT 2002


Two things I noticed in my testsuite runs.  We were never finding the
manager thread, and in gcc3 (which apparently unlike GCC2 produces reliable
and stable addresses for the data pointers; I don't know why...) the second
target board to run would find the old value of the seen array.  'array set'
doesn't do what the author of the testcase expected.

Is this OK?

-- 
Daniel Jacobowitz                           Carnegie Mellon University
MontaVista Software                         Debian GNU/Linux Developer

2002-01-09  Daniel Jacobowitz  <drow@mvista.com>

	* gdb.threads/linux-dp.exp: Use 'array unset', not 'array set'.
	(check_philosopher_stack): Check for manager thread before checking
	for a just-starting thread.

Index: linux-dp.exp
===================================================================
RCS file: /cvs/src/src/gdb/testsuite/gdb.threads/linux-dp.exp,v
retrieving revision 1.4
diff -u -p -r1.4 linux-dp.exp
--- linux-dp.exp	2001/05/25 01:29:01	1.4
+++ linux-dp.exp	2002/01/09 23:35:01
@@ -172,6 +172,15 @@ proc check_philosopher_stack {thread see
 	    }
 	    set interesting 1
 	}
+	-re ".* in __pthread_manager \\(.*$gdb_prompt $" {
+	    if {$manager_seen == 1} {
+		fail "manager thread is distinct: $thread"
+	    } else {
+		set manager_seen 1
+		pass "manager thread is distinct: $thread"
+	    }
+	    set interesting 1
+	}
 	-re "pthread_start_thread.*\r\n$gdb_prompt $" {
 	    ## Maybe the thread hasn't started yet.
 	    pass $name
@@ -185,15 +194,6 @@ proc check_philosopher_stack {thread see
 	    }
 	    set interesting 1
 	}
-	-re ".* in __pthread_manager \\(.*$gdb_prompt $" {
-	    if {$manager_seen == 1} {
-		fail "manager thread is distinct: $thread"
-	    } else {
-		set manager_seen 1
-		pass "manager thread is distinct: $thread"
-	    }
-	    set interesting 1
-	}
 	-re " in \\?\\?.*\r\n$gdb_prompt $" {
 	    ## Sometimes we can't get a backtrace.  I'm going to call
 	    ## this a pass, since we do verify that at least one
@@ -214,7 +214,7 @@ proc check_philosopher_stack {thread see
 }
 
 set any_interesting 0
-array set seen {}
+array unset seen
 for {set i 1} {$i <= 7} {incr i} {
     if [check_philosopher_stack $i seen] {
 	set any_interesting 1



More information about the Gdb-patches mailing list