Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
* RFC: Some expect cleanups for the threads tests
@ 2003-07-26 16:04 Daniel Jacobowitz
  2003-07-26 22:48 ` Elena Zannoni
  0 siblings, 1 reply; 7+ messages in thread
From: Daniel Jacobowitz @ 2003-07-26 16:04 UTC (permalink / raw)
  To: gdb-patches; +Cc: ezannoni

These patches fix some testsuite problems on my setup - compiler and
assembler both support TLS, but the C library doesn't.  I think you get a
different error (earlier) if the kernel doesn't support TLS; I'll have to
check at some point.

Elena, how do the two TLS changes look?  The print-threads.exp just handles
the case where we weren't switching threads before reporting the SIGTRAP, so
the zombie notice was never printed.  If you say "info threads" at that
point GDB crashes.  I'll get that one later today.

-- 
Daniel Jacobowitz
MontaVista Software                         Debian GNU/Linux Developer

2003-07-26  Daniel Jacobowitz  <drow@mvista.com>

	* gdb.threads/print-threads.exp (test_all_threads): Loosen KFAIL
	pattern.
	* gdb.threads/tls-shared.exp: Don't use gdb_suppress_entire_file.
	* gdb.threads/tls.exp: Recognize one case of the host library not
	supporting TLS.

Index: gdb/testsuite/gdb.threads/print-threads.exp
===================================================================
RCS file: /cvs/src/src/gdb/testsuite/gdb.threads/print-threads.exp,v
retrieving revision 1.4
diff -u -p -r1.4 print-threads.exp
--- gdb/testsuite/gdb.threads/print-threads.exp	29 Jun 2003 19:29:42 -0000	1.4
+++ gdb/testsuite/gdb.threads/print-threads.exp	26 Jul 2003 16:00:40 -0000
@@ -94,7 +94,7 @@ proc test_all_threads { name kill } {
 		fail "all threads ran once ($name) (total $i threads ran)"
 	    }
 	}
-	-re "Program received signal SIGTRAP.*Thread \[0-9\]* \\(zombie\\).*$gdb_prompt $" {
+	-re "Program received signal SIGTRAP.*(Thread \[0-9\]* \\(zombie\\)|0x00000000 in ).*$gdb_prompt $" {
 	    if { $kill == 1 } {
 		kfail "gdb/1265" "Running threads ($name) (zombie thread)"
 	    } else {
Index: gdb/testsuite/gdb.threads/tls-shared.exp
===================================================================
RCS file: /cvs/src/src/gdb/testsuite/gdb.threads/tls-shared.exp,v
retrieving revision 1.1
diff -u -p -r1.1 tls-shared.exp
--- gdb/testsuite/gdb.threads/tls-shared.exp	22 Jul 2003 15:49:45 -0000	1.1
+++ gdb/testsuite/gdb.threads/tls-shared.exp	26 Jul 2003 16:00:40 -0000
@@ -78,7 +78,7 @@ if { ($gcc_compiled 
 }
 
 if {[gdb_compile_pthreads "${objdir}/${subdir}/${testfile}.o ${objdir}/${subdir}/${libfile}.so" "${binfile}" executable [list debug $additional_flags]] != ""} {
-    gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail."
+    return -1
 }
 
 
Index: gdb/testsuite/gdb.threads/tls.exp
===================================================================
RCS file: /cvs/src/src/gdb/testsuite/gdb.threads/tls.exp,v
retrieving revision 1.2
diff -u -p -r1.2 tls.exp
--- gdb/testsuite/gdb.threads/tls.exp	23 Jul 2003 03:08:26 -0000	1.2
+++ gdb/testsuite/gdb.threads/tls.exp	26 Jul 2003 16:00:40 -0000
@@ -172,6 +172,10 @@ gdb_test "b [gdb_get_line_number "before
 
 send_gdb "continue\n"
 gdb_expect {
+    -re ".*Program received signal SIGSEGV.*a_thread_local = 0;.*$gdb_prompt $" {
+        unsupported "continue to first thread: system does not support TLS"
+        return -1
+    }
     -re ".*Program exited normally.*$gdb_prompt $" {
         fail "continue to first thread: program runaway"
     }


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: RFC: Some expect cleanups for the threads tests
  2003-07-26 16:04 RFC: Some expect cleanups for the threads tests Daniel Jacobowitz
@ 2003-07-26 22:48 ` Elena Zannoni
  2003-07-26 22:49   ` Daniel Jacobowitz
  0 siblings, 1 reply; 7+ messages in thread
From: Elena Zannoni @ 2003-07-26 22:48 UTC (permalink / raw)
  To: Daniel Jacobowitz; +Cc: gdb-patches, ezannoni

Daniel Jacobowitz writes:
 > These patches fix some testsuite problems on my setup - compiler and
 > assembler both support TLS, but the C library doesn't.  I think you get a
 > different error (earlier) if the kernel doesn't support TLS; I'll have to
 > check at some point.
 > 
 > Elena, how do the two TLS changes look?  The print-threads.exp just handles
 > the case where we weren't switching threads before reporting the SIGTRAP, so
 > the zombie notice was never printed.  If you say "info threads" at that
 > point GDB crashes.  I'll get that one later today.
 > 
 > -- 
 > Daniel Jacobowitz
 > MontaVista Software                         Debian GNU/Linux Developer
 > 
 > 2003-07-26  Daniel Jacobowitz  <drow@mvista.com>
 > 
 > 	* gdb.threads/print-threads.exp (test_all_threads): Loosen KFAIL
 > 	pattern.
 > 	* gdb.threads/tls-shared.exp: Don't use gdb_suppress_entire_file.
 > 	* gdb.threads/tls.exp: Recognize one case of the host library not
 > 	supporting TLS.
 > 
 > Index: gdb/testsuite/gdb.threads/print-threads.exp
 > ===================================================================
 > RCS file: /cvs/src/src/gdb/testsuite/gdb.threads/print-threads.exp,v
 > retrieving revision 1.4
 > diff -u -p -r1.4 print-threads.exp
 > --- gdb/testsuite/gdb.threads/print-threads.exp	29 Jun 2003 19:29:42 -0000	1.4
 > +++ gdb/testsuite/gdb.threads/print-threads.exp	26 Jul 2003 16:00:40 -0000
 > @@ -94,7 +94,7 @@ proc test_all_threads { name kill } {
 >  		fail "all threads ran once ($name) (total $i threads ran)"
 >  	    }
 >  	}
 > -	-re "Program received signal SIGTRAP.*Thread \[0-9\]* \\(zombie\\).*$gdb_prompt $" {
 > +	-re "Program received signal SIGTRAP.*(Thread \[0-9\]* \\(zombie\\)|0x00000000 in ).*$gdb_prompt $" {
 >  	    if { $kill == 1 } {
 >  		kfail "gdb/1265" "Running threads ($name) (zombie thread)"
 >  	    } else {
 > Index: gdb/testsuite/gdb.threads/tls-shared.exp
 > ===================================================================
 > RCS file: /cvs/src/src/gdb/testsuite/gdb.threads/tls-shared.exp,v
 > retrieving revision 1.1
 > diff -u -p -r1.1 tls-shared.exp
 > --- gdb/testsuite/gdb.threads/tls-shared.exp	22 Jul 2003 15:49:45 -0000	1.1
 > +++ gdb/testsuite/gdb.threads/tls-shared.exp	26 Jul 2003 16:00:40 -0000
 > @@ -78,7 +78,7 @@ if { ($gcc_compiled 
 >  }
 >  
 >  if {[gdb_compile_pthreads "${objdir}/${subdir}/${testfile}.o ${objdir}/${subdir}/${libfile}.so" "${binfile}" executable [list debug $additional_flags]] != ""} {
 > -    gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail."
 > +    return -1
 >  }
 >  
 >  

Doh, of course.

 > Index: gdb/testsuite/gdb.threads/tls.exp
 > ===================================================================
 > RCS file: /cvs/src/src/gdb/testsuite/gdb.threads/tls.exp,v
 > retrieving revision 1.2
 > diff -u -p -r1.2 tls.exp
 > --- gdb/testsuite/gdb.threads/tls.exp	23 Jul 2003 03:08:26 -0000	1.2
 > +++ gdb/testsuite/gdb.threads/tls.exp	26 Jul 2003 16:00:40 -0000
 > @@ -172,6 +172,10 @@ gdb_test "b [gdb_get_line_number "before
 >  
 >  send_gdb "continue\n"
 >  gdb_expect {
 > +    -re ".*Program received signal SIGSEGV.*a_thread_local = 0;.*$gdb_prompt $" {
 > +        unsupported "continue to first thread: system does not support TLS"
 > +        return -1
 > +    }
 >      -re ".*Program exited normally.*$gdb_prompt $" {
 >          fail "continue to first thread: program runaway"
 >      }


Yuck. Is this the failure mode? Nothing detects this earlier? Sigh.

elena


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: RFC: Some expect cleanups for the threads tests
  2003-07-26 22:48 ` Elena Zannoni
@ 2003-07-26 22:49   ` Daniel Jacobowitz
  2003-07-26 23:24     ` Elena Zannoni
  0 siblings, 1 reply; 7+ messages in thread
From: Daniel Jacobowitz @ 2003-07-26 22:49 UTC (permalink / raw)
  To: Elena Zannoni; +Cc: gdb-patches

On Sat, Jul 26, 2003 at 06:55:45PM -0400, Elena Zannoni wrote:
> Daniel Jacobowitz writes:
>  > These patches fix some testsuite problems on my setup - compiler and
>  > assembler both support TLS, but the C library doesn't.  I think you get a
>  > different error (earlier) if the kernel doesn't support TLS; I'll have to
>  > check at some point.
>  > 
>  > Elena, how do the two TLS changes look?  The print-threads.exp just handles
>  > the case where we weren't switching threads before reporting the SIGTRAP, so
>  > the zombie notice was never printed.  If you say "info threads" at that
>  > point GDB crashes.  I'll get that one later today.
>  > 
>  > -- 
>  > Daniel Jacobowitz
>  > MontaVista Software                         Debian GNU/Linux Developer
>  > 
>  > 2003-07-26  Daniel Jacobowitz  <drow@mvista.com>
>  > 
>  > 	* gdb.threads/print-threads.exp (test_all_threads): Loosen KFAIL
>  > 	pattern.
>  > 	* gdb.threads/tls-shared.exp: Don't use gdb_suppress_entire_file.
>  > 	* gdb.threads/tls.exp: Recognize one case of the host library not
>  > 	supporting TLS.
>  > 
>  > Index: gdb/testsuite/gdb.threads/print-threads.exp
>  > ===================================================================
>  > RCS file: /cvs/src/src/gdb/testsuite/gdb.threads/print-threads.exp,v
>  > retrieving revision 1.4
>  > diff -u -p -r1.4 print-threads.exp
>  > --- gdb/testsuite/gdb.threads/print-threads.exp	29 Jun 2003 19:29:42 -0000	1.4
>  > +++ gdb/testsuite/gdb.threads/print-threads.exp	26 Jul 2003 16:00:40 -0000
>  > @@ -94,7 +94,7 @@ proc test_all_threads { name kill } {
>  >  		fail "all threads ran once ($name) (total $i threads ran)"
>  >  	    }
>  >  	}
>  > -	-re "Program received signal SIGTRAP.*Thread \[0-9\]* \\(zombie\\).*$gdb_prompt $" {
>  > +	-re "Program received signal SIGTRAP.*(Thread \[0-9\]* \\(zombie\\)|0x00000000 in ).*$gdb_prompt $" {
>  >  	    if { $kill == 1 } {
>  >  		kfail "gdb/1265" "Running threads ($name) (zombie thread)"
>  >  	    } else {
>  > Index: gdb/testsuite/gdb.threads/tls-shared.exp
>  > ===================================================================
>  > RCS file: /cvs/src/src/gdb/testsuite/gdb.threads/tls-shared.exp,v
>  > retrieving revision 1.1
>  > diff -u -p -r1.1 tls-shared.exp
>  > --- gdb/testsuite/gdb.threads/tls-shared.exp	22 Jul 2003 15:49:45 -0000	1.1
>  > +++ gdb/testsuite/gdb.threads/tls-shared.exp	26 Jul 2003 16:00:40 -0000
>  > @@ -78,7 +78,7 @@ if { ($gcc_compiled 
>  >  }
>  >  
>  >  if {[gdb_compile_pthreads "${objdir}/${subdir}/${testfile}.o ${objdir}/${subdir}/${libfile}.so" "${binfile}" executable [list debug $additional_flags]] != ""} {
>  > -    gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail."
>  > +    return -1
>  >  }
>  >  
>  >  
> 
> Doh, of course.
> 
>  > Index: gdb/testsuite/gdb.threads/tls.exp
>  > ===================================================================
>  > RCS file: /cvs/src/src/gdb/testsuite/gdb.threads/tls.exp,v
>  > retrieving revision 1.2
>  > diff -u -p -r1.2 tls.exp
>  > --- gdb/testsuite/gdb.threads/tls.exp	23 Jul 2003 03:08:26 -0000	1.2
>  > +++ gdb/testsuite/gdb.threads/tls.exp	26 Jul 2003 16:00:40 -0000
>  > @@ -172,6 +172,10 @@ gdb_test "b [gdb_get_line_number "before
>  >  
>  >  send_gdb "continue\n"
>  >  gdb_expect {
>  > +    -re ".*Program received signal SIGSEGV.*a_thread_local = 0;.*$gdb_prompt $" {
>  > +        unsupported "continue to first thread: system does not support TLS"
>  > +        return -1
>  > +    }
>  >      -re ".*Program exited normally.*$gdb_prompt $" {
>  >          fail "continue to first thread: program runaway"
>  >      }
> 
> 
> Yuck. Is this the failure mode? Nothing detects this earlier? Sigh.

Yeah :((

If the kernel does not support TLS and glibc does, then the binary
won't start; you get an error about set_thread_area, I think.  But if
the kernel _does_ support TLS and glibc doesn't, nothing goes wrong
until we access a thread local.

-- 
Daniel Jacobowitz
MontaVista Software                         Debian GNU/Linux Developer


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: RFC: Some expect cleanups for the threads tests
  2003-07-26 22:49   ` Daniel Jacobowitz
@ 2003-07-26 23:24     ` Elena Zannoni
  2003-07-28  1:00       ` Daniel Jacobowitz
  0 siblings, 1 reply; 7+ messages in thread
From: Elena Zannoni @ 2003-07-26 23:24 UTC (permalink / raw)
  To: Daniel Jacobowitz; +Cc: Elena Zannoni, gdb-patches

Daniel Jacobowitz writes:
 > On Sat, Jul 26, 2003 at 06:55:45PM -0400, Elena Zannoni wrote:
 > > Daniel Jacobowitz writes:
 > >  > These patches fix some testsuite problems on my setup - compiler and
 > >  > assembler both support TLS, but the C library doesn't.  I think you get a
 > >  > different error (earlier) if the kernel doesn't support TLS; I'll have to
 > >  > check at some point.
 > >  > 
 > >  > Elena, how do the two TLS changes look?  The print-threads.exp just handles
 > >  > the case where we weren't switching threads before reporting the SIGTRAP, so
 > >  > the zombie notice was never printed.  If you say "info threads" at that
 > >  > point GDB crashes.  I'll get that one later today.
 > >  > 
 > >  > -- 
 > >  > Daniel Jacobowitz
 > >  > MontaVista Software                         Debian GNU/Linux Developer
 > >  > 
 > >  > 2003-07-26  Daniel Jacobowitz  <drow@mvista.com>
 > >  > 
 > >  > 	* gdb.threads/print-threads.exp (test_all_threads): Loosen KFAIL
 > >  > 	pattern.
 > >  > 	* gdb.threads/tls-shared.exp: Don't use gdb_suppress_entire_file.
 > >  > 	* gdb.threads/tls.exp: Recognize one case of the host library not
 > >  > 	supporting TLS.
 > >  > 
 > >  > Index: gdb/testsuite/gdb.threads/print-threads.exp
 > >  > ===================================================================
 > >  > RCS file: /cvs/src/src/gdb/testsuite/gdb.threads/print-threads.exp,v
 > >  > retrieving revision 1.4
 > >  > diff -u -p -r1.4 print-threads.exp
 > >  > --- gdb/testsuite/gdb.threads/print-threads.exp	29 Jun 2003 19:29:42 -0000	1.4
 > >  > +++ gdb/testsuite/gdb.threads/print-threads.exp	26 Jul 2003 16:00:40 -0000
 > >  > @@ -94,7 +94,7 @@ proc test_all_threads { name kill } {
 > >  >  		fail "all threads ran once ($name) (total $i threads ran)"
 > >  >  	    }
 > >  >  	}
 > >  > -	-re "Program received signal SIGTRAP.*Thread \[0-9\]* \\(zombie\\).*$gdb_prompt $" {
 > >  > +	-re "Program received signal SIGTRAP.*(Thread \[0-9\]* \\(zombie\\)|0x00000000 in ).*$gdb_prompt $" {
 > >  >  	    if { $kill == 1 } {
 > >  >  		kfail "gdb/1265" "Running threads ($name) (zombie thread)"
 > >  >  	    } else {
 > >  > Index: gdb/testsuite/gdb.threads/tls-shared.exp
 > >  > ===================================================================
 > >  > RCS file: /cvs/src/src/gdb/testsuite/gdb.threads/tls-shared.exp,v
 > >  > retrieving revision 1.1
 > >  > diff -u -p -r1.1 tls-shared.exp
 > >  > --- gdb/testsuite/gdb.threads/tls-shared.exp	22 Jul 2003 15:49:45 -0000	1.1
 > >  > +++ gdb/testsuite/gdb.threads/tls-shared.exp	26 Jul 2003 16:00:40 -0000
 > >  > @@ -78,7 +78,7 @@ if { ($gcc_compiled 
 > >  >  }
 > >  >  
 > >  >  if {[gdb_compile_pthreads "${objdir}/${subdir}/${testfile}.o ${objdir}/${subdir}/${libfile}.so" "${binfile}" executable [list debug $additional_flags]] != ""} {
 > >  > -    gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail."
 > >  > +    return -1
 > >  >  }
 > >  >  
 > >  >  
 > > 
 > > Doh, of course.
 > > 
 > >  > Index: gdb/testsuite/gdb.threads/tls.exp
 > >  > ===================================================================
 > >  > RCS file: /cvs/src/src/gdb/testsuite/gdb.threads/tls.exp,v
 > >  > retrieving revision 1.2
 > >  > diff -u -p -r1.2 tls.exp
 > >  > --- gdb/testsuite/gdb.threads/tls.exp	23 Jul 2003 03:08:26 -0000	1.2
 > >  > +++ gdb/testsuite/gdb.threads/tls.exp	26 Jul 2003 16:00:40 -0000
 > >  > @@ -172,6 +172,10 @@ gdb_test "b [gdb_get_line_number "before
 > >  >  
 > >  >  send_gdb "continue\n"
 > >  >  gdb_expect {
 > >  > +    -re ".*Program received signal SIGSEGV.*a_thread_local = 0;.*$gdb_prompt $" {
 > >  > +        unsupported "continue to first thread: system does not support TLS"
 > >  > +        return -1
 > >  > +    }
 > >  >      -re ".*Program exited normally.*$gdb_prompt $" {
 > >  >          fail "continue to first thread: program runaway"
 > >  >      }
 > > 
 > > 
 > > Yuck. Is this the failure mode? Nothing detects this earlier? Sigh.
 > 
 > Yeah :((
 > 
 > If the kernel does not support TLS and glibc does, then the binary
 > won't start; you get an error about set_thread_area, I think.  But if
 > the kernel _does_ support TLS and glibc doesn't, nothing goes wrong
 > until we access a thread local.

Oh, ok. I only have a 0-1 configuration here. An old system with
nothing that supports TLS, and a new system with all the bits.

Maybe add your above explanation as a comment. Otherwise the test looks odd.

elena


 > 
 > -- 
 > Daniel Jacobowitz
 > MontaVista Software                         Debian GNU/Linux Developer


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: RFC: Some expect cleanups for the threads tests
  2003-07-26 23:24     ` Elena Zannoni
@ 2003-07-28  1:00       ` Daniel Jacobowitz
  0 siblings, 0 replies; 7+ messages in thread
From: Daniel Jacobowitz @ 2003-07-28  1:00 UTC (permalink / raw)
  To: gdb-patches

On Sat, Jul 26, 2003 at 07:32:08PM -0400, Elena Zannoni wrote:
> Oh, ok. I only have a 0-1 configuration here. An old system with
> nothing that supports TLS, and a new system with all the bits.
> 
> Maybe add your above explanation as a comment. Otherwise the test looks odd.

Checked in with that change, and the print-threads.exp bit on the
branch.  One more down...

-- 
Daniel Jacobowitz
MontaVista Software                         Debian GNU/Linux Developer


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: RFC: Some expect cleanups for the threads tests
@ 2003-07-27 17:42 Michael Elizabeth Chastain
  0 siblings, 0 replies; 7+ messages in thread
From: Michael Elizabeth Chastain @ 2003-07-27 17:42 UTC (permalink / raw)
  To: drow, gdb-patches; +Cc: ezannoni

It works for me.  Nothing got worse, and several things got better.

The print-threads change has no visible effect in my test bed.

The tls.exp change improves some configurations by giving an UNSUPPORTED
earlier (configurations with gcc HEAD).

The tls-shared.exp change gets rid of a bunch of ERROR/WARNING crap
after the UNSUPPORTED happens.

Recommended for self-approval.

(My test bed is red hat linux 8 with the vendor glibc, and a bunch
of different gcc's and binutils).

Michael C
 
===

2003-07-26  Daniel Jacobowitz  <drow@mvista.com>

	* gdb.threads/print-threads.exp (test_all_threads): Loosen KFAIL
	pattern.
	* gdb.threads/tls-shared.exp: Don't use gdb_suppress_entire_file.
	* gdb.threads/tls.exp: Recognize one case of the host library not
	supporting TLS.


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: RFC: Some expect cleanups for the threads tests
@ 2003-07-26 17:31 Michael Elizabeth Chastain
  0 siblings, 0 replies; 7+ messages in thread
From: Michael Elizabeth Chastain @ 2003-07-26 17:31 UTC (permalink / raw)
  To: drow, gdb-patches; +Cc: ezannoni

drow writes:
> These patches fix some testsuite problems on my setup - compiler and
> assembler both support TLS, but the C library doesn't.  I think you get a
> different error (earlier) if the kernel doesn't support TLS; I'll have to
> check at some point.

Oh, cool.  I'll throw this on my test bed and see if it's equal or
better in all configurations.  I build my own gcc and binutils,
but always use the system glibc (2.2.93-5-rh, on red hat linux 8),
so this will be good for me.

Michael C

===

2003-07-26  Daniel Jacobowitz  <drow@mvista.com>

	* gdb.threads/print-threads.exp (test_all_threads): Loosen KFAIL
	pattern.
	* gdb.threads/tls-shared.exp: Don't use gdb_suppress_entire_file.
	* gdb.threads/tls.exp: Recognize one case of the host library not
	supporting TLS.


^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2003-07-28  1:00 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2003-07-26 16:04 RFC: Some expect cleanups for the threads tests Daniel Jacobowitz
2003-07-26 22:48 ` Elena Zannoni
2003-07-26 22:49   ` Daniel Jacobowitz
2003-07-26 23:24     ` Elena Zannoni
2003-07-28  1:00       ` Daniel Jacobowitz
2003-07-26 17:31 Michael Elizabeth Chastain
2003-07-27 17:42 Michael Elizabeth Chastain

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox