I'm having the following problems with gdb/kgdb:
64bit CPU, running a 32 bit kernel. When I break at a certain point, I
can see that the kernel kgdb stub appears to be sending the correct
register information, where each reg value written in the kgdb packet is
32bit. However, the cross gdb client seems to be interpreting, or
expecting, 64bit register values so it 'skips' over every other value.
For example:
reg values sent by kgdb: reg values shown by gdb client:
reg 0: 0x00000000 reg0: 0x00000001
reg 1: 0x00000001 reg1: 0x00000002
reg 2: 0x00000002 reg2: 0x00000004
reg 3: 0x00000003
reg 4: 0x00000004
Should the kgdb stub be sending 64bit values for the registers, even
though it's a 32bit kernel? If the stub is supposed to be sending 32bit
register values, any suggestion why cross gdb is not interpreting them
correctly?
Thanks,
Pete
|