+2000-09-24 Peter Schauer <pes@regent.e-technik.tu-muenchen.de>
+
+ * rs6000-tdep.c (rs6000_pop_frame): Use PC_IN_CALL_DUMMY to test
+ for call dummy instead of accessing stop_stack_dummy, which does
+ not work if we `return' from a stop in a call dummy.
+ (rs6000_gdbarch_init): Use generic_save_dummy_frame_tos for
+ dummy_frame_tos function to make PC_IN_CALL_DUMMY work.
+
2000-09-23 Kevin Buettner <kevinb@redhat.com>
* mdebugread.c (mdebug_next_symbol_text): Protoize.
frames, etc.
*************************************************************************/
-extern int stop_stack_dummy;
-
/* Pop the innermost frame, go back to the caller. */
pc = read_pc ();
sp = FRAME_FP (frame);
- if (stop_stack_dummy)
+ if (PC_IN_CALL_DUMMY (frame->pc, frame->frame, frame->frame))
{
generic_pop_dummy_frame ();
flush_cached_frames ();
set_gdbarch_get_saved_register (gdbarch, generic_get_saved_register);
set_gdbarch_fix_call_dummy (gdbarch, rs6000_fix_call_dummy);
set_gdbarch_push_dummy_frame (gdbarch, generic_push_dummy_frame);
+ set_gdbarch_save_dummy_frame_tos (gdbarch, generic_save_dummy_frame_tos);
set_gdbarch_push_return_address (gdbarch, ppc_push_return_address);
set_gdbarch_believe_pcc_promotion (gdbarch, 1);
set_gdbarch_coerce_float_to_double (gdbarch, rs6000_coerce_float_to_double);