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
|