[PATCH 51-52] stepping

2009-09-22 Thread Oleg Nesterov
Implement PTRACE_SINGLESTEP/PTRACE_SINGLEBLOCK. As usual, this needs further cleanups, but I hope the code is more or less correct. Oleg.

[PATCH 51] implement PTRACE_SINGLESTEP/PTRACE_SINGLEBLOCK

2009-09-22 Thread Oleg Nesterov
Change ptrace_resume() path to pass the correct action argument to utrace_control(), the current code always uses UTRACE_RESUME while PTRACE_SINGLEXXX needs UTRACE_XXXSTEP. Introduce ptrace_context-resume to remember this action, we have to re-assert it from report_quiesce/report_signal

[PATCH 52] implement UTRACE_SIGNAL_HANDLER stepping

2009-09-22 Thread Oleg Nesterov
Change ptrace_report_signal() to handle UTRACE_SIGNAL_HANDLER case correctly: just push the new stop event if the tracer wants stepping. We do not set context-siginfo = info, this would be wrong because we do not report a signal. I wonder how the tracer can distinguish this case from the real

Re: Q: what user_enable_single_step() actually means?

2009-09-22 Thread Roland McGrath
Thanks Roland. But now I am even more confused... I get that combination a lot! ;-) Just to keep everyone confused, note that this thread now has approximately nothing to do with single-step. It really does have something to do with single-step, but only in the special sense of