X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=gdb%2Finfcall.h;h=43b5f66a736f9cfa12a585f3ed74aa731cc8121c;hb=0e1862bb401f47716446aef143b2bf7a4563f541;hp=2db7ee01f09a03e333dde1cbcb0e679c84c55d7f;hpb=4c38e0a4fcb69f8586d8db0b9cdb8dbab5980811;p=binutils-gdb.git diff --git a/gdb/infcall.h b/gdb/infcall.h index 2db7ee01f09..43b5f66a736 100644 --- a/gdb/infcall.h +++ b/gdb/infcall.h @@ -1,6 +1,6 @@ /* Perform an inferior function call, for GDB, the GNU debugger. - Copyright (C) 2003, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. + Copyright (C) 2003-2015 Free Software Foundation, Inc. This file is part of GDB. @@ -20,6 +20,8 @@ #ifndef INFCALL_H #define INFCALL_H +#include "dummy-frame.h" + struct value; struct type; @@ -33,9 +35,28 @@ extern CORE_ADDR find_function_addr (struct value *function, representing what the function returned. May fail to return, if a breakpoint or signal is hit during the execution of the function. - ARGS is modified to contain coerced values. */ + ARGS is modified to contain coerced values. */ extern struct value *call_function_by_hand (struct value *function, int nargs, struct value **args); +/* Similar to call_function_by_hand and additional call + register_dummy_frame_dtor with DUMMY_DTOR and DUMMY_DTOR_DATA for the + created inferior call dummy frame. */ + +extern struct value * + call_function_by_hand_dummy (struct value *function, int nargs, + struct value **args, + dummy_frame_dtor_ftype *dummy_dtor, + void *dummy_dtor_data); + +struct dummy_frame_context_saver; +extern void dummy_frame_context_saver_drop + (struct dummy_frame_context_saver *data); +extern void dummy_frame_context_saver_cleanup (void *data_voidp); +extern struct regcache *dummy_frame_context_saver_get_regs + (struct dummy_frame_context_saver *saver); +extern struct dummy_frame_context_saver *dummy_frame_context_saver_setup + (struct frame_id dummy_id, ptid_t ptid); + #endif