Re: mapping addresses

Andrew Cagney
2002-08-19T20:22:28Z

GDB has limited address space support (but it doen't include x86
segments). Have a look at:

/* Instruction-space delimited type. This is for Harvard architectures
which have separate instruction and data address spaces (and perhaps
others).

GDB usually defines a flat address space that is a superset of the
architecture's two (or more) address spaces, but this is an extension
of the architecture's model.

If TYPE_FLAG_INST is set, an object of the corresponding type
resides in instruction memory, even if its address (in the extended
flat address space) does not reflect this.

Similarly, if TYPE_FLAG_DATA is set, then an object of the
corresponding type resides in the data memory space, even if
this is not indicated by its (flat address space) address.

If neither flag is set, the default space for functions / methods
is instruction space, and for data objects is data memory. */

#define TYPE_FLAG_CODE_SPACE (1 << 9)
#define TYPE_CODE_SPACE(t) (TYPE_INSTANCE_FLAGS (t) &
TYPE_FLAG_CODE_SPACE)

#define TYPE_FLAG_DATA_SPACE (1 << 10)
#define TYPE_DATA_SPACE(t) (TYPE_INSTANCE_FLAGS (t) &
TYPE_FLAG_DATA_SPACE)

and the discussion thread that lead to it.

enjoy,
Andrew