2
votes

I'm doing debugging on an embedded PPC platform (the arch is ppc750) and I noticed that when a binary crashes, if I type 'info registers' into gdb I can't see the contents of the DAR (data access register), which should show the memory address that the program was trying to read - I get only the trap register that tells me the type of the exception:

(gdb) info registers
 r0             0x1034875e       271877982
 r1             0x7fffed30       2147478832
 r2             0xfd7f7a0        265811872
 [...]
 pc             0xf18d718        0xf18d718
 msr            0xd032   53298
 cr             0x80000848       2147485768
 lr             0xf18d6f8        0xf18d6f8
 ctr            0xf235d90        253975952
 xer            0x20000000       536870912
 orig_r3        0x26     38
 trap           0x300    768

Is this even possible? I'm using gdb 7.0.1 (kind of old, I know, but more recent versions don't play well with our ancient toolchain).

1

1 Answers

0
votes

I can't see the contents of the DAR (data access register)

As far as I can tell, that register is only available/usable in kernel mode.

Are you debugging on "bare metal"? If not, you shouldn't be looking for the DAR register in the first place.