aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Cagney <cagney@redhat.com>2004-07-23 19:37:21 +0000
committerAndrew Cagney <cagney@redhat.com>2004-07-23 19:37:21 +0000
commit8567c30fd0fb7051a9da9e154c0e1f0cf742a656 (patch)
tree5a2b711ba4dd3ff21663dc08b23ae145135c0c46
parentf6da8dd80e7b8f2bc8b1ed9ea1dc6a1039823bc3 (diff)
downloadgdb-8567c30fd0fb7051a9da9e154c0e1f0cf742a656.zip
gdb-8567c30fd0fb7051a9da9e154c0e1f0cf742a656.tar.gz
gdb-8567c30fd0fb7051a9da9e154c0e1f0cf742a656.tar.bz2
2004-07-23 Andrew Cagney <cagney@gnu.org>
* infrun.c (handle_inferior_event): Separate the STEP_OVER_ALL and DEPRECATED_IGNORE_HELPER_CALL cases, only #ifdef the latter.
-rw-r--r--gdb/ChangeLog5
-rw-r--r--gdb/infrun.c13
2 files changed, 16 insertions, 2 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 0cc9531..3957056 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,8 @@
+2004-07-23 Andrew Cagney <cagney@gnu.org>
+
+ * infrun.c (handle_inferior_event): Separate the STEP_OVER_ALL and
+ DEPRECATED_IGNORE_HELPER_CALL cases, only #ifdef the latter.
+
2004-07-23 Martin Hunt <hunt@redhat.com>
Kevin Buettner <kevinb@redhat.com>
diff --git a/gdb/infrun.c b/gdb/infrun.c
index 69cd954..47ab106 100644
--- a/gdb/infrun.c
+++ b/gdb/infrun.c
@@ -2344,8 +2344,7 @@ process_event_stop_test:
DEPRECATED_IGNORE_HELPER_CALL, SKIP_TRAMPOLINE_CODE,
skip_language_trampoline frame, et.al.) need to be replaced
with generic attributes bound to the frame's function. */
- if (step_over_calls == STEP_OVER_ALL
- || DEPRECATED_IGNORE_HELPER_CALL (stop_pc))
+ if (DEPRECATED_IGNORE_HELPER_CALL (stop_pc))
{
/* We're doing a "next", set a breakpoint at callee's return
address (the address at which the caller will
@@ -2356,6 +2355,16 @@ process_event_stop_test:
return;
}
#endif
+ if (step_over_calls == STEP_OVER_ALL)
+ {
+ /* We're doing a "next", set a breakpoint at callee's return
+ address (the address at which the caller will
+ resume). */
+ insert_step_resume_breakpoint (get_prev_frame (get_current_frame ()),
+ ecs);
+ keep_going (ecs);
+ return;
+ }
/* If we are in a function call trampoline (a stub between the
calling routine and the real function), locate the real