2000-07-12 Michael Snyder <msnyder@cleaver.cygnus.com>
authorMichael Snyder <msnyder@vmware.com>
Wed, 12 Jul 2000 22:01:17 +0000 (22:01 +0000)
committerMichael Snyder <msnyder@vmware.com>
Wed, 12 Jul 2000 22:01:17 +0000 (22:01 +0000)
commitfcdc5976b34caefdbc10b76bd953394916a44856
treef6f69f0eb569787ee747572c130f99ad926908ec
parent86d65c94b28348d0f70a9bac843ae3b2d4f43b85
2000-07-12  Michael Snyder  <msnyder@cleaver.cygnus.com>

        * regcache.c (registers_changed, registers_fetched): Use
        ARCH_NUM_REGS directly, eliminating an unnecessary variable.

        This change adds pseudo-register capability to GDB.
        Pseudo-registers are handled like registers, but they
        don't come from or live on the target.  They may be
        aliases for an existing register, or they may be computed.
        * defs.h (NUM_PSEUDO_REGISTERS): Define default of zero.
        (ARCH_FETCH_PSEUDO_REGISTERS): Define default of no-op.
        (ARCH_STORE_PSEUDO_REGISTERS): Define default of no-op.
        # regcache.c (registers_changed): Mark pseudo-registers
        invalid, as well as real registers.
        (registers_fetched): Do not mark pseudo-registers as fetched
        at the same time as other (real) registers.
        (read_register_bytes): Fetch pseudo-registers (if any) from
        the target architecture module instead of from the target.
        (read_register_gen): Ditto.
        (read_register): Ditto.
        (write_register_bytes): Store pseudo-registers (if any) to
        the target architecture module instead of to the target.
        (write_register_gen): Ditto.
        (write_register): Ditto.
        (build_regcache): Allocate enough register_valid space for
        pseudo-registers as well as normal (real) ones.
gdb/ChangeLog
gdb/inferior.h
gdb/regcache.c