From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 22001 invoked by alias); 30 Jan 2002 05:57:32 -0000 Mailing-List: contact gdb-patches-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sources.redhat.com Received: (qmail 21901 invoked from network); 30 Jan 2002 05:57:28 -0000 Received: from unknown (HELO nevyn.them.org) (128.2.145.6) by sources.redhat.com with SMTP; 30 Jan 2002 05:57:28 -0000 Received: from drow by nevyn.them.org with local (Exim 3.34 #1 (Debian)) id 16VnkT-0007aX-00 for ; Wed, 30 Jan 2002 00:57:33 -0500 Date: Tue, 29 Jan 2002 21:57:00 -0000 From: Daniel Jacobowitz To: gdb-patches@sources.redhat.com Subject: Re: [RFA/testsuite] Fix linux-dp failure for multiple targets Message-ID: <20020130005733.C28963@nevyn.them.org> Mail-Followup-To: gdb-patches@sources.redhat.com References: <20020109183926.A17757@nevyn.them.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20020109183926.A17757@nevyn.them.org> User-Agent: Mutt/1.3.23i X-SW-Source: 2002-01/txt/msg00772.txt.bz2 On Wed, Jan 09, 2002 at 06:39:26PM -0500, Daniel Jacobowitz wrote: > 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? I'd appreciate it if someone would review this. > 2002-01-09 Daniel Jacobowitz > > * 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 > -- Daniel Jacobowitz Carnegie Mellon University MontaVista Software Debian GNU/Linux Developer