Re: ptrace single-stepping change breaks Wine

Jesse Allen
2004-12-29T20:14:07Z

[-- Attachment #1: Type: text/plain, Size: 1015 bytes --]

On Wed, 29 Dec 2004 20:35:44 +0100, Thomas Sailer <sailer@scs.ch> wrote:
>
> Mike,
>
> thanks a lot for your mail. I've just tried Jesse Allen's Patch with
> 2.6.10-ac1, but unfortunately it doesn't seem to be enough to get xst
> working again. Let me know if (and how :)) I can help gather evidence.
>
> Tom
>
>

If the single-stepping changes truly broke your program, and you know
< 2.6.9-rc1 works, try this attached diff against 2.6.10 in addition
to the other one I made. This should effectively reverse change #2,
but like I said, the current code for change #2 actually works for me
now. But maybe this is not enough. You can also look here at my
original report:

http://www.winehq.org/hypermail/wine-devel/2004/11/0310.html

and reverse the original patches against 2.6.9, and see if that kernel
works then. Patch links:

http://linux.bkbits.net:8080/linux-2.6/cset@1.1803.144.55
http://linux.bkbits.net:8080/linux-2.6/cset@1.1832.60.196
http://linux.bkbits.net:8080/linux-2.6/cset@1.1847

Jesse

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: sigtrap-reverse.diff --]
[-- Type: text/x-diff; name="sigtrap-reverse.diff", Size: 401 bytes --]

--- linux/arch/i386/kernel/signal.c 2004-12-29 12:54:59.000000000 -0700
+++ linux-mod/arch/i386/kernel/signal.c 2004-12-29 12:53:23.000000000 -0700
@@ -426,8 +426,8 @@
*/
if (regs->eflags & TF_MASK) {
regs->eflags &= ~TF_MASK;
- if (current->ptrace & PT_DTRACE)
- ptrace_notify(SIGTRAP);
+// if (current->ptrace & PT_DTRACE)
+// ptrace_notify(SIGTRAP);
}

#if DEBUG_SIG