This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: patch for invalid hw breakpoints
- From: Nathan Sidwell <nathan at codesourcery dot com>
- To: Daniel Jacobowitz <drow at false dot org>
- Cc: Eli Zaretskii <eliz at gnu dot org>, gdb-patches at sourceware dot org
- Date: Thu, 01 Jun 2006 18:45:32 +0100
- Subject: Re: patch for invalid hw breakpoints
- References: <447EE9A8.4050800@codesourcery.com> <ulksgeqwz.fsf@gnu.org> <20060601172639.GA25709@nevyn.them.org>
Daniel Jacobowitz wrote:
at the watchpoint was completely removed. What am I missing?
It caused trouble for a remote stub. If I remember Nathan's example
right, we sent out packets like this:
-> Z02,1111110
<- E01
-> z02,1111110
We're asking the stub to remove something that isn't inserted. The
protocol documentation isn't clear on whether stubs have to support
this... but it didn't say that they did, and at least one didn't.
The remote stub can deal with this, but the functionality detection code in
remote.c cannot. In particular this bit of code in remote_remove_watchpoint
triggers because the just attempted remote_insert_watchpoint call has now set
the support field to PACKET_DISABLE.
if (remote_protocol_packets[PACKET_Z0 + packet].support == PACKET_DISABLE)
error (_("Can't clear hardware watchpoints without the '%s' (%s) packet."),
remote_protocol_packets[PACKET_Z0 + packet].name,
remote_protocol_packets[PACKET_Z0 + packet].title);
nathan
--
Nathan Sidwell :: http://www.codesourcery.com :: CodeSourcery
nathan@codesourcery.com :: http://www.planetfall.pwp.blueyonder.co.uk