From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 15864 invoked by alias); 30 Jan 2002 15:04:29 -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 15830 invoked from network); 30 Jan 2002 15:04:28 -0000 Received: from unknown (HELO cygnus.com) (205.180.230.5) by sources.redhat.com with SMTP; 30 Jan 2002 15:04:28 -0000 Received: from redhat.com (rtl.sfbay.redhat.com [205.180.230.21]) by runyon.cygnus.com (8.8.7-cygnus/8.8.7) with ESMTP id HAA01523; Wed, 30 Jan 2002 07:04:26 -0800 (PST) Message-ID: <3C580B61.85C3D87F@redhat.com> Date: Wed, 30 Jan 2002 07:04:00 -0000 From: Fernando Nasser Organization: Red Hat Canada X-Mailer: Mozilla 4.78 [en] (X11; U; Linux 2.4.9-21 i686) X-Accept-Language: en MIME-Version: 1.0 To: Daniel Jacobowitz CC: gdb-patches@sources.redhat.com, Michael Snyder Subject: Re: [RFA/testsuite] Fix linux-dp failure for multiple targets References: <20020109183926.A17757@nevyn.them.org> <20020130005733.C28963@nevyn.them.org> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-SW-Source: 2002-01/txt/msg00777.txt.bz2 Daniel Jacobowitz wrote: > > 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. > Michael Snyder has the final word on this one. I don't have any objections. Fernando > > 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 -- Fernando Nasser Red Hat Canada Ltd. E-Mail: fnasser@redhat.com 2323 Yonge Street, Suite #300 Toronto, Ontario M4P 2C9