aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gdb/ChangeLog7
-rw-r--r--gdb/inline-frame.c6
2 files changed, 11 insertions, 2 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 966d393..d9cb0b1 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,10 @@
+2020-08-27 Pedro Alves <pedro@palves.net>
+
+ PR gdb/26523
+ * inline-frame.c (stopped_by_user_bp_inline_frame): Also consider
+ bp_until breakpoints user-specified locations. Update intro
+ comment.
+
2020-08-27 Simon Marchi <simon.marchi@polymtl.ca>
* gdb_bfd.h (gdb_bfd_section_iterator, gdb_bfd_section_range,
diff --git a/gdb/inline-frame.c b/gdb/inline-frame.c
index c650195..35ceb27 100644
--- a/gdb/inline-frame.c
+++ b/gdb/inline-frame.c
@@ -303,7 +303,8 @@ block_starting_point_at (CORE_ADDR pc, const struct block *block)
}
/* Loop over the stop chain and determine if execution stopped in an
- inlined frame because of a user breakpoint set at FRAME_BLOCK. */
+ inlined frame because of a breakpoint with a user-specified location
+ set at FRAME_BLOCK. */
static bool
stopped_by_user_bp_inline_frame (const block *frame_block, bpstat stop_chain)
@@ -312,7 +313,8 @@ stopped_by_user_bp_inline_frame (const block *frame_block, bpstat stop_chain)
{
struct breakpoint *bpt = s->breakpoint_at;
- if (bpt != NULL && user_breakpoint_p (bpt))
+ if (bpt != NULL
+ && (user_breakpoint_p (bpt) || bpt->type == bp_until))
{
bp_location *loc = s->bp_location_at;
enum bp_loc_type t = loc->loc_type;