mapping addresses

Andrew Cagney ac131313@ges.redhat.com
Mon Aug 19 13:22:00 GMT 2002


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



More information about the Gdb mailing list