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: [RFA] Fix hw watchpoint count in update_watchpoint


On Wed 30 Dec 2009 17:06:26 Joel Brobecker wrote:
> > +	    /* Mark as software watchpoint to ensure that this watchpoint
> > +	       will not be counted in the hw_watchpoint_used_count call
> > +	       below.  */
> 
>             /* We need to determine how many resources are already used
>                for all other hardware watchpoints to see if we still have
>                enough resources to also fit this watchpoint in as well.
>                To avoid the hw_watchpoint_used_count call below from
>  counting this watchpoint, make sure that it is marked as a software
>  watchpoint.  */
> 
> This is only a suggestion, so if you don't like it, please commit your
> version, and I'll see if I can suggest an update separately.

Your version is much better. I used it.
 
> Thanks for submitting the patch! (and welcome back, it's been a while)
 
Thanks! It's nice to be back. :-)

I committed the attached.
-- 
[]'s
Thiago Jung Bauermann
IBM Linux Technology Center


20090-12-30  Jan Kratochvil  <jan.kratochvil@redhat.com>
	     Thiago Jung Bauermann  <bauerman@br.ibm.com>

	* breakpoint.c (update_watchpoint): Change b->type to
	bp_watchpoint before calling hw_watchpoint_used_count.
Index: src/gdb/breakpoint.c
===================================================================
--- src.orig/gdb/breakpoint.c	2009-12-30 15:41:58.000000000 -0200
+++ src/gdb/breakpoint.c	2009-12-30 18:04:57.000000000 -0200
@@ -1152,6 +1152,13 @@ update_watchpoint (struct breakpoint *b,
 	  {
 	    int i, mem_cnt, other_type_used;
 
+	    /* We need to determine how many resources are already used
+	       for all other hardware watchpoints to see if we still have
+	       enough resources to also fit this watchpoint in as well.
+	       To avoid the hw_watchpoint_used_count call below from counting
+	       this watchpoint, make sure that it is marked as a software
+	       watchpoint.  */
+	    b->type = bp_watchpoint;
 	    i = hw_watchpoint_used_count (bp_hardware_watchpoint,
 					  &other_type_used);
 	    mem_cnt = can_use_hardware_watchpoint (val_chain);

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