On Thu, Feb 23, 2006 at 11:40:06AM -0800, Pete Popov wrote:
>
> 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?
This is a FAQ; it's a bug in GDB that will be fixed someday, but for
now use "set architecture mips:isa32".
--
Daniel Jacobowitz
CodeSourcery
|