This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: [3/7] Adjust the bsd-uthread target
- From: Mark Kettenis <mark dot kettenis at xs4all dot nl>
- To: pedro at codesourcery dot com
- Cc: gdb-patches at sourceware dot org
- Date: Fri, 8 Aug 2008 23:51:25 +0200 (CEST)
- Subject: Re: [3/7] Adjust the bsd-uthread target
- References: <200808080236.04076.pedro@codesourcery.com>
> From: Pedro Alves <pedro@codesourcery.com>
> Date: Fri, 8 Aug 2008 02:36:03 +0100
>
> This patch adjusts the bsd-uthread target to use thread_change_ptid,
> and to never let the core see an event happen in a thread not in
> the thread table.
>
> Tested on i386-unknown-freebsd6.0 with a little hack in the
> testsuite to link the gdb.thread tests against -lc_r instead
> of -lpthread, and on i386-unknown-openbsd4.3, where no hack is
> needed.
>
> This patch depends on patch 1 and 2.
>
> OK?
>
> Index: src/gdb/bsd-uthread.c
> ===================================================================
> --- src.orig/gdb/bsd-uthread.c 2008-07-29 12:06:38.000000000 +0100
> +++ src/gdb/bsd-uthread.c 2008-07-29 12:17:34.000000000 +0100
> @@ -413,7 +415,7 @@ bsd_uthread_find_new_threads (void)
> {
> ptid_t ptid = ptid_build (pid, 0, addr);
>
> - if (!in_thread_list (ptid))
> + if (!in_thread_list (ptid) || is_exited (ptid))
> add_thread (ptid);
This doesn't make sense to me. You're adding a threadhere that's no
longer there?