From: Grace Sainsbury Date: Fri, 16 Aug 2002 14:52:12 +0000 (+0000) Subject: * remote.c (remote_insert_hw_breakpoint) X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=c8189ed1622f773021bcced903b71fed26727f09;p=binutils-gdb.git * remote.c (remote_insert_hw_breakpoint) (remote_remove_hw_breakpoint): Fix calculation of length field for Z-packet. --- diff --git a/gdb/ChangeLog b/gdb/ChangeLog index b919efe708c..fca02ecda46 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,9 @@ +2002-08-16 Grace Sainsbury + + * remote.c (remote_insert_hw_breakpoint) + (remote_remove_hw_breakpoint): Fix calculation of length field + for Z-packet. + 2002-08-15 Michael Snyder * irix5-nat.c (supply_gregset): Allocate plenty-big buffer diff --git a/gdb/remote.c b/gdb/remote.c index 0c3f23a527e..de64cc09c29 100644 --- a/gdb/remote.c +++ b/gdb/remote.c @@ -4985,11 +4985,11 @@ remote_insert_hw_breakpoint (CORE_ADDR addr, char *shadow) char *buf = alloca (rs->remote_packet_size); char *p = buf; - /* The length field should be set to soething so that the packet is - well formed. */ + /* The length field should be set to the size of a breakpoint + instruction. */ + + BREAKPOINT_FROM_PC (&addr, &len); - len = strlen (shadow); - len = len ? len : 1; if (remote_protocol_Z[Z_PACKET_HARDWARE_BP].support == PACKET_DISABLE) error ("Can't set hardware breakpoint without the '%s' (%s) packet\n", remote_protocol_Z[Z_PACKET_HARDWARE_BP].name, @@ -5026,8 +5026,12 @@ remote_remove_hw_breakpoint (CORE_ADDR addr, char *shadow) struct remote_state *rs = get_remote_state (); char *buf = alloca (rs->remote_packet_size); char *p = buf; - - len = sizeof (shadow); + + /* The length field should be set to the size of a breakpoint + instruction. */ + + BREAKPOINT_FROM_PC (&addr, &len); + if (remote_protocol_Z[Z_PACKET_HARDWARE_BP].support == PACKET_DISABLE) error ("Can't clear hardware breakpoint without the '%s' (%s) packet\n", remote_protocol_Z[Z_PACKET_HARDWARE_BP].name,