Mirror of the gdb mailing list
 help / color / mirror / Atom feed
From: Stan Shebs <stan@codesourcery.com>
To: Paul Koning <Paul_Koning@dell.com>
Cc: gdb@sourceware.org
Subject: Re: Towards multiprocess GDB
Date: Fri, 18 Jul 2008 21:41:00 -0000	[thread overview]
Message-ID: <48810927.3020004@codesourcery.com> (raw)
In-Reply-To: <18561.528.278824.732595@gargle.gargle.HOWL>

Paul Koning wrote:
>>>>>> "Stan" == Stan Shebs <stanshebs@earthlink.net> writes:
>>>>>>             
>
>  Stan> When it's time to run, the user will want the ability to run
>  Stan> anywhere from one to all of the programs, each with its own
>  Stan> argument list. It should be possible to do this with a single
>  Stan> command, so that the user isn't scrambling to put in all the
>  Stan> run commands quickly enough.
>
> Nice.
>
> Do we need a way to specify a different environment for each program?
>   
Yep, "path" and "set environment" and friends will all need per-program 
controls.
>  Stan> Implementationwise, we will need to replace the single exec
>  Stan> target with a list of execs, and modify symbol machinery to
>  Stan> support a many-many relationship between programs and symbol
>  Stan> tables. Although my inclination is to create a new symbol table
>  Stan> for each process' image of each shared library, that may be
>  Stan> excessively expensive.
>
> Indeed it might be excessive.  Avoiding it means adding the notion of
> per-program offsets, so program A can map library L at offset X, while
> program B maps that same library at offset Y.
>   
Yeah, I'm not yet sure whether we can do it without having to modify all 
the symbol lookup sites. It might make sense to have new symbol table 
objects that consist of process, offsets, and link to old-style symbol 
tables.
>  Stan> In addition to thoughts on desired user interface, I would
>  Stan> welcome suggestions on how to add this feature incrementally;
>  Stan> the abovementioned bits are a lot to add all at once!
>
> You mentioned threads in passing.  Those are still needed, so you need
> to allow multiple programs each of which may have multiple threads.
>   
That's right. In a way execution control is in better shape for this 
than other areas, because it's already had some hacking to facilitate 
listening to multiple issuers of events and such.

Stan


  reply	other threads:[~2008-07-18 21:21 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-07-18 20:50 Stan Shebs
2008-07-18 21:21 ` Paul Koning
2008-07-18 21:41   ` Stan Shebs [this message]
2008-07-21  0:34   ` Michael Snyder
2008-07-18 22:13 ` Mark Kettenis
2008-07-18 22:20   ` David Daney
2008-07-18 22:28   ` Thiago Jung Bauermann
2008-07-18 23:09   ` Stan Shebs
2008-07-19  3:53     ` Pedro Alves
2008-07-21 17:39       ` Stan Shebs
2008-07-21  1:53   ` Michael Snyder
2008-07-21 16:08     ` Russell Shaw
2008-07-21 17:57   ` Joel Brobecker
2008-07-18 23:13 ` Tom Tromey
2008-07-21 17:11   ` Stan Shebs
2008-07-21  0:30 ` Michael Snyder
2008-07-21 18:21   ` Paul Pluzhnikov
2008-07-21 18:32   ` Stan Shebs
2008-07-21 16:38 ` Michael Eager
2008-07-21 21:54   ` Stan Shebs
2008-07-31 22:04 ` Ian Lance Taylor

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=48810927.3020004@codesourcery.com \
    --to=stan@codesourcery.com \
    --cc=Paul_Koning@dell.com \
    --cc=gdb@sourceware.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox