Re: Regression in ptrace (Wine) starting with 2.6.33-rc1

From: Frederic Weisbecker
Date: Wed Feb 17 2010 - 11:04:08 EST


On Mon, Feb 15, 2010 at 11:47:24AM -0800, Roland McGrath wrote:
> > - The other one with 'locally'/'globally' enabled breakpoints.
>
> There is no "local/global" enablement. That distinction is meaningless
> given the way the kernel uses the hardware. Which of those bits you set
> has no material effect on the watchpoint/trap behavior.



Yeah.



> The only regression is in the observed bit pattern read back from dr7.
> To be 100% compatible, the hw_breakpoint ptrace-compatibility front-end
> should record the state of the useless bits to report back, so the only
> differences from the bit pattern written are whatever ones the real
> hardware would have shown from writing dr7 and reading it back.



Agreed. We have to match the previous ABI, it's a regression.

We have the NULL breakpoint address thing fixed (will push it to Ingo).
We now need to fix the local/global flag storage.

The fastest way to do so is to keep a per thread dr7 variable.
I'm looking at it and will send a fix soon.

We can think about something proper later.

Thanks.

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/