ptrace single-stepping change breaks Wine

Davide Libenzi davidel at xmailserver.org
Fri Dec 31 09:16:00 CST 2004


On Fri, 31 Dec 2004, Andi Kleen wrote:

> >  - you couldn't even debug signal handlers, because they were _really_ 
> >    hard to get into unless you knew where they were and put a breakpoint 
> >    on them.
> 
> Ok I see this as being a problem. But I bet it could be fixed
> much simpler without doing all this complicated and likely-to-be-buggy
> popf parsing you added.

I don't think that the Wine problem resolution is due to the POPF 
instruction handling. Basically Linus patch does a nice cleanup plus POPF 
handling, so maybe the patch can be split.



> >  - you couldn't see the instruction after a system call.
> 
> Are you sure? 

Yes, this was true with 2.4. Than it has been fixed some time ago. But 
handling that revealed a fragile handling of ptrace event delivery we had 
in do_syscall_trace(). Part of the Linus patch tries to solve the fact 
that on one side strace wants things to happen in a certain way, way that 
seem to break Wine. I think Linus cleanup of the ptrace event delivery can 
get strace, Wine and single-step-after-syscall right, w/out POPF handling. 
Then you guys can flame each other over the POPF handling ;)



- Davide




More information about the wine-devel mailing list