[PATCH v3 07/17] Misc switch_back_to_stepped_thread cleanups

Yao Qi qiyaoltc@gmail.com
Tue Apr 21 09:50:00 GMT 2015


Pedro Alves <palves@redhat.com> writes:

> Several misc cleanups that prepare the tail end of this function, the
> part that actually re-resumes the stepped thread.
>
> The most non-obvious would be the currently_stepping change, I guess.
> That's because it isn't ever correct to pass step=1 to target_resume
> on software single-step targets, and currently_stepping works at a
> conceptual higher level, it returns step=true even on software step
> targets.  It doesn't really matter on hardware step targets, as the
> breakpoint will be hit immediately, but it's just wrong on software
> step targets.  I tested it against my x86 software single-step branch,
> and it indeed fixes failed assertions (that catch spurious
> PTRACE_SINGLESTEP requests) there.
>
> gdb/ChangeLog:
> 2015-04-17  Pedro Alves  <palves@redhat.com>
>
> 	* infrun.c (switch_back_to_stepped_thread): Use ecs->ptid instead
> 	pf inferior_ptid.  If the stepped thread vanished, return 0
        ^^ of

> 	instead of resuming here.  Use reset_ecs.  Print the prev_pc and
> 	the current stop_pc in log message.  Clear trap_expected if the
> 	thread advanced.  Don't pass currently_stepping to
> 	do_target_resume.

-- 
Yao (齐尧)



More information about the Gdb-patches mailing list