+struct displaced_step_buffer_state
+{
+ displaced_step_buffer_state (CORE_ADDR buffer_addr)
+ : m_buffer_addr (buffer_addr)
+ {}
+
+ const CORE_ADDR m_buffer_addr;
+
+ /* When a displaced step operation is using this buffer, this is the original
+ PC of the instruction currently begin stepped. */
+ CORE_ADDR m_original_pc = 0;
+
+ /* If set, the thread currently using the buffer. If unset, the buffer is not
+ used. */
+ thread_info *m_current_thread = nullptr;
+
+ /* Saved copy of the bytes in the displaced buffer, to be restored once the
+ buffer is no longer used. */
+ gdb::byte_vector m_saved_copy;
+
+ /* Closure obtained from gdbarch_displaced_step_copy_insn, to be passed to
+ gdbarch_displaced_step_fixup_insn. */
+ displaced_step_copy_insn_closure_up m_copy_insn_closure;
+};
+