From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 8140 invoked by alias); 24 Feb 2012 16:18:09 -0000 Received: (qmail 8113 invoked by uid 22791); 24 Feb 2012 16:18:06 -0000 X-SWARE-Spam-Status: No, hits=-1.7 required=5.0 tests=AWL,BAYES_00 X-Spam-Check-By: sourceware.org Received: from relay1.mentorg.com (HELO relay1.mentorg.com) (192.94.38.131) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Fri, 24 Feb 2012 16:17:52 +0000 Received: from svr-orw-exc-10.mgc.mentorg.com ([147.34.98.58]) by relay1.mentorg.com with esmtp id 1S0xqB-0002Df-Mp from Maciej_Rozycki@mentor.com ; Fri, 24 Feb 2012 08:17:51 -0800 Received: from SVR-IES-FEM-01.mgc.mentorg.com ([137.202.0.104]) by SVR-ORW-EXC-10.mgc.mentorg.com with Microsoft SMTPSVC(6.0.3790.4675); Fri, 24 Feb 2012 08:17:46 -0800 Received: from [172.30.11.220] (137.202.0.76) by SVR-IES-FEM-01.mgc.mentorg.com (137.202.0.104) with Microsoft SMTP Server id 14.1.289.1; Fri, 24 Feb 2012 16:17:49 +0000 Date: Fri, 24 Feb 2012 16:28:00 -0000 From: "Maciej W. Rozycki" To: Stan Shebs CC: Subject: Re: [PATCH] MIPS/gdbserver: Fix $f9 access In-Reply-To: <4EC570F2.90302@earthlink.net> Message-ID: References: <4EC570F2.90302@earthlink.net> User-Agent: Alpine 1.10 (DEB 962 2008-03-14) MIME-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org X-SW-Source: 2012-02/txt/msg00584.txt.bz2 Hi Stan, I missed your reply, sorry, it wasn't cc-ed to me directly. On Thu, 17 Nov 2011, Stan Shebs wrote: > > The following change fixes a problem where $f8 is accessed whenever $f9 > > is requested. The bug has always been there, since MIPS support was added > > back in 2002. I guess nobody uses gdbserver with MIPS FPU, oh well... > > Probably truer than we would like to think. :-) I have meanwhile realised what happened here -- this is traditional ptrace POKEUSR/PEEKUSR code while the MIPS target has used regsets for a while now. > > OK to apply? > > Yep, looks fine. Applied now, thanks. > It would be cool to have a testsuite case that exercises this, but let's be > honest, that's more work than it would be worth. An ancient Linux kernel that does not support regsets would be required for that or something. Or an option for gdbserver to refrain from using them. And that appears problematic too since $zero has special treatment now (see mips_cannot_store_register; the slot is reused for that weird syscall "restart" register) and further changes would be required in generic code to handle that correctly. Not worth the effort IMO unless something changes causing these bits to be required again. > > 2011-11-17 Maciej W. Rozycki > > > > gdb/gdbserver/ > > * linux-mips-low.c (mips_regmap): Correct the index of $f9. > > > > Maciej > > > > gdb-gdbserver-linux-mips-fpr-fix.diff > > Index: gdb-fsf-trunk-quilt/gdb/gdbserver/linux-mips-low.c > > =================================================================== > > --- gdb-fsf-trunk-quilt.orig/gdb/gdbserver/linux-mips-low.c 2011-11-17 > > 20:10:51.000000000 +0000 > > +++ gdb-fsf-trunk-quilt/gdb/gdbserver/linux-mips-low.c 2011-11-17 > > 20:11:44.995624756 +0000 > > @@ -63,7 +63,7 @@ static int mips_regmap[] = { > > > > FPR_BASE, FPR_BASE + 1, FPR_BASE + 2, FPR_BASE + 3, > > FPR_BASE + 4, FPR_BASE + 5, FPR_BASE + 6, FPR_BASE + 7, > > - FPR_BASE + 8, FPR_BASE + 8, FPR_BASE + 10, FPR_BASE + 11, > > + FPR_BASE + 8, FPR_BASE + 9, FPR_BASE + 10, FPR_BASE + 11, > > FPR_BASE + 12, FPR_BASE + 13, FPR_BASE + 14, FPR_BASE + 15, > > FPR_BASE + 16, FPR_BASE + 17, FPR_BASE + 18, FPR_BASE + 19, > > FPR_BASE + 20, FPR_BASE + 21, FPR_BASE + 22, FPR_BASE + 23, Maciej