From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 26213 invoked by alias); 27 Jan 2004 14:17:22 -0000 Mailing-List: contact gdb-patches-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sources.redhat.com Received: (qmail 26175 invoked from network); 27 Jan 2004 14:17:20 -0000 Received: from unknown (HELO nevyn.them.org) (66.93.172.17) by sources.redhat.com with SMTP; 27 Jan 2004 14:17:20 -0000 Received: from drow by nevyn.them.org with local (Exim 4.30 #1 (Debian)) id 1AlU1m-000609-Dq; Tue, 27 Jan 2004 09:17:18 -0500 Date: Tue, 27 Jan 2004 14:17:00 -0000 From: Daniel Jacobowitz To: Atsushi Nemoto Cc: gdb-patches@sources.redhat.com Subject: Re: mips gdbserver reports R0 != 0 Message-ID: <20040127141718.GA22917@nevyn.them.org> Mail-Followup-To: Atsushi Nemoto , gdb-patches@sources.redhat.com References: <20040127.193715.116346446.nemoto@toshiba-tops.co.jp> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20040127.193715.116346446.nemoto@toshiba-tops.co.jp> User-Agent: Mutt/1.5.1i X-SW-Source: 2004-01/txt/msg00694.txt.bz2 On Tue, Jan 27, 2004 at 07:37:15PM +0900, Atsushi Nemoto wrote: > When I run gdbserver with multi-thread programs on Linux/MIPS, I > noticed sometimes 'step' or 'next' do not work correctly. I found > that a value of R0 register in 'info reg' output was not 0 > (0x30303030) when this problem happen. > > > (gdb) c > > Continuing. > > [New Thread 1026] > > [Switching to Thread 1026] > > > > Breakpoint 2, function1 (arg=0x0) at next.c:30 > > 30 if (func1() == 0) { > > (gdb) info reg > > zero at v0 v1 a0 a1 a2 a3 > > R0 30303030 30048401 004009c8 00000001 00000000 00000000 7f7ffd28 00000000 > > I could not see the reason (maybe regcache?), but this patch fixed my > problem. Did it fix the stepping problem, or did it fix the value displayed for $zero? The register at that address is actually a saved flag used for syscall restarting. I have some local patches to support it properly, but I haven't had time to do anything with them :( Partly because of the number of gross hacks involved. > --- gdb-6.0/gdb/gdbserver/linux-mips-low.c.org Wed Jun 12 02:32:39 2002 > +++ gdb-6.0/gdb/gdbserver/linux-mips-low.c Tue Jan 27 19:31:58 2004 > @@ -69,9 +69,6 @@ > if (mips_regmap[regno] == -1) > return 1; > > - if (find_regno ("zero") == regno) > - return 1; > - > return 0; > } > > --- > Atsushi Nemoto > -- Daniel Jacobowitz MontaVista Software Debian GNU/Linux Developer