This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: [patch] testsuite: watchthreads-reorder: Linux kernel compat.
- From: Pedro Alves <pedro at codesourcery dot com>
- To: gdb-patches at sourceware dot org
- Cc: Jan Kratochvil <jan dot kratochvil at redhat dot com>
- Date: Mon, 31 May 2010 03:10:07 +0100
- Subject: Re: [patch] testsuite: watchthreads-reorder: Linux kernel compat.
- References: <20100530211326.GA12218@host0.dyn.jankratochvil.net>
On Sunday 30 May 2010 22:13:26, Jan Kratochvil wrote:
> OK to check-in?
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. Okay as is too if there's a good reason to do it as is.
>
>
> Thanks,
> Jan
>
>
> 2010-05-30 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.
> (proc_string) <T (tracing stop)>: New.
> (main): Update the state_wait expect string.
>
> --- a/gdb/testsuite/gdb.threads/watchthreads-reorder.c
> +++ b/gdb/testsuite/gdb.threads/watchthreads-reorder.c
> @@ -99,7 +99,7 @@ thread1_func (void *unused)
>
> 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 @@ thread2_func (void *unused)
>
> 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);
> @@ -165,6 +165,12 @@ proc_string (const char *filename, const char *line)
> exit (EXIT_FAILURE);
> }
>
> + /* 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 (&buf[line_len], "T (tracing stop)") == 0)
> + buf[line_len] = 't';
> +
> return &buf[line_len];
> }
> if (errno != 0)
> @@ -336,9 +342,9 @@ main (int argc, char **argv)
> {
> /* 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 ();
>
--
Pedro Alves