Re: native hppa2.0w-hp-hpux11.00, 32-bit versus 64-bit

Andrew Cagney
2004-06-28T14:03:27Z

>>ac> What's the ABI wordsize - the size of a register pushed onto the stack?
>>> ac> "info registers" should be using that register size and looking at the
>>> ac> HP/PA code, that appears to be the case.
>>>
>>> It's 4 bytes, all right.

Lets expand the list (you can get much of this from sizeof.exp):

- sizeof (saved register)
- sizeof (int)
- sizeof (long)
- sizeof (void *)
- sizeof (long long)
- sizeof (ptrace/ktrace register)

> The hppa target naming conventions are a bit weird (to me, at least)

I'm guessing that we're missing one:

hppa1.x executable. Since michael stated that registers were being
saved as 4-bytes, I think we're looking at this one.

> hppa2.0w-*-* is a 32-bit target, however the w means that you can use
> 64-bit registers and the pa2.0 64-bit opcodes (ldd, std, etc)

This is sounding a lot like MIPS N32:

8 - sizeof (saved register)
4 - sizeof (int)
4 - sizeof (long)
4 - sizeof (void *)
8 - sizeof (long long)
8 - sizeof (ptrace/ktrace register)

> hppa64-*-* is the 64-bit target.
>
>
>>> The funny thing is, gdb 6.1.1 "maint print registers" says that
>>> r19 is 4 bytes long, but "info reg r19" has special code to print
>>> all 8 bytes of it.
>>>
>>> I'm still kinda dubious, but if it's okay with randolph that the
>>> debugger quietly operates in 32-bit mode, it's okay with me.
>>> I would do something like this:
>
>
> Yes, i think this is ok.

This is getting into 32x64 - there be dragons.

Andrew