infrun.c:resume: currently_stepping after clearing stepped_breakpoint

My all-stop-on-top-of-non-stop series manages to shows regressions due
to this latent bug.  currently_stepping returns true if
stepped_breakpoint is set.  Obviously we should clear
it before checking currently_stepping, not after.

Tested on x86_64 Fedora 20.

gdb/ChangeLog:
2015-04-01  Pedro Alves  <palves@redhat.com>

	* infrun.c (resume): Check currently_stepping after clearing
	stepped_breakpoint, not before.
This commit is contained in:
Pedro Alves 2015-03-30 16:39:56 +01:00
parent a14711808e
commit 6b403daae9
2 changed files with 9 additions and 1 deletions

View File

@ -1,3 +1,8 @@
2015-04-01 Pedro Alves <palves@redhat.com>
* infrun.c (resume): Check currently_stepping after clearing
stepped_breakpoint, not before.
2015-04-01 Pedro Alves <palves@redhat.com>
* infrun.c (print_target_wait_results): Print all the ptid

View File

@ -2084,12 +2084,15 @@ resume (enum gdb_signal sig)
This can decay from a step to a continue, if e.g., we need to
implement single-stepping with breakpoints (software
single-step). */
int step = currently_stepping (tp);
int step;
tp->stepped_breakpoint = 0;
QUIT;
/* Depends on stepped_breakpoint. */
step = currently_stepping (tp);
if (current_inferior ()->waiting_for_vfork_done)
{
/* Don't try to single-step a vfork parent that is waiting for