This is the mail archive of the gdb@sources.redhat.com mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


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.





Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]