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

Andrew Cagney cagney@gnu.org
Sun Jun 27 01:52:00 GMT 2004


> 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




More information about the Gdb mailing list