NOTE: Apply to --target=arm-none-symbianelf builds only. This works around the problem of TRK overshooting line-wise stepping by a few instructions. This is not a gdb problem, but a TRK problem, but currently easier to workaround on the gdb side. It's sufficient to apply for the arm-none-symbianelf targeted gdbs only as TRK is the only probe known to have this problem. --- a/gdb/infrun.c +++ b/gdb/infrun.c @@ -4754,9 +4754,9 @@ infrun: not switching back to stepped thread, it has vanished\n"); return; } - if ((stop_pc == stop_pc_sal.pc) + if (1 /* (stop_pc == stop_pc_sal.pc) && (ecs->event_thread->current_line != stop_pc_sal.line - || ecs->event_thread->current_symtab != stop_pc_sal.symtab)) + || ecs->event_thread->current_symtab != stop_pc_sal.symtab) */) { /* We are at the start of a different line. So stop. Note that we don't stop if we step into the middle of a different line.