diff options
author | Tankut Baris Aktemur <tankut.baris.aktemur@intel.com> | 2020-02-17 16:12:02 +0100 |
---|---|---|
committer | Tankut Baris Aktemur <tankut.baris.aktemur@intel.com> | 2020-02-20 17:35:18 +0100 |
commit | d367006fb7cf837210e2aa1944a11169a60039b4 (patch) | |
tree | 587bc13bb5fe00df9ea0d1e2eb88a5c594de3fe6 /gdbserver/target.cc | |
parent | c9b7b80460e47ea4554960af6814de71b3e427cb (diff) | |
download | gdb-d367006fb7cf837210e2aa1944a11169a60039b4.zip gdb-d367006fb7cf837210e2aa1944a11169a60039b4.tar.gz gdb-d367006fb7cf837210e2aa1944a11169a60039b4.tar.bz2 |
gdbserver: turn breakpoint kind-related target ops into methods
gdbserver/ChangeLog:
2020-02-20 Tankut Baris Aktemur <tankut.baris.aktemur@intel.com>
Turn process_stratum_target's breakpoint_kind_from_pc,
sw_breakpoint_from_kind, and breakpoint_kind_from_current_state
ops into methods of process_target.
* target.h (struct process_stratum_target): Remove the target op.
(class process_target): Add the target op.
(target_breakpoint_kind_from_pc): Update the macro.
(target_breakpoint_kind_from_current_state): Update the macro.
(default_breakpoint_kind_from_pc): Remove declaration.
* target.cc (default_breakpoint_kind_from_pc): Turn into ...
(process_target::breakpoint_kind_from_pc): ... this.
(process_target::breakpoint_kind_from_current_state): Define.
Update the derived classes and callers below.
* mem-break.cc (bp_size): Update.
(bp_opcode): Update.
* linux-low.cc (linux_target_ops): Update.
(linux_wait_1): Update.
(linux_breakpoint_kind_from_pc): Turn into ...
(linux_process_target::breakpoint_kind_from_pc): ... this.
(linux_sw_breakpoint_from_kind): Turn into ...
(linux_process_target::sw_breakpoint_from_kind): ... this.
(linux_breakpoint_kind_from_current_state): Turn into ...
(linux_process_target::breakpoint_kind_from_current_state): ... this.
* linux-low.h (class linux_process_target): Update.
* lynx-low.cc (lynx_target_ops): Update.
(lynx_process_target::sw_breakpoint_from_kind): Define.
* lynx-low.h (class lynx_process_target): Update.
* nto-low.cc (nto_target_ops): Update.
(nto_sw_breakpoint_from_kind): Turn into ...
(nto_process_target::sw_breakpoint_from_kind): ... this.
* nto-low.h (class nto_process_target): Update.
* win32-low.cc (win32_target_ops): Update.
(win32_sw_breakpoint_from_kind): Turn into ...
(win32_process_target::sw_breakpoint_from_kind): ... this.
* win32-low.h (class win32_process_target): Update.
Diffstat (limited to 'gdbserver/target.cc')
-rw-r--r-- | gdbserver/target.cc | 32 |
1 files changed, 16 insertions, 16 deletions
diff --git a/gdbserver/target.cc b/gdbserver/target.cc index 4c92fa6..76eef62 100644 --- a/gdbserver/target.cc +++ b/gdbserver/target.cc @@ -306,22 +306,6 @@ kill_inferior (process_info *proc) return the_target->pt->kill (proc); } -/* Default implementation for breakpoint_kind_for_pc. - - The default behavior for targets that don't implement breakpoint_kind_for_pc - is to use the size of a breakpoint as the kind. */ - -int -default_breakpoint_kind_from_pc (CORE_ADDR *pcptr) -{ - int size = 0; - - gdb_assert (the_target->sw_breakpoint_from_kind != NULL); - - (*the_target->sw_breakpoint_from_kind) (0, &size); - return size; -} - /* Define it. */ target_terminal_state target_terminal::m_terminal_state @@ -801,3 +785,19 @@ process_target::multifs_readlink (int pid, const char *filename, { return readlink (filename, buf, bufsiz); } + +int +process_target::breakpoint_kind_from_pc (CORE_ADDR *pcptr) +{ + /* The default behavior is to use the size of a breakpoint as the + kind. */ + int size = 0; + sw_breakpoint_from_kind (0, &size); + return size; +} + +int +process_target::breakpoint_kind_from_current_state (CORE_ADDR *pcptr) +{ + return breakpoint_kind_from_pc (pcptr); +} |