Unable to step over (n and ni) on mipsel-linux...

Andrew Cagney cagney@gnu.org
Mon Aug 23 17:14:00 GMT 2004


> 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).

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.

Andrew

> 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.
> 
> David Daney.
> 
> 
> 



More information about the Gdb mailing list