Re: ptrace single-stepping change breaks Wine

Daniel Jacobowitz
2005-01-01T23:21:02Z

On Fri, Dec 31, 2004 at 09:19:48AM -0800, Linus Torvalds wrote:
>
>
> On Fri, 31 Dec 2004, Daniel Jacobowitz wrote:
> >
> > Lots, I like it. The syscall trap will always be delivered before the
> > single-step trap, right, because signal delivery won't run until we
> > return to userspace?
>
> Yes. Although I've not actually tested it.
>
> Before, it used to show up as one event, and basically the "0x80" marker
> got lost, so effectively the "system call exit" part would have got lost.
> Now, it _may_ DTRT, with the caveat that the system call ptrace_notify()
> thing still has the same problem with restarting-with-a-signal.
>
> That's basically a "don't do that then", and is the status quo, of course,
> so this is at least not a regression. It's still pretty ugly, but
> apparently nobody really cares ;)

Yes. At some point, I'd like to make that an error - if you want to
restart with a signal, don't do it from the notification points where
it doesn't make sense (exit, fork, vfork-done, syscall). Send a signal
by hand, and then resume, and if you want to fudge the siginfo you can
do that when stopped in the signal delivery path.

--
Daniel Jacobowitz