Re: patch for invalid hw breakpoints

Nathan Sidwell
2006-06-01T17:46:37Z

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