This is the mail archive of the gdb-patches@sources.redhat.com mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [rfa:i386] Add mmx registers


Date: Tue, 13 Aug 2002 17:55:33 -0400
From: Andrew Cagney <ac131313@ges.redhat.com>

> + set_gdbarch_pseudo_register_read (gdbarch, i386_pseudo_register_read);
> + set_gdbarch_pseudo_register_write (gdbarch, i386_pseudo_register_write);
> > changes the i386 target's register cache from "legacy" to "new". This
> means that there isn't room for the pseudo registers in
> register_valid_p, yet registers_changed() tries to frob the entries
> for the pseudo registers.
> > I don't see an obvious way to fix this. Any bright ideas Andrew?

Hmm, yes. It should be clearing:
[0 .. current_regcache->descr->nr_raw_registers)

Clearing the pseudo registers isn't necessary on targets that still
use the legacy stuff?
Shh! nr_raw_registers == number of raw registers in the register cache == NUM_REGS + NUM_PSEUDO_REGS on legacy targets. Just don't tell anyone M'kay ;-)

/* FIXME: cagney/2002-05-11: Shouldn't be including pseudo-registers
in the register buffer. Unfortunatly some architectures do. */
descr->nr_cooked_registers = NUM_REGS + NUM_PSEUDO_REGS;
descr->nr_raw_registers = descr->nr_cooked_registers;
descr->sizeof_raw_register_valid_p = descr->nr_cooked_registers;

Andrew



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]