Hello, The attached patch pushes the `struct frame_id' through the breakpoint code. Unlike a simple frame base, a frame ID can be used to differentiate between frameless frames It makes the following changes: - modifies `struct breakpoint' so that it uses a `struct frame_id frame_id' instead of a `CORE_ADDR frame' when identifying / locating a frame. At present, given frameless function calls, the code will always find the inner most function. - modifies the methods set_momentary_breakpoint() and set_longjmp_resume_breakpoint() so that they take a frame ID instead of a `struct frame_info'. At present, on at least one occasion, GDB fakes up a `struct frame_info' just so that it can call one of these functions where that function just uses the `struct frame_info' to obtain the frame ID. This eliminates the need to do that unnecessary operation. One note. While the frame ID can be used to differentiate between frameless frames, the current code does not. I intend posting the patch to do that after all this infrastructure is in place (I've tested it and the i386 didn't show regressions :-). ok to commit, Andrew