linux-mips
[Top] [All Lists]

Re: gdb vs. gdbserver with -mips3 / 32bitmode userspace

To: Daniel Jacobowitz <dan@debian.org>
Subject: Re: gdb vs. gdbserver with -mips3 / 32bitmode userspace
From: Ralf Baechle <ralf@linux-mips.org>
Date: Thu, 2 Feb 2006 13:26:58 +0000
Cc: Michael Uhler <uhler@mips.com>, "'Maciej W. Rozycki'" <macro@linux-mips.org>, "'Johannes Stezenbach'" <js@linuxtv.org>, linux-mips@linux-mips.org
In-reply-to: <20060201192404.GA11719@nevyn.them.org>
Original-recipient: rfc822;linux-mips@linux-mips.org
References: <20060201164423.GA4891@nevyn.them.org> <005901c62754$b414dc80$bb14a8c0@MIPS.COM> <20060201192404.GA11719@nevyn.them.org>
Sender: linux-mips-bounce@linux-mips.org
User-agent: Mutt/1.4.2.1i
On Wed, Feb 01, 2006 at 02:24:04PM -0500, Daniel Jacobowitz wrote:

> > The O/S maybe doing something different, but the architecture has 3 bits in
> > Status: KX, SX, and UX that enable access to the address space above 32
> > bits.  With these bits off, an attempt to access these addresses causes an
> > exception.  So while 32-bit apps have the full 64-bit address space, most of
> > it is inaccessible to the 32-bit app.
> 
> That's not actually what I was referring to: there's at least one MIPS
> implementation where the results of 32-bit arithmetic operations are
> not just architecturally unpredictable but actually wrong if the upper
> bits are not properly sign extended (I might be misremembering, but I
> think I'm talking about the SB-1).  That's the sort of thing that can
> be basically impossible to track down if your debugger doesn't show
> you the whole register.

You were right, that was the SB1 core of the BCM1250 on your Sentosa.  The
behaviour however is legal; the MIPS64 specification states for almost all
32-bit arithmetic instructions that their proper operation is only
guaranteed for properly 64-bit sign-extended operands.

  Ralf

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