aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Schauer <Peter.Schauer@mytum.de>2000-11-06 20:25:36 +0000
committerPeter Schauer <Peter.Schauer@mytum.de>2000-11-06 20:25:36 +0000
commit1a2aab69f1955c55a2495dce94deef22162d3959 (patch)
tree04a7f83c3ed73f213aba0a9133cb258ec0dbad63
parentcf919dfdd753416017c8a78dc7271e2a6f77465c (diff)
downloadgdb-1a2aab69f1955c55a2495dce94deef22162d3959.zip
gdb-1a2aab69f1955c55a2495dce94deef22162d3959.tar.gz
gdb-1a2aab69f1955c55a2495dce94deef22162d3959.tar.bz2
* stack.c (return_command): Pop dummy frame if we just returned from
a stop in a call dummy.
-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)