public inbox for gdb-cvs@sourceware.org
help / color / mirror / Atom feed
* [binutils-gdb] gdbserver/linux-low: turn 'insert_point' and 'remove_point' into methods
@ 2020-04-02 13:18 Tankut Baris Aktemur
  0 siblings, 0 replies; only message in thread
From: Tankut Baris Aktemur @ 2020-04-02 13:18 UTC (permalink / raw)
  To: gdb-cvs

https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=9db9aa232ac37e4dca92733678748adc1bfc7ef0

commit 9db9aa232ac37e4dca92733678748adc1bfc7ef0
Author: Tankut Baris Aktemur <tankut.baris.aktemur@intel.com>
Date:   Thu Apr 2 15:11:27 2020 +0200

    gdbserver/linux-low: turn 'insert_point' and 'remove_point' into methods
    
    gdbserver/ChangeLog:
    2020-04-02  Tankut Baris Aktemur  <tankut.baris.aktemur@intel.com>
    
            Turn the 'insert_point' and 'remove_point' linux target ops into
            methods of linux_process_target.
    
            * linux-low.h (struct linux_target_ops): Remove the ops.
            (class linux_process_target) <low_insert_point>
            <low_remove_point>: Declare.
            * linux-low.cc (linux_process_target::low_insert_point)
            (linux_process_target::low_remove_point): Define.
            (linux_process_target::insert_point)
            (linux_process_target::remove_point): Update for calls to
            low_insert_point and low_remove_point.
            * linux-x86-low.cc (class x86_target) <low_insert_point>
            <low_remove_point>: Declare.
            (x86_insert_point): Turn into...
            (x86_target::low_insert_point): ...this.
            (x86_remove_point): Turn into...
            (x86_target::low_remove_point): ...this.
            (the_low_target): Remove the op fields.
            * linux-aarch64-low.cc (class aarch64_target) <low_insert_point>
            <low_remove_point>: Declare.
            (aarch64_insert_point): Turn into...
            (aarch64_target::low_insert_point): ...this.
            (aarch64_remove_point): Turn into...
            (aarch64_target::low_remove_point): ...this.
            (the_low_target): Remove the op fields.
            * linux-arm-low.cc (class arm_target) <low_insert_point>
            <low_remove_point>: Declare.
            (arm_insert_point): Turn into...
            (arm_target::low_insert_point): ...this.
            (arm_remove_point): Turn into...
            (arm_target::low_remove_point): ...this.
            (the_low_target): Remove the op fields.
            * linux-crisv32-low.cc (class crisv32_target) <low_insert_point>
            <low_remove_point>: Declare.
            (crisv32_insert_point): Turn into...
            (crisv32_target::low_insert_point): ...this.
            (crisv32_remove_point): Turn into...
            (crisv32_target::low_remove_point): ...this.
            (the_low_target): Remove the op fields.
            * linux-mips-low.cc (class mips_target) <low_insert_point>
            <low_remove_point>: Declare.
            (mips_insert_point): Turn into...
            (mips_target::low_insert_point): ...this.
            (mips_remove_point): Turn into...
            (mips_target::low_remove_point): ...this.
            (the_low_target): Remove the op fields.
            * linux-ppc-low.cc (class ppc_target) <low_insert_point>
            <low_remove_point>: Declare.
            (ppc_insert_point): Turn into...
            (ppc_target::low_insert_point): ...this.
            (ppc_remove_point): Turn into...
            (ppc_target::low_remove_point): ...this.
            (the_low_target): Remove the op fields.
            * linux-bfin-low.cc (the_low_target): Remove the op fields.
            * linux-m32r-low.cc (the_low_target): Ditto.
            * linux-m68k-low.cc (the_low_target): Ditto.
            * linux-s390-low.cc (the_low_target): Ditto.
            * linux-sh-low.cc (the_low_target): Ditto.
            * linux-sparc-low.cc (the_low_target): Ditto.
            * linux-tic6x-low.cc (the_low_target): Ditto.
            * linux-tile-low.cc (the_low_target): Ditto.
            * linux-xtensa-low.cc (the_low_target): Ditto.

Diff:
---
 gdbserver/ChangeLog            | 65 ++++++++++++++++++++++++++++++++++++++++++
 gdbserver/linux-aarch64-low.cc | 24 +++++++++-------
 gdbserver/linux-arm-low.cc     | 20 +++++++------
 gdbserver/linux-bfin-low.cc    |  2 --
 gdbserver/linux-crisv32-low.cc | 20 +++++++------
 gdbserver/linux-low.cc         | 26 +++++++++++------
 gdbserver/linux-low.h          | 15 +++++-----
 gdbserver/linux-m32r-low.cc    |  2 --
 gdbserver/linux-m68k-low.cc    |  2 --
 gdbserver/linux-mips-low.cc    | 28 ++++++++++--------
 gdbserver/linux-ppc-low.cc     | 24 +++++++++-------
 gdbserver/linux-s390-low.cc    |  2 --
 gdbserver/linux-sh-low.cc      |  2 --
 gdbserver/linux-sparc-low.cc   |  2 +-
 gdbserver/linux-tic6x-low.cc   |  2 --
 gdbserver/linux-tile-low.cc    |  2 --
 gdbserver/linux-x86-low.cc     | 20 +++++++------
 gdbserver/linux-xtensa-low.cc  |  2 --
 18 files changed, 172 insertions(+), 88 deletions(-)

diff --git a/gdbserver/ChangeLog b/gdbserver/ChangeLog
index 5e6861af183..45860154721 100644
--- a/gdbserver/ChangeLog
+++ b/gdbserver/ChangeLog
@@ -1,3 +1,68 @@
+2020-04-02  Tankut Baris Aktemur  <tankut.baris.aktemur@intel.com>
+
+	Turn the 'insert_point' and 'remove_point' linux target ops into
+	methods of linux_process_target.
+
+	* linux-low.h (struct linux_target_ops): Remove the ops.
+	(class linux_process_target) <low_insert_point>
+	<low_remove_point>: Declare.
+	* linux-low.cc (linux_process_target::low_insert_point)
+	(linux_process_target::low_remove_point): Define.
+	(linux_process_target::insert_point)
+	(linux_process_target::remove_point): Update for calls to
+	low_insert_point and low_remove_point.
+	* linux-x86-low.cc (class x86_target) <low_insert_point>
+	<low_remove_point>: Declare.
+	(x86_insert_point): Turn into...
+	(x86_target::low_insert_point): ...this.
+	(x86_remove_point): Turn into...
+	(x86_target::low_remove_point): ...this.
+	(the_low_target): Remove the op fields.
+	* linux-aarch64-low.cc (class aarch64_target) <low_insert_point>
+	<low_remove_point>: Declare.
+	(aarch64_insert_point): Turn into...
+	(aarch64_target::low_insert_point): ...this.
+	(aarch64_remove_point): Turn into...
+	(aarch64_target::low_remove_point): ...this.
+	(the_low_target): Remove the op fields.
+	* linux-arm-low.cc (class arm_target) <low_insert_point>
+	<low_remove_point>: Declare.
+	(arm_insert_point): Turn into...
+	(arm_target::low_insert_point): ...this.
+	(arm_remove_point): Turn into...
+	(arm_target::low_remove_point): ...this.
+	(the_low_target): Remove the op fields.
+	* linux-crisv32-low.cc (class crisv32_target) <low_insert_point>
+	<low_remove_point>: Declare.
+	(crisv32_insert_point): Turn into...
+	(crisv32_target::low_insert_point): ...this.
+	(crisv32_remove_point): Turn into...
+	(crisv32_target::low_remove_point): ...this.
+	(the_low_target): Remove the op fields.
+	* linux-mips-low.cc (class mips_target) <low_insert_point>
+	<low_remove_point>: Declare.
+	(mips_insert_point): Turn into...
+	(mips_target::low_insert_point): ...this.
+	(mips_remove_point): Turn into...
+	(mips_target::low_remove_point): ...this.
+	(the_low_target): Remove the op fields.
+	* linux-ppc-low.cc (class ppc_target) <low_insert_point>
+	<low_remove_point>: Declare.
+	(ppc_insert_point): Turn into...
+	(ppc_target::low_insert_point): ...this.
+	(ppc_remove_point): Turn into...
+	(ppc_target::low_remove_point): ...this.
+	(the_low_target): Remove the op fields.
+	* linux-bfin-low.cc (the_low_target): Remove the op fields.
+	* linux-m32r-low.cc (the_low_target): Ditto.
+	* linux-m68k-low.cc (the_low_target): Ditto.
+	* linux-s390-low.cc (the_low_target): Ditto.
+	* linux-sh-low.cc (the_low_target): Ditto.
+	* linux-sparc-low.cc (the_low_target): Ditto.
+	* linux-tic6x-low.cc (the_low_target): Ditto.
+	* linux-tile-low.cc (the_low_target): Ditto.
+	* linux-xtensa-low.cc (the_low_target): Ditto.
+
 2020-04-02  Tankut Baris Aktemur  <tankut.baris.aktemur@intel.com>
 
 	Remove the 'supports_z_point_type' linux target op and let the
diff --git a/gdbserver/linux-aarch64-low.cc b/gdbserver/linux-aarch64-low.cc
index 9727d5db85a..5660ec0fd60 100644
--- a/gdbserver/linux-aarch64-low.cc
+++ b/gdbserver/linux-aarch64-low.cc
@@ -80,6 +80,12 @@ protected:
   void low_set_pc (regcache *regcache, CORE_ADDR newpc) override;
 
   bool low_breakpoint_at (CORE_ADDR pc) override;
+
+  int low_insert_point (raw_bkpt_type type, CORE_ADDR addr,
+			int size, raw_breakpoint *bp) override;
+
+  int low_remove_point (raw_bkpt_type type, CORE_ADDR addr,
+			int size, raw_breakpoint *bp) override;
 };
 
 /* The singleton target ops object.  */
@@ -308,14 +314,14 @@ aarch64_target::supports_z_point_type (char z_type)
     }
 }
 
-/* Implementation of linux_target_ops method "insert_point".
+/* Implementation of linux target ops method "low_insert_point".
 
    It actually only records the info of the to-be-inserted bp/wp;
    the actual insertion will happen when threads are resumed.  */
 
-static int
-aarch64_insert_point (enum raw_bkpt_type type, CORE_ADDR addr,
-		      int len, struct raw_breakpoint *bp)
+int
+aarch64_target::low_insert_point (raw_bkpt_type type, CORE_ADDR addr,
+				  int len, raw_breakpoint *bp)
 {
   int ret;
   enum target_hw_bp_type targ_type;
@@ -357,14 +363,14 @@ aarch64_insert_point (enum raw_bkpt_type type, CORE_ADDR addr,
   return ret;
 }
 
-/* Implementation of linux_target_ops method "remove_point".
+/* Implementation of linux target ops method "low_remove_point".
 
    It actually only records the info of the to-be-removed bp/wp,
    the actual removal will be done when threads are resumed.  */
 
-static int
-aarch64_remove_point (enum raw_bkpt_type type, CORE_ADDR addr,
-		      int len, struct raw_breakpoint *bp)
+int
+aarch64_target::low_remove_point (raw_bkpt_type type, CORE_ADDR addr,
+				  int len, raw_breakpoint *bp)
 {
   int ret;
   enum target_hw_bp_type targ_type;
@@ -3106,8 +3112,6 @@ aarch64_supports_hardware_single_step (void)
 
 struct linux_target_ops the_low_target =
 {
-  aarch64_insert_point,
-  aarch64_remove_point,
   aarch64_stopped_by_watchpoint,
   aarch64_stopped_data_address,
   NULL, /* collect_ptrace_register */
diff --git a/gdbserver/linux-arm-low.cc b/gdbserver/linux-arm-low.cc
index 2d6035cd07b..edb8cd05c1d 100644
--- a/gdbserver/linux-arm-low.cc
+++ b/gdbserver/linux-arm-low.cc
@@ -89,6 +89,12 @@ protected:
   std::vector<CORE_ADDR> low_get_next_pcs (regcache *regcache) override;
 
   bool low_breakpoint_at (CORE_ADDR pc) override;
+
+  int low_insert_point (raw_bkpt_type type, CORE_ADDR addr,
+			int size, raw_breakpoint *bp) override;
+
+  int low_remove_point (raw_bkpt_type type, CORE_ADDR addr,
+			int size, raw_breakpoint *bp) override;
 };
 
 /* The singleton target ops object.  */
@@ -576,9 +582,9 @@ arm_target::supports_z_point_type (char z_type)
 }
 
 /* Insert hardware break-/watchpoint.  */
-static int
-arm_insert_point (enum raw_bkpt_type type, CORE_ADDR addr,
-		  int len, struct raw_breakpoint *bp)
+int
+arm_target::low_insert_point (raw_bkpt_type type, CORE_ADDR addr,
+			      int len, raw_breakpoint *bp)
 {
   struct process_info *proc = current_process ();
   struct arm_linux_hw_breakpoint p, *pts;
@@ -621,9 +627,9 @@ arm_insert_point (enum raw_bkpt_type type, CORE_ADDR addr,
 }
 
 /* Remove hardware break-/watchpoint.  */
-static int
-arm_remove_point (enum raw_bkpt_type type, CORE_ADDR addr,
-		  int len, struct raw_breakpoint *bp)
+int
+arm_target::low_remove_point (raw_bkpt_type type, CORE_ADDR addr,
+			      int len, raw_breakpoint *bp)
 {
   struct process_info *proc = current_process ();
   struct arm_linux_hw_breakpoint p, *pts;
@@ -1095,8 +1101,6 @@ arm_target::get_regs_info ()
 }
 
 struct linux_target_ops the_low_target = {
-  arm_insert_point,
-  arm_remove_point,
   arm_stopped_by_watchpoint,
   arm_stopped_data_address,
   NULL, /* collect_ptrace_register */
diff --git a/gdbserver/linux-bfin-low.cc b/gdbserver/linux-bfin-low.cc
index 5384fa897b8..50c1743a6b4 100644
--- a/gdbserver/linux-bfin-low.cc
+++ b/gdbserver/linux-bfin-low.cc
@@ -171,8 +171,6 @@ bfin_target::get_regs_info ()
 }
 
 struct linux_target_ops the_low_target = {
-  NULL, /* insert_point */
-  NULL, /* remove_point */
   NULL, /* stopped_by_watchpoint */
   NULL, /* stopped_data_address */
   NULL, /* collect_ptrace_register */
diff --git a/gdbserver/linux-crisv32-low.cc b/gdbserver/linux-crisv32-low.cc
index 761e4e243ac..4d5edc570e5 100644
--- a/gdbserver/linux-crisv32-low.cc
+++ b/gdbserver/linux-crisv32-low.cc
@@ -47,6 +47,12 @@ protected:
   void low_set_pc (regcache *regcache, CORE_ADDR newpc) override;
 
   bool low_breakpoint_at (CORE_ADDR pc) override;
+
+  int low_insert_point (raw_bkpt_type type, CORE_ADDR addr,
+			int size, raw_breakpoint *bp) override;
+
+  int low_remove_point (raw_bkpt_type type, CORE_ADDR addr,
+			int size, raw_breakpoint *bp) override;
 };
 
 /* The singleton target ops object.  */
@@ -193,9 +199,9 @@ crisv32_target::supports_z_point_type (char z_type)
     }
 }
 
-static int
-cris_insert_point (enum raw_bkpt_type type, CORE_ADDR addr,
-		   int len, struct raw_breakpoint *bp)
+int
+crisv32_target::low_insert_point (raw_bkpt_type type, CORE_ADDR addr,
+				  int len, raw_breakpoint *bp)
 {
   int bp;
   unsigned long bp_ctrl;
@@ -266,9 +272,9 @@ cris_insert_point (enum raw_bkpt_type type, CORE_ADDR addr,
   return 0;
 }
 
-static int
-cris_remove_point (enum raw_bkpt_type type, CORE_ADDR addr, int len,
-		   struct raw_breakpoint *bp)
+int
+crisv32_target::low_remove_point (raw_bkpt_type type, CORE_ADDR addr,
+				  int len, raw_breakpoint *bp)
 {
   int bp;
   unsigned long bp_ctrl;
@@ -458,8 +464,6 @@ crisv32_target::get_regs_info ()
 }
 
 struct linux_target_ops the_low_target = {
-  cris_insert_point,
-  cris_remove_point,
   cris_stopped_by_watchpoint,
   cris_stopped_data_address,
   NULL, /* collect_ptrace_register */
diff --git a/gdbserver/linux-low.cc b/gdbserver/linux-low.cc
index 9a5c735c5c5..814c03705cd 100644
--- a/gdbserver/linux-low.cc
+++ b/gdbserver/linux-low.cc
@@ -5835,11 +5835,16 @@ linux_process_target::insert_point (enum raw_bkpt_type type, CORE_ADDR addr,
 {
   if (type == raw_bkpt_type_sw)
     return insert_memory_breakpoint (bp);
-  else if (the_low_target.insert_point != NULL)
-    return the_low_target.insert_point (type, addr, size, bp);
   else
-    /* Unsupported (see target.h).  */
-    return 1;
+    return low_insert_point (type, addr, size, bp);
+}
+
+int
+linux_process_target::low_insert_point (raw_bkpt_type type, CORE_ADDR addr,
+					int size, raw_breakpoint *bp)
+{
+  /* Unsupported (see target.h).  */
+  return 1;
 }
 
 int
@@ -5848,11 +5853,16 @@ linux_process_target::remove_point (enum raw_bkpt_type type, CORE_ADDR addr,
 {
   if (type == raw_bkpt_type_sw)
     return remove_memory_breakpoint (bp);
-  else if (the_low_target.remove_point != NULL)
-    return the_low_target.remove_point (type, addr, size, bp);
   else
-    /* Unsupported (see target.h).  */
-    return 1;
+    return low_remove_point (type, addr, size, bp);
+}
+
+int
+linux_process_target::low_remove_point (raw_bkpt_type type, CORE_ADDR addr,
+					int size, raw_breakpoint *bp)
+{
+  /* Unsupported (see target.h).  */
+  return 1;
 }
 
 /* Implement the stopped_by_sw_breakpoint target_ops
diff --git a/gdbserver/linux-low.h b/gdbserver/linux-low.h
index c80237c8aa2..0fdd8ceb945 100644
--- a/gdbserver/linux-low.h
+++ b/gdbserver/linux-low.h
@@ -131,13 +131,6 @@ struct lwp_info;
 
 struct linux_target_ops
 {
-  /* Breakpoint and watchpoint related functions.  See target.h for
-     comments.  */
-  int (*insert_point) (enum raw_bkpt_type type, CORE_ADDR addr,
-		       int size, struct raw_breakpoint *bp);
-  int (*remove_point) (enum raw_bkpt_type type, CORE_ADDR addr,
-		       int size, struct raw_breakpoint *bp);
-
   int (*stopped_by_watchpoint) (void);
   CORE_ADDR (*stopped_data_address) (void);
 
@@ -664,6 +657,14 @@ protected:
   /* Return true if there is a breakpoint at PC.  */
   virtual bool low_breakpoint_at (CORE_ADDR pc) = 0;
 
+  /* Breakpoint and watchpoint related functions.  See target.h for
+     comments.  */
+  virtual int low_insert_point (raw_bkpt_type type, CORE_ADDR addr,
+				int size, raw_breakpoint *bp);
+
+  virtual int low_remove_point (raw_bkpt_type type, CORE_ADDR addr,
+				int size, raw_breakpoint *bp);
+
   /* How many bytes the PC should be decremented after a break.  */
   virtual int low_decr_pc_after_break ();
 };
diff --git a/gdbserver/linux-m32r-low.cc b/gdbserver/linux-m32r-low.cc
index 2f331b4a02a..bbafe8fa5c2 100644
--- a/gdbserver/linux-m32r-low.cc
+++ b/gdbserver/linux-m32r-low.cc
@@ -161,8 +161,6 @@ m32r_target::get_regs_info ()
 }
 
 struct linux_target_ops the_low_target = {
-  NULL, /* insert_point */
-  NULL, /* remove_point */
   NULL, /* stopped_by_watchpoint */
   NULL, /* stopped_data_address */
   NULL, /* collect_ptrace_register */
diff --git a/gdbserver/linux-m68k-low.cc b/gdbserver/linux-m68k-low.cc
index 08a8f163876..fd2d601ba08 100644
--- a/gdbserver/linux-m68k-low.cc
+++ b/gdbserver/linux-m68k-low.cc
@@ -265,8 +265,6 @@ m68k_supports_hardware_single_step (void)
 }
 
 struct linux_target_ops the_low_target = {
-  NULL, /* insert_point */
-  NULL, /* remove_point */
   NULL, /* stopped_by_watchpoint */
   NULL, /* stopped_data_address */
   NULL, /* collect_ptrace_register */
diff --git a/gdbserver/linux-mips-low.cc b/gdbserver/linux-mips-low.cc
index 84ad0a07004..5696af6fae2 100644
--- a/gdbserver/linux-mips-low.cc
+++ b/gdbserver/linux-mips-low.cc
@@ -54,6 +54,12 @@ protected:
   void low_set_pc (regcache *regcache, CORE_ADDR newpc) override;
 
   bool low_breakpoint_at (CORE_ADDR pc) override;
+
+  int low_insert_point (raw_bkpt_type type, CORE_ADDR addr,
+			int size, raw_breakpoint *bp) override;
+
+  int low_remove_point (raw_bkpt_type type, CORE_ADDR addr,
+			int size, raw_breakpoint *bp) override;
 };
 
 /* The singleton target ops object.  */
@@ -508,12 +514,12 @@ mips_target::supports_z_point_type (char z_type)
     }
 }
 
-/* This is the implementation of linux_target_ops method
-   insert_point.  */
+/* This is the implementation of linux target ops method
+   low_insert_point.  */
 
-static int
-mips_insert_point (enum raw_bkpt_type type, CORE_ADDR addr,
-		   int len, struct raw_breakpoint *bp)
+int
+mips_target::low_insert_point (raw_bkpt_type type, CORE_ADDR addr,
+			       int len, raw_breakpoint *bp)
 {
   struct process_info *proc = current_process ();
   struct arch_process_info *priv = proc->priv->arch_private;
@@ -553,12 +559,12 @@ mips_insert_point (enum raw_bkpt_type type, CORE_ADDR addr,
   return 0;
 }
 
-/* This is the implementation of linux_target_ops method
-   remove_point.  */
+/* This is the implementation of linux target ops method
+   low_remove_point.  */
 
-static int
-mips_remove_point (enum raw_bkpt_type type, CORE_ADDR addr,
-		   int len, struct raw_breakpoint *bp)
+int
+mips_target::low_remove_point (raw_bkpt_type type, CORE_ADDR addr,
+			       int len, raw_breakpoint *bp)
 {
   struct process_info *proc = current_process ();
   struct arch_process_info *priv = proc->priv->arch_private;
@@ -970,8 +976,6 @@ mips_target::get_regs_info ()
 }
 
 struct linux_target_ops the_low_target = {
-  mips_insert_point,
-  mips_remove_point,
   mips_stopped_by_watchpoint,
   mips_stopped_data_address,
   mips_collect_ptrace_register,
diff --git a/gdbserver/linux-ppc-low.cc b/gdbserver/linux-ppc-low.cc
index 6874f0674e2..d28551534bf 100644
--- a/gdbserver/linux-ppc-low.cc
+++ b/gdbserver/linux-ppc-low.cc
@@ -71,6 +71,12 @@ protected:
   void low_set_pc (regcache *regcache, CORE_ADDR newpc) override;
 
   bool low_breakpoint_at (CORE_ADDR pc) override;
+
+  int low_insert_point (raw_bkpt_type type, CORE_ADDR addr,
+			int size, raw_breakpoint *bp) override;
+
+  int low_remove_point (raw_bkpt_type type, CORE_ADDR addr,
+			int size, raw_breakpoint *bp) override;
 };
 
 /* The singleton target ops object.  */
@@ -346,12 +352,12 @@ ppc_target::supports_z_point_type (char z_type)
     }
 }
 
-/* Implement insert_point target-ops.
+/* Implement the low_insert_point linux target op.
    Returns 0 on success, -1 on failure and 1 on unsupported.  */
 
-static int
-ppc_insert_point (enum raw_bkpt_type type, CORE_ADDR addr,
-		  int size, struct raw_breakpoint *bp)
+int
+ppc_target::low_insert_point (raw_bkpt_type type, CORE_ADDR addr,
+			      int size, raw_breakpoint *bp)
 {
   switch (type)
     {
@@ -367,12 +373,12 @@ ppc_insert_point (enum raw_bkpt_type type, CORE_ADDR addr,
     }
 }
 
-/* Implement remove_point target-ops.
+/* Implement the low_remove_point linux target op.
    Returns 0 on success, -1 on failure and 1 on unsupported.  */
 
-static int
-ppc_remove_point (enum raw_bkpt_type type, CORE_ADDR addr,
-		  int size, struct raw_breakpoint *bp)
+int
+ppc_target::low_remove_point (raw_bkpt_type type, CORE_ADDR addr,
+			      int size, raw_breakpoint *bp)
 {
   switch (type)
     {
@@ -3410,8 +3416,6 @@ ppc_get_ipa_tdesc_idx (void)
 }
 
 struct linux_target_ops the_low_target = {
-  ppc_insert_point,
-  ppc_remove_point,
   NULL,
   NULL,
   ppc_collect_ptrace_register,
diff --git a/gdbserver/linux-s390-low.cc b/gdbserver/linux-s390-low.cc
index 3bfa675efa4..36471fbea62 100644
--- a/gdbserver/linux-s390-low.cc
+++ b/gdbserver/linux-s390-low.cc
@@ -2838,8 +2838,6 @@ s390_emit_ops (void)
 }
 
 struct linux_target_ops the_low_target = {
-  NULL,
-  NULL,
   NULL,
   NULL,
   s390_collect_ptrace_register,
diff --git a/gdbserver/linux-sh-low.cc b/gdbserver/linux-sh-low.cc
index 5723b4f8904..c4af7defadb 100644
--- a/gdbserver/linux-sh-low.cc
+++ b/gdbserver/linux-sh-low.cc
@@ -192,8 +192,6 @@ sh_target::low_arch_setup ()
 }
 
 struct linux_target_ops the_low_target = {
-  NULL, /* insert_point */
-  NULL, /* remove_point */
   NULL, /* stopped_by_watchpoint */
   NULL, /* stopped_data_address */
   NULL, /* collect_ptrace_register */
diff --git a/gdbserver/linux-sparc-low.cc b/gdbserver/linux-sparc-low.cc
index 46133b55b59..0380cedb800 100644
--- a/gdbserver/linux-sparc-low.cc
+++ b/gdbserver/linux-sparc-low.cc
@@ -341,7 +341,7 @@ sparc_target::get_regs_info ()
 }
 
 struct linux_target_ops the_low_target = {
-  NULL, NULL, NULL, NULL,
+  NULL, NULL,
   NULL, NULL
 };
 
diff --git a/gdbserver/linux-tic6x-low.cc b/gdbserver/linux-tic6x-low.cc
index 30f880a19c6..e6f2203d492 100644
--- a/gdbserver/linux-tic6x-low.cc
+++ b/gdbserver/linux-tic6x-low.cc
@@ -423,8 +423,6 @@ tic6x_target::get_regs_info ()
 }
 
 struct linux_target_ops the_low_target = {
-  NULL, /* insert_point */
-  NULL, /* remove_point */
   NULL, /* stopped_by_watchpoint */
   NULL, /* stopped_data_address */
   NULL, /* collect_ptrace_register */
diff --git a/gdbserver/linux-tile-low.cc b/gdbserver/linux-tile-low.cc
index 73f3eb918e6..f9c5460989e 100644
--- a/gdbserver/linux-tile-low.cc
+++ b/gdbserver/linux-tile-low.cc
@@ -224,8 +224,6 @@ tile_supports_hardware_single_step (void)
 
 struct linux_target_ops the_low_target =
 {
-  NULL, /* insert_point */
-  NULL, /* remove_point */
   NULL, /* stopped_by_watchpoint */
   NULL, /* stopped_data_address */
   NULL, /* collect_ptrace_register */
diff --git a/gdbserver/linux-x86-low.cc b/gdbserver/linux-x86-low.cc
index d5228746371..e6566a1da94 100644
--- a/gdbserver/linux-x86-low.cc
+++ b/gdbserver/linux-x86-low.cc
@@ -127,6 +127,12 @@ protected:
   int low_decr_pc_after_break () override;
 
   bool low_breakpoint_at (CORE_ADDR pc) override;
+
+  int low_insert_point (raw_bkpt_type type, CORE_ADDR addr,
+			int size, raw_breakpoint *bp) override;
+
+  int low_remove_point (raw_bkpt_type type, CORE_ADDR addr,
+			int size, raw_breakpoint *bp) override;
 };
 
 /* The singleton target ops object.  */
@@ -604,9 +610,9 @@ x86_target::supports_z_point_type (char z_type)
     }
 }
 
-static int
-x86_insert_point (enum raw_bkpt_type type, CORE_ADDR addr,
-		  int size, struct raw_breakpoint *bp)
+int
+x86_target::low_insert_point (raw_bkpt_type type, CORE_ADDR addr,
+			      int size, raw_breakpoint *bp)
 {
   struct process_info *proc = current_process ();
 
@@ -630,9 +636,9 @@ x86_insert_point (enum raw_bkpt_type type, CORE_ADDR addr,
     }
 }
 
-static int
-x86_remove_point (enum raw_bkpt_type type, CORE_ADDR addr,
-		  int size, struct raw_breakpoint *bp)
+int
+x86_target::low_remove_point (raw_bkpt_type type, CORE_ADDR addr,
+			      int size, raw_breakpoint *bp)
 {
   struct process_info *proc = current_process ();
 
@@ -2912,8 +2918,6 @@ x86_get_ipa_tdesc_idx (void)
 
 struct linux_target_ops the_low_target =
 {
-  x86_insert_point,
-  x86_remove_point,
   x86_stopped_by_watchpoint,
   x86_stopped_data_address,
   /* collect_ptrace_register/supply_ptrace_register are not needed in the
diff --git a/gdbserver/linux-xtensa-low.cc b/gdbserver/linux-xtensa-low.cc
index e1618d100b9..a7023f465b2 100644
--- a/gdbserver/linux-xtensa-low.cc
+++ b/gdbserver/linux-xtensa-low.cc
@@ -329,8 +329,6 @@ xtensa_target::get_regs_info ()
 }
 
 struct linux_target_ops the_low_target = {
-  NULL, /* insert_point */
-  NULL, /* remove_point */
   NULL, /* stopped_by_watchpoint */
   NULL, /* stopped_data_address */
   NULL, /* collect_ptrace_register */


^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2020-04-02 13:18 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-04-02 13:18 [binutils-gdb] gdbserver/linux-low: turn 'insert_point' and 'remove_point' into methods Tankut Baris Aktemur

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).