diff options
Diffstat (limited to 'gdb/infcall.c')
-rw-r--r-- | gdb/infcall.c | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/gdb/infcall.c b/gdb/infcall.c index d491f9526fa..8199bdd38d3 100644 --- a/gdb/infcall.c +++ b/gdb/infcall.c @@ -470,7 +470,8 @@ struct call_thread_fsm struct ui *waiting_ui; }; -static int call_thread_fsm_should_stop (struct thread_fsm *self); +static int call_thread_fsm_should_stop (struct thread_fsm *self, + struct thread_info *thread); static int call_thread_fsm_should_notify_stop (struct thread_fsm *self); /* call_thread_fsm's vtable. */ @@ -488,7 +489,7 @@ static struct thread_fsm_ops call_thread_fsm_ops = /* Allocate a new call_thread_fsm object. */ static struct call_thread_fsm * -new_call_thread_fsm (struct ui *waiting_ui, +new_call_thread_fsm (struct ui *waiting_ui, struct interp *cmd_interp, struct gdbarch *gdbarch, struct value *function, struct type *value_type, int struct_return_p, CORE_ADDR struct_addr) @@ -496,7 +497,7 @@ new_call_thread_fsm (struct ui *waiting_ui, struct call_thread_fsm *sm; sm = XCNEW (struct call_thread_fsm); - thread_fsm_ctor (&sm->thread_fsm, &call_thread_fsm_ops); + thread_fsm_ctor (&sm->thread_fsm, &call_thread_fsm_ops, cmd_interp); sm->return_meta_info.gdbarch = gdbarch; sm->return_meta_info.function = function; @@ -512,7 +513,8 @@ new_call_thread_fsm (struct ui *waiting_ui, /* Implementation of should_stop method for infcalls. */ static int -call_thread_fsm_should_stop (struct thread_fsm *self) +call_thread_fsm_should_stop (struct thread_fsm *self, + struct thread_info *thread) { struct call_thread_fsm *f = (struct call_thread_fsm *) self; @@ -1135,7 +1137,7 @@ call_function_by_hand_dummy (struct value *function, not report the stop to the user, and captures the return value before the dummy frame is popped. run_inferior_call registers it with the thread ASAP. */ - sm = new_call_thread_fsm (current_ui, + sm = new_call_thread_fsm (current_ui, command_interp (), gdbarch, function, values_type, struct_return || hidden_first_param_p, @@ -1167,7 +1169,7 @@ call_function_by_hand_dummy (struct value *function, /* Clean up / destroy the call FSM, and restore the original one. */ - thread_fsm_clean_up (tp->thread_fsm); + thread_fsm_clean_up (tp->thread_fsm, tp); thread_fsm_delete (tp->thread_fsm); tp->thread_fsm = saved_sm; |