Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: Daniel Jacobowitz <drow@false.org>
To: Mark Kettenis <mark.kettenis@xs4all.nl>
Cc: Ulrich Weigand <uweigand@de.ibm.com>, gdb-patches@sourceware.org
Subject: Re: [RFA][3/5] New port: Cell BE SPU (the port itself)
Date: Sun, 12 Nov 2006 22:12:00 -0000	[thread overview]
Message-ID: <20061112221146.GA24918@nevyn.them.org> (raw)
In-Reply-To: <13750.82.92.89.47.1163367694.squirrel@webmail.xs4all.nl>

On Sun, Nov 12, 2006 at 10:41:34PM +0100, Mark Kettenis wrote:
> 
> >  This means I leave GDB's notion of "host" as auto-detected (i.e.
> >  powerpc64),
> >  which means that GDB does not configure as a "native" target (since target
> >  != host).  However, the target-dependent files for the spu target actually
> >  include the spu-linux-nat.c file which installs itself onto the target
> >  stack
> >  and provides the "native" debugging capabilities that way.
> 
> I think that what you really want is a Linux powerpc native configuration
> that can debug both normal powerpc code and spu code.  That'd mean adding
> spu-linux-nat.c to config/powerpc/linux.mh.  But I suppose that doesn't
> really work right now.  But could we make that work?

In theory yes - but I'm not quite sure how.  You'd have more than one
target that could take control when you said "run" and for Cell I think
you'd have to disambiguate based on the architecture of the file.  But
Ulrich said they had more patches that weren't ready for mainline and I
bet some of them make this nicer :-)  Since really you would want to
debug both at once.

In the mean time, I suppose you could configure a native powerpc64
debugger with some special flag that caused it to only work for SPU
instead of PPC64, but if I had to come up with a way to do this, I'm
afraid I'd end up with exactly what Ulrich did: a ppc-linux->spu-elf
debugger that knew how to run things on the SPU.

I guess what really is throwing us here is the use of "nat".  Isn't
this really more like one of the custom remote-foo.c targets than a
native target?  It just happens to be implemented using PowerPC/Linux
kernel facilities spelled "ptrace" and some poking around in a PowerPC
executable in order to implement "run".  The ptrace facilities don't
seem to be used much to talk to the SPU; new files in /proc are used
instead.  It's forking and running a PowerPC executable until it makes
a special SPU-related syscall, and then it starts talking to the SPU.

That's an oversimplification; this is quite twisty!

-- 
Daniel Jacobowitz
CodeSourcery


  reply	other threads:[~2006-11-12 22:12 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-11-11 18:39 Ulrich Weigand
2006-11-11 21:19 ` Mark Kettenis
2006-11-12 15:38   ` Ulrich Weigand
2006-11-12 21:42     ` Mark Kettenis
2006-11-12 22:12       ` Daniel Jacobowitz [this message]
2006-11-13 12:27         ` Ulrich Weigand
2006-11-13 12:43           ` Mark Kettenis
2006-11-13 13:48             ` Daniel Jacobowitz
2006-11-13 19:50             ` Jim Blandy
2006-11-18  0:10             ` Ulrich Weigand
2006-11-18  6:03               ` Daniel Jacobowitz
2006-11-18 11:10                 ` Ulrich Weigand
2006-11-18 16:41                   ` Daniel Jacobowitz
2006-11-18 17:35               ` Mark Kettenis
2006-11-21 20:22                 ` Ulrich Weigand
2006-11-21 20:40                   ` Daniel Jacobowitz
2006-11-21 21:32                   ` Mark Kettenis
2006-11-22 14:13                     ` Ulrich Weigand
2006-11-22 18:43                       ` Daniel Jacobowitz
2006-11-22 19:46                         ` Ulrich Weigand

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=20061112221146.GA24918@nevyn.them.org \
    --to=drow@false.org \
    --cc=gdb-patches@sourceware.org \
    --cc=mark.kettenis@xs4all.nl \
    --cc=uweigand@de.ibm.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