Re: ptrace single-stepping change breaks Wine

From: Linus Torvalds
Date: Thu Dec 30 2004 - 14:36:48 EST




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
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/