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: mi*-watch.exp: Test both hardware and software watchpoints


On Fri, Sep 14, 2007 at 03:12:51PM +0100, Maciej W. Rozycki wrote:
> On Tue, 11 Sep 2007, Daniel Jacobowitz wrote:
> 
> > It isn't generally sufficient, either.  It's implemented on PowerPC
> > but the test still fails.  The frame pointer is corrupted one
> > instruction before the epilogue is detected, and I couldn't come up
> > with a reasonable way of making it work.
> 
>  Hmm, extending the range of the epilogue?  Just an obvious thought -- I 
> have no competence with PowerPC.

I don't think it's safe to extend the epilogue arbitrarily - we can't
recognize the instruction because we have no way to query where the
frame pointer is at this point.  We might extend it arbitrarily far
backwards if we're not careful.

> > In principle, I think so, but give it a day or two to see if anyone
> > objects.  How about xfailing the out of scope test for software
> > watchpoints?
> 
>  Well, should I take it as a declaration of no intent to fix them?

I don't intend to fix it right now, anyway.  And I really do not like
leaving failing tests.  Every few years, I try to reduce the failures
for a couple of platforms to zero.  I'm going to do it again after I
finish with multi-threaded watchpoints (next week hopefully; patches
coming this weekend).

I think the right fix is going to have to involve GCC.  It should emit
correct unwind info for the epilogue; even without also adding the
epilogue markers to the line table, correct unwind info will solve
this problem 99% of the time.

> +    set old_prefix $pf_prefix
> +    set pf_prefix "$pf_prefix $type: "

Is there a double space here?  IIUC pf_prefix will be something like
"gdb.mi/mi-watch.exp: ".

Otherwise OK to commit.

-- 
Daniel Jacobowitz
CodeSourcery


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