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 @@ -5061,9 +5061,9 @@ process_event_stop_test: 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.