aboutsummaryrefslogtreecommitdiff
path: root/gdbserver/target.cc
diff options
context:
space:
mode:
authorTankut Baris Aktemur <tankut.baris.aktemur@intel.com>2020-02-17 16:12:02 +0100
committerTankut Baris Aktemur <tankut.baris.aktemur@intel.com>2020-02-20 17:35:18 +0100
commitd367006fb7cf837210e2aa1944a11169a60039b4 (patch)
tree587bc13bb5fe00df9ea0d1e2eb88a5c594de3fe6 /gdbserver/target.cc
parentc9b7b80460e47ea4554960af6814de71b3e427cb (diff)
downloadgdb-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.cc32
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);
+}