diff options
-rw-r--r-- | gdb/ChangeLog | 5 | ||||
-rw-r--r-- | gdb/stack.c | 6 |
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) |