This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: patch for invalid hw breakpoints


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]