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: mips-tdep.c: Fix sw watchpoint-out-of-scope events


On Tue, 18 Sep 2007, Daniel Jacobowitz wrote:

> This patch is fine.  I wish it wasn't necessary, but for now it is.

 Well, actually then, I have thought, rather than trying to fix the 
unfixable, why don't we mimic the behaviour of hardware watchpoints?  As 
they do not single-step (the whole point of them, at least for the write 
watchpoints) a scope software breakpoint is placed at the return target of 
the scope covered.  We could do the same for software watchpoints -- 
insert a scope software breakpoint, single-step till the watchpoints goes 
out of scope and then resume at the full speed till the scope breakpoint 
is hit.  Was there any particular reason for not doing so in the first 
place?

 I'll go forward with the patch regardless as it would become obsolete 
automatically if we accepted the hw watchpoint model for sw ones too as 
in_function_epilogue_p() would become irrelevant then as far as I can 
tell.

> Hmm, do you think we should accept that line as a pass then?  The same
> will happen on other architectures too.

 Well, it depends on the policy we have (if we have any in this area) -- 
the patch fixes non-PIC o32 and presumably new ABIs (I'll try to see 
whether I have a way to test it), but does not quite so for PIC o32 
(beacuse of the load to $gp after the return).  There may be other 
architectures with a similar problem, but if MIPS o32 was to be the only 
one affected, then a PASS would be reasonable, as stated originally.  
Though I have no idea how to take care of the load to $gp at the moment -- 
perhaps some logic from the scope breakpoint calculation could be reused.

  Maciej


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