mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-25 04:49:54 +08:00

* 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).
Description
Unofficial mirror of sourceware binutils-gdb repository. Updated daily.
Languages
C
51.8%
Makefile
22.4%
Assembly
12.3%
C++
6%
Roff
1.4%
Other
5.4%