ARM and virtual/raw registers
Andrew Cagney
ac131313@cygnus.com
Sun May 12 08:41:00 GMT 2002
> However, in this situation,
>> > pseudo_rengo("r0") != regcache_regno("r0"), yet we effectively have
>> >
>> > REGSITER_RAW_SIZE (pseudo_regno ("r0"))
>> > and
>> > REGISTER_RAW_SIZE (regcache_regno ("r0"))
>
>>
>> Sorry, I still don't understand.
>
>
> In my view of things, the domain of the result returned by pseudo_regno()
> is
> 0..Num_pseudos,
Pseudo-registers occupy the space:
[NUM_REGS .. NUM_REGS+NUM_PSEUDO_REGS)
there isn't an overlap.
As I said, I'd like to have strongly typed ``struct pseudoreg *'' and
``struct rawreg *''. In the mean time, this numeric separation is the
onlything we have.
> and the domain of regcache_regno() is
>
> 0..NUM_REGS
>
> But we have cases where the two functions return a different number for
> the same register; more precisely, we might encounter the situation where
>
> pseudo_regno ("int_reg0") == regcache_regno ("float_reg5")
That isn't correct.
Andrew
More information about the Gdb
mailing list