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: bsd-kvm target, always a thread


> From: Pedro Alves <pedro@codesourcery.com>
> Date: Sat, 9 Aug 2008 12:27:34 +0100
> 
> On Saturday 09 August 2008 09:32:57, Mark Kettenis wrote:
> > > From: Pedro Alves <pedro@codesourcery.com>
> 
> > Hmm, it is unfortunate that a process ID of 0 is "verboten", since
> > that's what you are really looking at with "target kvm".  And it
> > should be possible for me to actually make all the running processes
> > visible as kernel "threads".
> >
> 
> > I guess your diff is right, although I'd prefer a less arbitrary ptid
> > to be used.  Would something like ptid_build(0, 1, 0) work?
> 
> I'd prefer to get away without pid == 0.  I'm going to
> introduce later a "struct inferior" which holds an "int pid", and
> we will match a ptid to a struct inferior by its ptid.pid.
> I'd rather avoid having an inferior with pid == 0.
> 
> Does something like this work for you?
> 
>     ptid(42000, 0, 0)    ->  for use when we pass around a      
>                              ptid representing the whole inferior.
> 
>     ptid(42000, 1, 0)    ->  in kernel
> 
>     ptid(42000, 1, 1)  ->  process 1.
>     ptid(42000, 1, 2)  ->  process 2
>     ptid(42000, 1, 3)  ->  process 3
>     ...

Something like that'd work fine for the OpenBSD kernel.

> These are internal ids, of course.  We only show them what we
> want in target_pid_to_str and target_extra_thread_info.  The user
> doesn't need to know anything about these ids.

Sure, I'd just think you should use something that's a bit less
arbitrary than 42000 (which could be confused with a real process ID)
here.  I see that remote.c uses negative numbers for special cases.
Would using -1 or -2 work for you?


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