void (*initial_stuff) (void);
/* Fetch the context from the inferior. */
- void (*get_thread_context) (windows_thread_info *th);
+ void (*get_thread_context) (windows_nat::windows_thread_info *th);
/* Called just before resuming the thread. */
- void (*prepare_to_resume) (windows_thread_info *th);
+ void (*prepare_to_resume) (windows_nat::windows_thread_info *th);
/* Called when a thread was added. */
- void (*thread_added) (windows_thread_info *th);
+ void (*thread_added) (windows_nat::windows_thread_info *th);
/* Fetch register from gdbserver regcache data. */
void (*fetch_inferior_register) (struct regcache *regcache,
- windows_thread_info *th, int r);
+ windows_nat::windows_thread_info *th,
+ int r);
/* Store a new register value into the thread context of TH. */
void (*store_inferior_register) (struct regcache *regcache,
- windows_thread_info *th, int r);
+ windows_nat::windows_thread_info *th,
+ int r);
- void (*single_step) (windows_thread_info *th);
+ void (*single_step) (windows_nat::windows_thread_info *th);
const unsigned char *breakpoint;
int breakpoint_len;
+ /* Amount by which to decrement the PC after a breakpoint is
+ hit. */
+ int decr_pc_after_break;
+
+ /* Get the PC register from REGCACHE. */
+ CORE_ADDR (*get_pc) (struct regcache *regcache);
+ /* Set the PC register in REGCACHE. */
+ void (*set_pc) (struct regcache *regcache, CORE_ADDR newpc);
+
/* Breakpoint/Watchpoint related functions. See target.h for comments. */
int (*supports_z_point_type) (char z_type);
int (*insert_point) (enum raw_bkpt_type type, CORE_ADDR addr,
int get_tib_address (ptid_t ptid, CORE_ADDR *addr) override;
const gdb_byte *sw_breakpoint_from_kind (int kind, int *size) override;
+
+ CORE_ADDR read_pc (regcache *regcache) override;
+
+ void write_pc (regcache *regcache, CORE_ADDR pc) override;
+
+ bool stopped_by_sw_breakpoint () override;
+
+ bool supports_stopped_by_sw_breakpoint () override;
};
/* Retrieve the context for this thread, if not already retrieved. */
-extern void win32_require_context (windows_thread_info *th);
+extern void win32_require_context (windows_nat::windows_thread_info *th);
/* Map the Windows error number in ERROR to a locale-dependent error
message string and return a pointer to it. Typically, the values