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