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=456dd549c67c279039582b1c5ce761d17f3f349b;hpb=0d12e84cfc9bd36b7bbda01a3c8f83f65a832398;p=deliverable%2Fbinutils-gdb.git diff --git a/gdb/i386-tdep.h b/gdb/i386-tdep.h index 456dd549c6..56cbf416d8 100644 --- a/gdb/i386-tdep.h +++ b/gdb/i386-tdep.h @@ -1,6 +1,6 @@ /* Target-dependent code for the i386. - Copyright (C) 2001-2019 Free Software Foundation, Inc. + Copyright (C) 2001-2020 Free Software Foundation, Inc. This file is part of GDB. @@ -260,7 +260,7 @@ struct gdbarch_tdep /* Floating-point registers. */ -/* All FPU control regusters (except for FIOFF and FOOFF) are 16-bit +/* All FPU control registers (except for FIOFF and FOOFF) are 16-bit (at most) in the FPU, but are zero-extended to 32 bits in GDB's register cache. */ @@ -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 struct displaced_step_closure *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);