diff options
author | Simon Marchi <simon.marchi@efficios.com> | 2020-12-04 16:43:55 -0500 |
---|---|---|
committer | Simon Marchi <simon.marchi@efficios.com> | 2020-12-04 16:43:55 -0500 |
commit | c7acb87bc602c78e6cbee7a7d73f7bdfeeddeefb (patch) | |
tree | 7b91a551664c353e4ecb8c0fb048c8bd2d5e977c /gdb/infrun.h | |
parent | 94b24c74e8658826ae8a688c0eb59685a7db03b8 (diff) | |
download | gdb-c7acb87bc602c78e6cbee7a7d73f7bdfeeddeefb.zip gdb-c7acb87bc602c78e6cbee7a7d73f7bdfeeddeefb.tar.gz gdb-c7acb87bc602c78e6cbee7a7d73f7bdfeeddeefb.tar.bz2 |
gdb: move displaced stepping types to displaced-stepping.{h,c}
Move displaced-stepping related stuff unchanged to displaced-stepping.h
and displaced-stepping.c. This helps make the following patch a bit
smaller and easier to read.
gdb/ChangeLog:
* Makefile.in (COMMON_SFILES): Add displaced-stepping.c.
* aarch64-tdep.h: Include displaced-stepping.h.
* displaced-stepping.h (struct displaced_step_copy_insn_closure):
Move here.
(displaced_step_copy_insn_closure_up): Move here.
(struct buf_displaced_step_copy_insn_closure): Move here.
(struct displaced_step_inferior_state): Move here.
(debug_displaced): Move here.
(displaced_debug_printf_1): Move here.
(displaced_debug_printf): Move here.
* displaced-stepping.c: New file.
* gdbarch.sh: Include displaced-stepping.h in gdbarch.h.
* gdbarch.h: Re-generate.
* inferior.h: Include displaced-stepping.h.
* infrun.h (debug_displaced): Move to displaced-stepping.h.
(displaced_debug_printf_1): Likewise.
(displaced_debug_printf): Likewise.
(struct displaced_step_copy_insn_closure): Likewise.
(displaced_step_copy_insn_closure_up): Likewise.
(struct buf_displaced_step_copy_insn_closure): Likewise.
(struct displaced_step_inferior_state): Likewise.
* infrun.c (show_debug_displaced): Move to displaced-stepping.c.
(displaced_debug_printf_1): Likewise.
(displaced_step_copy_insn_closure::~displaced_step_copy_insn_closure):
Likewise.
(_initialize_infrun): Don't register "set/show debug displaced".
Change-Id: I29935f5959b80425370630a45148fc06cd4227ca
Diffstat (limited to 'gdb/infrun.h')
-rw-r--r-- | gdb/infrun.h | 78 |
1 files changed, 0 insertions, 78 deletions
diff --git a/gdb/infrun.h b/gdb/infrun.h index a276ddf..c83cb33 100644 --- a/gdb/infrun.h +++ b/gdb/infrun.h @@ -41,19 +41,6 @@ extern unsigned int debug_infrun; } \ while (0) -/* True if we are debugging displaced stepping. */ -extern bool debug_displaced; - -/* Print a "displaced" debug statement. */ - -#define displaced_debug_printf(fmt, ...) \ - do \ - { \ - if (debug_displaced) \ - debug_prefixed_printf ("displaced", __func__, fmt, ##__VA_ARGS__); \ - } \ - while (0) - /* Nonzero if we want to give control to the user when we're notified of shared library events by the dynamic linker. */ extern int stop_on_solib_events; @@ -280,69 +267,4 @@ extern void all_uis_check_sync_execution_done (void); started or re-started). */ extern void all_uis_on_sync_execution_starting (void); -/* Base class for displaced stepping closures (the arch-specific data). */ - -struct displaced_step_copy_insn_closure -{ - virtual ~displaced_step_copy_insn_closure () = 0; -}; - -using displaced_step_copy_insn_closure_up - = std::unique_ptr<displaced_step_copy_insn_closure>; - -/* A simple displaced step closure that contains only a byte buffer. */ - -struct buf_displaced_step_copy_insn_closure : displaced_step_copy_insn_closure -{ - buf_displaced_step_copy_insn_closure (int buf_size) - : buf (buf_size) - {} - - gdb::byte_vector buf; -}; - -/* Per-inferior displaced stepping state. */ -struct displaced_step_inferior_state -{ - displaced_step_inferior_state () - { - reset (); - } - - /* Put this object back in its original state. */ - void reset () - { - failed_before = 0; - step_thread = nullptr; - step_gdbarch = nullptr; - step_closure.reset (); - step_original = 0; - step_copy = 0; - step_saved_copy.clear (); - } - - /* True if preparing a displaced step ever failed. If so, we won't - try displaced stepping for this inferior again. */ - int failed_before; - - /* If this is not nullptr, this is the thread carrying out a - displaced single-step in process PID. This thread's state will - require fixing up once it has completed its step. */ - thread_info *step_thread; - - /* The architecture the thread had when we stepped it. */ - gdbarch *step_gdbarch; - - /* The closure provided gdbarch_displaced_step_copy_insn, to be used - for post-step cleanup. */ - displaced_step_copy_insn_closure_up step_closure; - - /* The address of the original instruction, and the copy we - made. */ - CORE_ADDR step_original, step_copy; - - /* Saved contents of copy area. */ - gdb::byte_vector step_saved_copy; -}; - #endif /* INFRUN_H */ |