In handle_inferior_event() when stepping over a watch point currently we issue target_resume(). This only works on architectures that have hardware single step support. For gdbarch_software_single_step_p() systems (like MIPS), we need to insert a single step breakpoint instead. The fix is to call resume() as it does the right thing already. I also added an assert that inferior_ptid == ecs->ptid to be sure that resume() was stepping the proper thread. This is essentially the change requested by Daniel in: http://sourceware.org/ml/gdb-patches/2008-04/msg00443.html This change is a prerequisite for my forthcoming MIPS hardware watch patch. Tested on x86_64-pc-linux-gnu as well as mipsel-linux (in conjunction with the MIPS hardware watch patch). OK to commit? 2008-09-09 David Daney * infrun.c (handle_inferior_event): Call resume instead of target_resume when stepping over watchpoint.