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
>>>
>>>
>
>
>
>
next prev parent 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