This is the mail archive of the
gdb-patches@sources.redhat.com
mailing list for the GDB project.
Re: [PATCH]: Make Linux use the new unified x86 watchpoint support
- To: Mark Salter <msalter at redhat dot com>
- Subject: Re: [PATCH]: Make Linux use the new unified x86 watchpoint support
- From: Eli Zaretskii <eliz at is dot elta dot co dot il>
- Date: Wed, 28 Mar 2001 11:17:18 +0200 (IST)
- cc: kettenis at science dot uva dot nl, msnyder at cygnus dot com, gdb-patches at sources dot redhat dot com
On Tue, 27 Mar 2001, Mark Salter wrote:
> When a read wathcpoint is triggered, the target stops and informs gdb.
> In breakpoint.c, gdb sees that there are read or access watchpoints set
> and that the data address reported by the target matches. This causes
> watchpoint_check() to be called. The problem is that watchpoint_check()
> will try to read from the watched data area to see if it changed, but
> this is done before gdb has removed watchpoints from the target. This
> causes the target to respond with an error when gdb tries to access the
> watched area.
Sorry, I don't understand: why does reading a watched region generate
an error? At least in the x86 implementation, watchpoints are set to
be task-local, so reading the data from GDB, which is another process,
should not produce any errors. Am I missing something?
Could you please post a reproducible test case where this happens, and
tell what host/target do you see that with?