X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=gdb%2Fi386-tdep.h;h=56cbf416d885d165b251e6e3900b1a816c288966;hb=refs%2Fheads%2Fconcurrent-displaced-stepping-2020-04-01;hp=41faf515868dcac7c298b94394cbe7dde0e4df64;hpb=e8217e61f5952ccfdabb0c4ee0c237a363e9bd99;p=deliverable%2Fbinutils-gdb.git diff --git a/gdb/i386-tdep.h b/gdb/i386-tdep.h index 41faf51586..56cbf416d8 100644 --- a/gdb/i386-tdep.h +++ b/gdb/i386-tdep.h @@ -399,6 +399,19 @@ extern CORE_ADDR i386_pe_skip_trampoline_code (struct frame_info *frame, extern CORE_ADDR i386_skip_main_prologue (struct gdbarch *gdbarch, CORE_ADDR pc); +/* The "push_dummy_call" gdbarch method, optionally with the thiscall + calling convention. */ +extern CORE_ADDR i386_thiscall_push_dummy_call (struct gdbarch *gdbarch, + struct value *function, + struct regcache *regcache, + CORE_ADDR bp_addr, + int nargs, struct value **args, + CORE_ADDR sp, + function_call_return_method + return_method, + CORE_ADDR struct_addr, + bool thiscall); + /* Return whether the THIS_FRAME corresponds to a sigtramp routine. */ extern int i386_sigtramp_p (struct frame_info *this_frame); @@ -426,13 +439,13 @@ extern void void *cb_data, const struct regcache *regcache); -typedef buf_displaced_step_closure i386_displaced_step_closure; +typedef buf_displaced_step_copy_insn_closure i386_displaced_step_copy_insn_closure; -extern std::unique_ptr i386_displaced_step_copy_insn +extern displaced_step_copy_insn_closure_up i386_displaced_step_copy_insn (struct gdbarch *gdbarch, CORE_ADDR from, CORE_ADDR to, struct regcache *regs); extern void i386_displaced_step_fixup (struct gdbarch *gdbarch, - struct displaced_step_closure *closure, + struct displaced_step_copy_insn_closure *closure, CORE_ADDR from, CORE_ADDR to, struct regcache *regs);