This is the mail archive of the
gdb@sources.redhat.com
mailing list for the GDB project.
Re: Thread ID in gdbserver
- From: Daniel Jacobowitz <drow at false dot org>
- To: Atsushi Nemoto <anemo at mba dot ocn dot ne dot jp>
- Cc: gdb at sources dot redhat dot com
- Date: Mon, 6 Jun 2005 09:21:02 -0400
- Subject: Re: Thread ID in gdbserver
- References: <20050606.142517.51862870.nemoto@toshiba-tops.co.jp>
On Mon, Jun 06, 2005 at 02:25:17PM +0900, Atsushi Nemoto wrote:
> Hi. In Mar 2005, the type of cont_thread, stop_thread, etc. was
> changed to "unsigned long" from "int". But there are still some codes
> which assume these variables are signed numbers.
>
> For example, in gdbserver/server.c:
>
> unsigned long cont_thread;
> ...
> if (n == 1 && resume_info[0].thread != -1)
> cont_thread = resume_info[0].thread;
> else
> cont_thread = -1;
> ...
> if (step || sig || cont_thread > 0)
>
> This looks very suspicious.
>
> For now I do not know whether this is real problem, but it is
> potential bug and should be fixed, isn't it?
Absolutely. I have a bunch of saved mail in my todo list reminding me
to fix these, but I haven't yet. With a modern GDB using vCont, most
of these bugs are not encountered; I didn't do a detailed analysis of
the others to see if they'd cause problems, it would be easier to fix
them.
--
Daniel Jacobowitz
CodeSourcery, LLC