else
error ("Invalid data type for function to be called.");
- *retval_type = value_type;
+ if (retval_type != NULL)
+ *retval_type = value_type;
return funaddr + FUNCTION_START_OFFSET;
}
/* When there is no push_dummy_call method, should this code
simply error out. That would the implementation of this method
for all ABIs (which is probably a good thing). */
- sp = gdbarch_push_dummy_call (current_gdbarch, funaddr, current_regcache,
+ sp = gdbarch_push_dummy_call (current_gdbarch, function, current_regcache,
bp_addr, nargs, args, sp, struct_return,
struct_addr);
else if (DEPRECATED_PUSH_ARGUMENTS_P ())
if (DEPRECATED_DUMMY_WRITE_SP_P ())
DEPRECATED_DUMMY_WRITE_SP (sp);
- if (gdbarch_unwind_dummy_id_p (current_gdbarch))
- {
- /* Sanity. The exact same SP value is returned by
- PUSH_DUMMY_CALL, saved as the dummy-frame TOS, and used by
- unwind_dummy_id to form the frame ID's stack address. */
- generic_save_dummy_frame_tos (sp);
- }
- else if (DEPRECATED_SAVE_DUMMY_FRAME_TOS_P ())
+ if (DEPRECATED_SAVE_DUMMY_FRAME_TOS_P ())
DEPRECATED_SAVE_DUMMY_FRAME_TOS (sp);
+ else
+ /* Sanity. The exact same SP value is returned by
+ PUSH_DUMMY_CALL, saved as the dummy-frame TOS, and used by
+ unwind_dummy_id to form the frame ID's stack address. */
+ generic_save_dummy_frame_tos (sp);
/* Now proceed, having reached the desired place. */
clear_proceed_status ();