Messages in this thread | | | Date | Thu, 30 Dec 2004 15:17:01 -0800 (PST) | From | Linus Torvalds <> | Subject | Re: ptrace single-stepping change breaks Wine |
| |
On Thu, 30 Dec 2004, Daniel Jacobowitz wrote: > > does not look right to me. Before, we'd get an 0x80|SIGTRAP result > from wait. Now, you've moved the 0x80 to live only inside the siginfo. > This is accessible to the debugger via ptrace, but only very recently > (late 2.5.x). So this will probably break users of PT_TRACESYSGOOD.
I don't see how to easily emulate the old behaviour 100% - see ptrace_notify. We always sent the signal SIGTRAP to the process, and then set "exit_code" tp have the 0x80 marker by calling ptrace_stop() by hand. However, if we make it a real signal (which we need to do to get the continue semantics right), we no longer have that out-of-band info available to us.
We could make "get_signal_to_deliver()" pass in some other exit_code to ptrace_stop() than just signr. It would have to pick it up from the siginfo structure, but then we'd have to make sure that _other_ signal users do that properly..
Patches/suggestions welcome.
Linus - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |