Register numbers on hppa64

Randolph Chung randolph@tausq.org
Sat Nov 26 09:23:00 GMT 2005


OK, this is a mess....:)

Apparently we now have at least three different register numbering 
schemes for hppa64:

1) gcc "dbx":
0-31: r0-r31
72-135: fr0-fr31 (odd numbers are not used)
60: sar

2) gcc dwarf frame:
unity mapping, so:
0-31: r0-r31
32-59: fr4-fr31
60: sar

3) gdb
0-31: r0-r31
32-63: sar, pcoqh, pcsqh, other "special" registers
64-95: fr0-fr31

4) HP compilers
???

Joel, does your GNAT C compiler output something different from the 
above? :-)

Obviously this will not work....

The gdb numbering scheme seems to be there for a long time. I don't know 
if this is the way HP numbers registers in their debug format. Does 
anybody have a pointer to this information?

I see that in late 2003/early 2004 there was a discussion about archs 
with mismatched "dbx register numbers" vs "dwarf CFI register numbers" 
on gcc@gcc.gnu.org and gdb-patches@gcc.gnu.org. Back then the discussion 
was about ppc64, although i was not quite sure what was the conclusion 
of those discussions. hppa64 is in a similar situation.

Any comments or suggestions on how to sort this out? Should I just 
change gdb to match what gcc outputs? Should we change gcc to match what 
gdb expects? (safer?)

randolph



More information about the Gdb mailing list