diff options
Diffstat (limited to 'gdb/stack.c')
-rw-r--r-- | gdb/stack.c | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/gdb/stack.c b/gdb/stack.c index 144f778..74941f9 100644 --- a/gdb/stack.c +++ b/gdb/stack.c @@ -1945,9 +1945,17 @@ The location at which to store the function's return value is unknown.\n"; /* NOTE: cagney/2003-01-18: Is this silly? Instead of popping all the frames in sequence, should this code just pop the dummy frame directly? */ - if (CALL_DUMMY_HAS_COMPLETED (read_pc(), read_sp (), - get_frame_base (get_current_frame ()))) +#ifdef DEPRECATED_CALL_DUMMY_HAS_COMPLETED + /* Since all up-to-date architectures return direct to the dummy + breakpoint address, a dummy frame has, by definition, always + completed. Hence this method is no longer needed. */ + if (DEPRECATED_CALL_DUMMY_HAS_COMPLETED (read_pc(), read_sp (), + get_frame_base (get_current_frame ()))) frame_pop (get_current_frame ()); +#else + if (get_frame_type (get_current_frame ()) == DUMMY_FRAME) + frame_pop (get_current_frame ()); +#endif /* If interactive, print the frame that is now current. */ if (from_tty) |