This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
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