public inbox for gdb@sourceware.org
 help / color / mirror / Atom feed
From: Andrew Cagney <ac131313@redhat.com>
To: "Liang, James" <jliang@sandia.gov>
Cc: "'gdb@sources.redhat.com'" <gdb@sources.redhat.com>
Subject: Re: question about target.to_stratum
Date: Sun, 11 May 2003 15:35:00 -0000	[thread overview]
Message-ID: <3EBE6DC0.8070807@redhat.com> (raw)
In-Reply-To: <71251C7D5FB1D2119C8F0008C7A44ED103792080@es07snlnt.sandia.gov>

> What is the meaning and use of to_stratum?  What is it used to represent?

The idea was that the target was made up of a number of layers and the 
user could move between them.  For instance:

- threads
- core file
- the executable file

If gdb needed to read the target's memory, it was able to work its way 
down the stratum until it found one that could furnish the request.  A 
read of the text segment, in the above, would end up being handled by 
the executable/file stratum.

The benefit was that the user could change stratum layers (e.g., replace 
"core file" with "live process") and consequently switch between 
conceptual targets (did that make sense?).

It turned out though, that things are more complicated than this. 
Instead of a few simple layers a directed graph is involved vis:

     .-< core file <- thread layer
    /
exe
    \
     `-< live process <- thread layer

Unfortunatly, the current target infrastructure isn't up to this.  GDB 
needs to instead allow multiple active targets.  Allowing multiple 
active threads, targets, and address spaces are all on the "things to do 
today list" ...  On a bright note, frames, register cache and 
architecture were also all once on that list.

> I noticed that the push_target function in target.c closes existing targets
> of the same stratum.  If my user types
> target <bla> after starting up, this always causes it to close the target
> that I am trying to push because they both have the same stratum.



> I looked at the way exec does it, and I can tell that it changes the stratum
> to dummy before calling push again, but I don't see where.  How does this
> work?

That I don't know.

Andrew



      reply	other threads:[~2003-05-11 15:35 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-05-05 19:09 Liang, James
2003-05-11 15:35 ` Andrew Cagney [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=3EBE6DC0.8070807@redhat.com \
    --to=ac131313@redhat.com \
    --cc=gdb@sources.redhat.com \
    --cc=jliang@sandia.gov \
    /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;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).