Hello, The attached patch modifies infrun.c so that, for the non-legacy case, the test: frame_type == SIGTRAMP frame && step_frame_id != stop_frame_id is used to determine if a single-step caused the inferior to stumble into a signal trampoline (either via a signal, or by returning from the handler). This replaces two pc_in_sigtramp calls and a stack-pointer heuristic -- not the most robust of tests. The new test: - eliminates the call pc_in_sigtramp(step_pc) (i.e., on the PC from before the single step) (this was an unexpected bonus :-) - uses the caching call get_frame_type call pc_in_sigtramp has to re-do all the computation each time it is called (typically duplicating the effort of get_frame_type) - uses !frame_id_eq Which is a 100% robust frame-changed test. The old test couldn't detect a signal trampoline calling (via a signal) a singnal trampoline. thoughts? I'll look to commit this in a few days (already committed to my trad-frame branch). Andrew