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

Andrew Cagney
2004-06-27T01:52:37Z

> We've got this test script to print hp register values,
> gdb/testsuite/gdb.hp/gdb.base-hp/reg.exp. I'm working on it because
> the hp register code changed between 6.1 and HEAD. There's some
> cosmetic differences in the results, which are easy for me to fix,
> and there's some 32-bit/64-bit changes, which I need help with.

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

It might also pay to check out `file gdb`, `file test-program`, "(gdb)
show architecture" and "(gdb) maint print registers" to see what's been
compbined. At least for other architectures only a 64-bit native
compiler can debug 64-bit code, and 32x64 while possible, gets more
interesting :-)

Andrew

> I'm testing with gdb 6.1.1 and with gdb HEAD 2004-06-01.
> My gdb's are native hppa2.0w-hp-hpux11.00, and I built them with
> gcc 3.3.2 using no special flags.
>
> Here is my actual output:
>
> # gdb 6.1.1
> # gdb built with gcc 3.3.2, no special flags
> (gdb) info reg r19
> r19 deadbeefbadcadee
> (gdb) print /x $r19
> $1 = 0xbadcadee^M
>
> # gdb HEAD 2004-06-01
> # gdb built with gcc 3.3.2, no special flags
> (gdb) info reg r19
> r19 0xbadcadee 3135024622
> (gdb) print /x $r19
> $1 = 0xbadcadee^M
>
> The inferior program has used assembly language to build a 64-bit
> value in $r19, and I'm using gdb to examine the value.
>
> In three of these four instances, there's 32-bit truncation going on.
> I need to figure out how to mark these in the test suite.
>
> In my view, the only correct result is the full 64-bit result.
> I want to make the test results be:
>
> # gdb 6.1.1
> PASS: gdb.base-hp/reg.exp: info reg r19
> KFAIL: gdb.base-hp/reg.exp: print /x $r19 (pr gdb/NNNN)
>
> # gdb HEAD 2004-06-01
> KFAIL: gdb.base-hp/reg.exp: info reg r19 (pr gdb/NNNN)
> KFAIL: gdb.base-hp/reg.exp: print /x $r19 (pr gdb/NNNN)
>
> The alternative would be to consider 32-bit truncation to be okay
> issue a PASS on all four results.
>
> Advice please?
>
> Michael C