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] |
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.
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?
By compiler dependant, do you mean the compiler GDB was built with, or the one that compiled the target code?
Andrew
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |