This is the mail archive of the gdb@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: ARM and virtual/raw registers


>  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




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