gdb: add target_ops::supports_displaced_step
[deliverable/binutils-gdb.git] / gdb / i386-tdep.h
index 456dd549c67c279039582b1c5ce761d17f3f349b..56cbf416d885d165b251e6e3900b1a816c288966 100644 (file)
@@ -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);
 
This page took 0.02909 seconds and 4 git commands to generate.