This is the mail archive of the
gdb@sources.redhat.com
mailing list for the GDB project.
Re: Unable to step over (n and ni) on mipsel-linux...
- From: "Theodore A. Roth" <troth at openavr dot org>
- To: David Daney <ddaney at avtrex dot com>
- Cc: gdb at sources dot redhat dot com
- Date: Fri, 20 Aug 2004 12:19:58 -0700 (PDT)
- Subject: Re: Unable to step over (n and ni) on mipsel-linux...
- References: <412649F4.9040002@avtrex.com>
On Fri, 20 Aug 2004, David Daney 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:
>
> infrun.c: 2322
> .
> .
> .
> if (frame_id_eq (frame_unwind_id (get_current_frame ()),
> step_frame_id))
> {
> /* It's a subroutine call. */
> CORE_ADDR real_stop_pc;
> .
> .
> .
>
> When there is a subroutine call this if statement fails. It never
> thinks "It's a subroutine call."
>
> Something is horked up in the frame code, but I cannot figure out where.
I've noticed this problem with the avr port too, but haven't had the
time to look into it. It also appears to have a seeming random element
to it for me: sometimes 'next' will step over the function call, but
most of the time it doesn't.
The problem seems to be independent of which version of gcc I use to
generate the target code. I've noticed the problem with versions of gdb
newer than 6.0.x up through current cvs (my last cvs was
2004-08-05-cvs).
I'm hoping that my problem is related. If there's any testing I can do
with the avr port to help out, please let me know.
---
Ted Roth
PGP Key ID: 0x18F846E9
Jabber ID: troth@jabber.org