Re: What's an annex? stratum?

Michael Eager
2007-06-23T19:08:46Z

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