On Monday 27 October 2003 10:23 am, Daniel Jacobowitz wrote: > On Mon, Oct 27, 2003 at 10:21:54AM -0500, Andrew Cagney wrote: > > >The problem is that there's not much GDB can do with hand-coded > > >assembly functions. > > > > > >However, GDB ought to be able to detect and stop that loop without any > > >of this. It seems to me that the problem is not two frames with the > > >same PC, but two frames with their PC "saved" in the same place - i.e. > > >GDB failing to figure out where the PC is saved. This is made a little > > >tricky in current versions of GDB, because the PC is normally unwound > > >using frame_pc_unwind (which doesn't tell us where it was saved, since > > >the interface doesn't assume it's a single normal register), and the > > >core code doesn't have a concept of a "PC register" any more. > > > > > >Andrew, any idea on how to do this? > > > > Before anything else, find out what a current GDB does - its code to > > detect a "corrupt stack" is now much improved. > > I'll check - I don't have my test for this problem handy any more but I > know as of a month or two ago the problem still existed. Here is a debug session debugging gdb 2003-10-27-cvs. I enabled frame_debug which I hope will contain useful information: Jon