Mirror of the gdb mailing list
 help / color / mirror / Atom feed
From: Andrew Cagney <cagney@gnu.org>
To: David Daney <ddaney@avtrex.com>
Cc: gdb@sources.redhat.com
Subject: Re: Unable to step over (n and ni) on mipsel-linux...
Date: Mon, 23 Aug 2004 18:26:00 -0000	[thread overview]
Message-ID: <412A3672.5040904@gnu.org> (raw)
In-Reply-To: <412A30E5.9080809@avtrex.com>

> Andrew Cagney wrote:
> 
>>>>>GNU gdb 6.2_2004-08-19-cvs
>>>>>
>>
>>>>from the gdb_6_2-branch yesterday.
>>
>>>>>
>>>>>../gdbcvs/src/configure  --build=i686-pc-linux --host=mipsel-linux
>>>>>--target=mipsel-linux --enable-tui=no
>>>>>
>>>>>Most of the time when I do next or nexti, gdb is treating it as if I did
>>>>>step or stepi.
>>>>>
>>>>>I have tracked the problem down to this portion of code:
>>
>>> 
>>> 
>>> Sounds like a bug in the MIPS unwind code.  Can you build/test with 
>>> mainline (the fixes won't be backported).
>>> 
> 
> 
> I will try the mainline soon.

Thanks.
> 
>>> The problem is that, after the step-into the callee, the MIPS unwind 
>>> code is not correctly unwinding back to the caller's frame-ID.  As 
>>> Theodore notes, this is very compiler dependant.
>>> 
> 
> 
> Currently GDB examines the next instruction to see if it is a branch (or
>   jal or jalr..) to see where to place a temporary breakpoint for single
> stepping.

> Instead of stepping into a function and checking to see if we are in a
> different frame (settting a breakpoint at the return address location),
> why not set the breakpoint at the return location before making the
> function call?

That would mean examining every instruction to determine if it is a call 
- effectively s/w single step.  GDB tries to do avoid doing that so that 
single-step is faster.

> By compiler dependant, do you mean the compiler GDB was built with, or
> the one that compiled the target code?

For you mipsel-linux-gcc (the one that compiled the target code).

Andrew

> 
> 
>>> Andrew
>>> 
>>> 
> 
> 
> 
> 


  reply	other threads:[~2004-08-23 18:26 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-08-20 19:02 David Daney
2004-08-20 19:20 ` Theodore A. Roth
2004-08-23 17:14 ` Andrew Cagney
2004-08-23 18:04   ` David Daney
2004-08-23 18:26     ` Andrew Cagney [this message]
2004-08-23 18:42       ` David Daney
2004-08-23 18:48         ` Daniel Jacobowitz
2004-08-23 19:01           ` David Daney
2004-08-23 19:22             ` Daniel Jacobowitz
2004-08-24 19:29               ` Andrew Cagney
2004-08-23 19:05     ` Michael Chastain
2004-08-23 19:19       ` David Daney

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=412A3672.5040904@gnu.org \
    --to=cagney@gnu.org \
    --cc=ddaney@avtrex.com \
    --cc=gdb@sources.redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox