Re: ptrace single-stepping change breaks Wine

Linus Torvalds
2004-12-30T19:35:00Z

On Thu, 30 Dec 2004, Jesse Allen wrote:
>
> Using the latest version of the patch on do_syscall_trace(), it still
> doesn't work unless I remove this test. If indeed it's supposed to
> fall through to receive the proper signal, (ie to single step properly
> after an int op), then removing it is wrong, and I won't consider it
> anymore. I also have to use the patch shown below, with a typo-fixed,
> to fix the other problem. I broke it apart from the other because we
> might want to consider it seperately right now.

I'm actually able to now re-create some problems with TF handling with a
simple non-wine test, and I think I'm zeroing in on the reason for Wine
breaking. And I think it just happened to work by luck before.

Not only do we have problems single-stepping over a system call, we _also_
have problems single-stepping over a "popf" - we'll set TF (to
single-step), and then afterwards we'll _clear_ TF, even if the "popf"
also was supposed to set it.

Working on a patch for this right now, I'll send something out soonish
(and I'll test it on my test-case before sending it, so that it at least
has some chance of working).

Linus