Mirror of the gdb mailing list
 help / color / mirror / Atom feed
From: Daniel Jacobowitz <drow@false.org>
To: "Decker, Paul" <Paul.Decker@analog.com>
Cc: gdb@sources.redhat.com
Subject: Re: gdb port project
Date: Mon, 25 Apr 2005 18:49:00 -0000	[thread overview]
Message-ID: <20050425130441.GB7316@nevyn.them.org> (raw)
In-Reply-To: <E21A9A52FF03B249B20F0DC563DEBB311897855C@nwd2exm3.ad.analog.com>

On Fri, Apr 22, 2005 at 01:30:06PM -0400, Decker, Paul wrote:
>  
> 
> 
> Hello everyone,
> 
> We've been considering a port of gdb to support a new processor.  A
> couple of implementation specific questions seem to come to mind and I
> was curious if anyone had any ideas on these:
> 
> 1.  The gdb port would consist of the gdb application and a gdb
> proxy(server) which would connect to a custom ICE.  The gdb proxy has a
> list of registers for the specific processor which are in a specific
> order.  The gdb application also will have a list of registers.  Is
> there a way to insure these register lists are in 'sync' with each
> other, for example if an older version of the gdb proxy were used with a
> newer gdb which supported more registers, or registers in a different
> order.  This question could also be extended to include a basic gdb
> connecting to a proxy which supported multiple derivatives of the same
> processor, perhaps with a different feature set.
> 
> One thought I had was to extend the gdb debugger to ask, on startup, the
> proxy how many registers it supported, what their names were, and what
> order they were in. 

GDB doesn't currently support anythin like that.  But, I think it will
soon; I have a prototype implementation which is pretty similar to what
you describe.  I just need to find the time to propose it properly.

Normally you just define a register mapping, and make sure to add new
registers at the end.

> 2.  I've searched around for multi-processing support within gdb, and I
> don't see much in the way of supporting debugging multi-processor
> systems.  Specifically, if a processor has multiple cores, is there any
> standard convention for gdb to support this?
> 
> My initial idea was to have the proxy & ice support the multi cores, and
> have the ability of two instances of gdb to be started, the first
> instance would connect over tcp to port n, the second instance would
> connect to the second core on port n+1.  This way, 1 to n multi-cores
> could be debugged and controlled.  The downside is that there are no
> native multi-processor commands in gdb, for example, a run would cause a
> specific core to start running.  There isn't a method of issuing a 'run
> all' or a 'run group' to cause all the cores to or a group of cores to
> start running.  

In general, you use a single GDB and a single stub.  You present the
multiple cores as threads of a single program.  Anything missing in GDB
for dealing with multiple cores is likely to be missing for dealing
with threads, too; the models are very similar.

-- 
Daniel Jacobowitz
CodeSourcery, LLC


      parent reply	other threads:[~2005-04-25 13:05 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-04-22 17:30 Decker, Paul
2005-04-25 13:01 ` Ramana Radhakrishnan
2005-04-25 18:49 ` Daniel Jacobowitz [this message]

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=20050425130441.GB7316@nevyn.them.org \
    --to=drow@false.org \
    --cc=Paul.Decker@analog.com \
    --cc=gdb@sources.redhat.com \
    /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