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: native hppa2.0w-hp-hpux11.00, 32-bit versus 64-bit


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



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