linux-mips-fnet
[Top] [All Lists]

Re: HELP : ptrace returns puzzling results

To: Ralf Baechle <ralf@oss.sgi.com>
Subject: Re: HELP : ptrace returns puzzling results
From: Jun Sun <jsun@mvista.com>
Date: Tue, 16 May 2000 10:49:08 -0700
Cc: linux@engr.sgi.com, linux-mips@fnet.fr, linux-mips@vger.rutgers.edu
References: <392045FC.827CACB5@mvista.com> <20000516133620.C4561@uni-koblenz.de>
Sender: jsun@hermes.mvista.com
Ralf Baechle wrote:
> 
> On Mon, May 15, 2000 at 11:46:20AM -0700, Jun Sun wrote:
> 
> > I am writing a gdbserver for linux/mips.  The server can now talk with
> > the gdb client, and can run to completion if you press 'c'.
> 
> > reg #29 ($29,sp) = 2147483120 (0x7ffffdf0)
> 
> The value of sp looks sane, it a value near the absolute top of the stack
> at 0x80000000.
> 
> > reg #37 ($64,pc) = 263607008 (0x0fb652e0)
> 
> Also looks sane at first look, this value is in the typical address range
> where the dynamic linker gets mapped.
> 
> Many of the registers in the dump you gave have a value of zero and that is
> worrying me much more.  All the caller saved registers are zero, that
> smells.
> 

I looked at the problem again.  The registers are actually correct. 
Most registers are zero becase that is the program start up time (in
exec()). I now can set a breakpoint and run until that breakpoint.

However, step or next or setting another breakpoint do not work.  It
appears that gdbserver calls ptrace with PTRACE_SINGLESTEP option, which
is not implemented in the kernel I am using (it is v2.3.99-pre3).  Is
this implemented in the latest version?  If not, is it difficult to add
one?  Or can we get around without it?

Jun

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