1998-09-08 Jason Molenda (jsm@bugshack.cygnus.com)

* breakpoint.c (bpstat_stop_status):  Declare a bp match if the
        current fp matches the bp->fp OR if the current fp is less than
        the bp->fp if we're looking at a bp_step_resume breakpoint.

PR 15992.

With a bp_step_resume type breakpoint, the frame pointer check exists in
case we recurse and execute the same text section--we want to not stop
there because it would confuse the user.  So gdb checks to see that the
frame pointer matches the one recorded in the breakpoint.

If the current frame pointer is less than the frame pointer recorded in
the breakpoint, then something odd is happened and we should declare that
we're at the breakpoint so that we clear it out.

This happens in Purify instrumented executables on PA systems, at least.
They insert some calls out to Purify code in the function epilogue and
it confuses GDB (which assumes that the frame pointer does not move
around through the entire execution of a function).
This commit is contained in:
Jason Molenda 1998-09-09 04:16:53 +00:00
parent 1f926de145
commit fc4109089c
1 changed files with 6 additions and 0 deletions

View File

@ -1,3 +1,9 @@
1998-09-08 Jason Molenda (jsm@bugshack.cygnus.com)
* breakpoint.c (bpstat_stop_status): Declare a bp match if the
current fp matches the bp->fp OR if the current fp is less than
the bp->fp if we're looking at a bp_step_resume breakpoint.
Tue Sep 8 19:42:58 1998 Stan Shebs <shebs@andros.cygnus.com>
* symtab.h (struct symtab): Remove EXTRA_SYMTAB_INFO hook,