This is the mail archive of the
gdb-patches@sources.redhat.com
mailing list for the GDB project.
[RFA/testsuite] Fix linux-dp failure for multiple targets
- From: Daniel Jacobowitz <drow at mvista dot com>
- To: gdb-patches at sources dot redhat dot com
- Date: Wed, 9 Jan 2002 18:39:26 -0500
- Subject: [RFA/testsuite] Fix linux-dp failure for multiple targets
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