On Thu, 2006-02-23 at 16:31 -0500, Daniel Jacobowitz wrote: > 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". It works, thanks! I'm not sure how well documented this is but perhaps it's just because I don't use kgdb often. Pete