This is the mail archive of the
gdb@sources.redhat.com
mailing list for the GDB project.
Re: Register cache
- To: eliz at is dot elta dot co dot il
- Subject: Re: Register cache
- From: Nick Duffek <nsd at redhat dot com>
- Date: Mon, 12 Feb 2001 12:53:09 -0500
- CC: gdb at sources dot redhat dot com, kettenis at wins dot uva dot nl
- References: <Pine.SUN.3.91.1010212092158.12969C-100000@is>
On 12-Feb-2001, Eli Zaretskii wrote:
>So you are telling, in effect, that it's okay to have
>i387_supply_fsave get all the FP registers
Yes, I think that's a reasonable and useful i387 interface.
>and x86 targets which don't like that should provide ther own code
>instead of using i387_supply_fsave?
Certainly they can't use i387_supply_fsave, so something like
i387_supply_fpreg would be necessary.
Note that the {supply,fill}_*regset functions aren't part of the register
cache interface: they're just a set of target-specific functions that
several targets happen have in common.
Those targets generally can't fetch just one floating-point register,
which is why the supply_*regset functions lack a REGNO argument. As Mark
said, the register cache continues to work properly if
target_fetch_registers fetches more registers than requested, so there's
no loss and potentially some gain for those targets to fetch all fp
registers.
If it's possible and more efficient on your target to fetch one fp
register instead of all of them, then I think i387_supply_fpreg is a good
idea.
In my opinion, interface expansion is preferable to code duplication, so I
agree with your patch to put i387_supply_fpreg in i387-nat.c. However,
that's really a coding philosophy issue, and since Mark wrote i387-nat.c,
I'm inclined to bow to his opinion on how it gets changed.
Nick