This is the mail archive of the gdb-patches@sourceware.org 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: [patch] testsuite: watchthreads-reorder: Linux kernel compat.


On Mon, 31 May 2010 04:10:07 +0200, Pedro Alves wrote:
> I tried to understand why you did this within proc_string, but I don't
> think I got it, since proc_string is used to extract other lines, not
> just the "State:" line.  Why not do this within state_wait?  Okay with
> that change.

I fully agree, thanks for catching it.

Checked-in with that change.


Regards,
Jan


http://sourceware.org/ml/gdb-cvs/2010-05/msg00255.html

--- src/gdb/testsuite/ChangeLog	2010/05/28 23:47:40	1.2293
+++ src/gdb/testsuite/ChangeLog	2010/05/31 03:31:16	1.2294
@@ -1,3 +1,11 @@
+2010-05-31  Jan Kratochvil  <jan.kratochvil@redhat.com>
+
+	Accept the new Linux kernel "t (tracing stop)" string.
+	* gdb.threads/watchthreads-reorder.c (thread1_func, thread2_func):
+	Update comment.
+	(state_wait) <T (tracing stop)>: New.
+	(main): Update the state_wait expect string.
+
 2010-05-28  Pedro Alves  <pedro@codesourcery.com>
 
 	* limits.c, limits.exp: Delete files.
--- src/gdb/testsuite/gdb.threads/watchthreads-reorder.c	2010/01/20 21:09:30	1.3
+++ src/gdb/testsuite/gdb.threads/watchthreads-reorder.c	2010/05/31 03:31:17	1.4
@@ -99,7 +99,7 @@
 
   rwatch_store = thread1_rwatch;
 
-  /* Be sure the "T (tracing stop)" test can proceed for both threads.  */
+  /* Be sure the "t (tracing stop)" test can proceed for both threads.  */
   timed_mutex_lock (&terminate_mutex);
   i = pthread_mutex_unlock (&terminate_mutex);
   assert (i == 0);
@@ -125,7 +125,7 @@
 
   rwatch_store = thread2_rwatch;
 
-  /* Be sure the "T (tracing stop)" test can proceed for both threads.  */
+  /* Be sure the "t (tracing stop)" test can proceed for both threads.  */
   timed_mutex_lock (&terminate_mutex);
   i = pthread_mutex_unlock (&terminate_mutex);
   assert (i == 0);
@@ -211,6 +211,13 @@
   do
     {
       state = proc_string (filename, "State:\t");
+
+      /* torvalds/linux-2.6.git 464763cf1c6df632dccc8f2f4c7e50163154a2c0
+	 has changed "T (tracing stop)" to "t (tracing stop)".  Make the GDB
+	 testcase backward compatible with older Linux kernels.  */
+      if (strcmp (state, "T (tracing stop)") == 0)
+	state = "t (tracing stop)";
+
       if (strcmp (state, wanted) == 0)
 	{
 	  free (filename);
@@ -336,9 +343,9 @@
     {
       /* s390x-unknown-linux-gnu will fail with "R (running)".  */
 
-      state_wait (thread1_tid, "T (tracing stop)");
+      state_wait (thread1_tid, "t (tracing stop)");
 
-      state_wait (thread2_tid, "T (tracing stop)");
+      state_wait (thread2_tid, "t (tracing stop)");
     }
 
   cleanup ();


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