This is the mail archive of the gdb-patches@sources.redhat.com mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


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  <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
> 

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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]