ptrace single-stepping change breaks Wine

Linus Torvalds torvalds at osdl.org
Thu Dec 30 13:34:32 CST 2004


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



More information about the wine-devel mailing list