diff --git a/gdb/ChangeLog b/gdb/ChangeLog index a2b197cb74..d4827d6d32 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,8 @@ +2014-10-15 Pedro Alves + + * infrun.c (resume): Don't force displaced-stepping for all + single-steps on software single-stepping archs. + 2014-10-15 Pedro Alves * breakpoint.c (single_step_breakpoints): Delete global. diff --git a/gdb/infrun.c b/gdb/infrun.c index 0f30a623f2..23c79f210e 100644 --- a/gdb/infrun.c +++ b/gdb/infrun.c @@ -2089,8 +2089,7 @@ a command like `return' or `jump' to continue execution.")); event, displaced stepping breaks the vfork child similarly as single step software breakpoint. */ if (use_displaced_stepping (gdbarch) - && (tp->control.trap_expected - || (step && gdbarch_software_single_step_p (gdbarch))) + && tp->control.trap_expected && sig == GDB_SIGNAL_0 && !current_inferior ()->waiting_for_vfork_done) {