This is the mail archive of the
gdb@sourceware.org
mailing list for the GDB project.
Re: What's an annex? stratum?
Stan Shebs wrote:
Michael Eager wrote:
Looking at target.c, I see some terms which are less
than clear: annex and stratum. Could someone tell me
what these mean?
"Annex" is apparently an introduction of Andrew's from 2004, does kind
of look like an address space addition, although not clear that it's
fully implemented.
I'm assuming that the XML target description in the docs is similarly
incomplete and/or obsolete.
There seems to be a fair amount of cruft in the code, and
even more in the documentation. Sigh.
"Stratum" is an old concept, merely a way to talk about different levels
of the target stack. In practice, the stacking concept isn't as clean as
it must have seemed initially; sometimes you really want to run a target
op in a vector down in the stack, sometimes you want to replace a target
vector in the middle. So we introduce strata as a way to find a
mid-stack target vector of a desired type. First big block comment in
target.h goes into a bit more detail.
I read the comments, but it doesn't really say what the target stack is.
I see the enum for different strata, giving a hierarchy.
I can see that you might layer a core file on top of an executable
file, so that searching for a symbol/address was passed down until
you found the one which contained it. But how does thread/process/
download fit into this picture?
--
Michael Eager eager@eagercon.com
1960 Park Blvd., Palo Alto, CA 94306 650-325-8077