aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gdb/ChangeLog5
-rw-r--r--gdb/stack.c6
2 files changed, 11 insertions, 0 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 6bf3f03..264e744 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,8 @@
+2000-11-06 Peter Schauer <pes@regent.e-technik.tu-muenchen.de>
+
+ * stack.c (return_command): Pop dummy frame if we just returned from
+ a stop in a call dummy.
+
2000-11-05 Kevin Buettner <kevinb@redhat.com>
* v850-tdep.c (handle_prepare, handle_pushm): Remove extraneous
diff --git a/gdb/stack.c b/gdb/stack.c
index 8596276..e0f38e2 100644
--- a/gdb/stack.c
+++ b/gdb/stack.c
@@ -1892,6 +1892,12 @@ return_command (char *retval_exp, int from_tty)
if (retval_exp)
set_return_value (return_value);
+ /* If we are at the end of a call dummy now, pop the dummy frame too. */
+
+ if (CALL_DUMMY_HAS_COMPLETED (read_pc(), read_sp (),
+ FRAME_FP (get_current_frame ())))
+ POP_FRAME;
+
/* If interactive, print the frame that is now current. */
if (from_tty)