linux-mips
[Top] [All Lists]

Re: gdb/kgdb register mismatch

To: Pete Popov <ppopov@embeddedalley.com>
Subject: Re: gdb/kgdb register mismatch
From: Daniel Jacobowitz <dan@debian.org>
Date: Thu, 23 Feb 2006 16:31:24 -0500
Cc: "'linux-mips@linux-mips.org'" <linux-mips@linux-mips.org>
In-reply-to: <1140723606.11388.321.camel@localhost.localdomain>
Original-recipient: rfc822;linux-mips@linux-mips.org
References: <1140723606.11388.321.camel@localhost.localdomain>
Sender: linux-mips-bounce@linux-mips.org
User-agent: Mutt/1.5.8i
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

<Prev in Thread] Current Thread [Next in Thread>