[Top] [All Lists]

Re: HELP : ptrace returns puzzling results

To: Ralf Baechle <>
Subject: Re: HELP : ptrace returns puzzling results
From: Jun Sun <>
Date: Tue, 16 May 2000 10:49:08 -0700
References: <> <>
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?


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