gdbserver/linux-low: turn 'get_ipa_tdesc_idx' into a method
authorTankut Baris Aktemur <tankut.baris.aktemur@intel.com>
Thu, 2 Apr 2020 13:11:32 +0000 (15:11 +0200)
committerTankut Baris Aktemur <tankut.baris.aktemur@intel.com>
Thu, 2 Apr 2020 13:11:32 +0000 (15:11 +0200)
gdbserver/ChangeLog:
2020-04-02  Tankut Baris Aktemur  <tankut.baris.aktemur@intel.com>

Remove the 'get_ipa_tdesc_idx' linux target op and let a concrete
linux target define the op by overriding the declaration in
process_stratum_target.

* linux-low.h (struct linux_target_ops): Remove the op.
(class linux_process_target) <get_ipa_tdesc_idx>: Remove.
* linux-low.cc (linux_process_target::get_ipa_tdesc_idx): Remove.
* linux-x86-low.cc (class x86_target) <get_ipa_tdesc_idx>: Declare.
(x86_get_ipa_tdesc_idx): Turn into...
(x86_target::get_ipa_tdesc_idx): ...this.
(the_low_target): Remove the op field.
* linux-ppc-low.cc (class ppc_target) <get_ipa_tdesc_idx>: Declare.
(ppc_get_ipa_tdesc_idx): Turn into...
(ppc_target::get_ipa_tdesc_idx): ...this.
(the_low_target): Remove the op field.
* linux-s390-low.cc (class s390_target) <get_ipa_tdesc_idx>: Declare.
(s390_get_ipa_tdesc_idx): Turn into...
(s390_target::get_ipa_tdesc_idx): ...this.
(the_low_target): Remove the op field.

gdbserver/ChangeLog
gdbserver/linux-low.cc
gdbserver/linux-low.h
gdbserver/linux-ppc-low.cc
gdbserver/linux-s390-low.cc
gdbserver/linux-x86-low.cc

index 4649ec2fb10da5afd480a9771f5ec7c8177f3351..e51d3e09b5f8b1b08f340287169271ae165ac980 100644 (file)
@@ -1,3 +1,25 @@
+2020-04-02  Tankut Baris Aktemur  <tankut.baris.aktemur@intel.com>
+
+       Remove the 'get_ipa_tdesc_idx' linux target op and let a concrete
+       linux target define the op by overriding the declaration in
+       process_stratum_target.
+
+       * linux-low.h (struct linux_target_ops): Remove the op.
+       (class linux_process_target) <get_ipa_tdesc_idx>: Remove.
+       * linux-low.cc (linux_process_target::get_ipa_tdesc_idx): Remove.
+       * linux-x86-low.cc (class x86_target) <get_ipa_tdesc_idx>: Declare.
+       (x86_get_ipa_tdesc_idx): Turn into...
+       (x86_target::get_ipa_tdesc_idx): ...this.
+       (the_low_target): Remove the op field.
+       * linux-ppc-low.cc (class ppc_target) <get_ipa_tdesc_idx>: Declare.
+       (ppc_get_ipa_tdesc_idx): Turn into...
+       (ppc_target::get_ipa_tdesc_idx): ...this.
+       (the_low_target): Remove the op field.
+       * linux-s390-low.cc (class s390_target) <get_ipa_tdesc_idx>: Declare.
+       (s390_get_ipa_tdesc_idx): Turn into...
+       (s390_target::get_ipa_tdesc_idx): ...this.
+       (the_low_target): Remove the op field.
+
 2020-04-02  Tankut Baris Aktemur  <tankut.baris.aktemur@intel.com>
 
        Turn the 'get_syscall_trapinfo' linux target op into a method
index cd04160978de1f9e59b96897b85253c0c12705e5..3cd8d5594dc98ccaa55d39fec960ad3e8d9e81d9 100644 (file)
@@ -6407,15 +6407,6 @@ linux_process_target::low_supports_catch_syscall ()
   return false;
 }
 
-int
-linux_process_target::get_ipa_tdesc_idx ()
-{
-  if (the_low_target.get_ipa_tdesc_idx == NULL)
-    return 0;
-
-  return (*the_low_target.get_ipa_tdesc_idx) ();
-}
-
 CORE_ADDR
 linux_process_target::read_pc (regcache *regcache)
 {
index 1f1c3820edbd71f90e2cc129e6916df40e3879de..8ad56c3397062b397b03719cc1b7330b4323e7cb 100644 (file)
@@ -131,8 +131,6 @@ struct lwp_info;
 
 struct linux_target_ops
 {
-  /* See target.h.  */
-  int (*get_ipa_tdesc_idx) (void);
 };
 
 extern struct linux_target_ops the_low_target;
@@ -319,8 +317,6 @@ public:
 
   bool supports_catch_syscall () override;
 
-  int get_ipa_tdesc_idx () override;
-
   /* Return the information to access registers.  This has public
      visibility because proc-service uses it.  */
   virtual const regs_info *get_regs_info () = 0;
index 71ad842243cc698c33db9731925bcb15d3a8991c..127de5b5fa3b586b9994e641c8634334b39df4d9 100644 (file)
@@ -79,6 +79,8 @@ public:
 
   struct emit_ops *emit_ops () override;
 
+  int get_ipa_tdesc_idx () override;
+
 protected:
 
   void low_arch_setup () override;
@@ -3392,10 +3394,10 @@ ppc_target::emit_ops ()
   return &ppc_emit_ops_impl;
 }
 
-/* Implementation of linux_target_ops method "get_ipa_tdesc_idx".  */
+/* Implementation of target ops method "get_ipa_tdesc_idx".  */
 
-static int
-ppc_get_ipa_tdesc_idx (void)
+int
+ppc_target::get_ipa_tdesc_idx ()
 {
   struct regcache *regcache = get_thread_regcache (current_thread, 0);
   const struct target_desc *tdesc = regcache->tdesc;
@@ -3446,7 +3448,6 @@ ppc_get_ipa_tdesc_idx (void)
 }
 
 struct linux_target_ops the_low_target = {
-  ppc_get_ipa_tdesc_idx,
 };
 
 /* The linux target ops object.  */
index d09860f36db7aaad0ccf28f503d962b87614d1b7..1c94be04f4b0ad36984471f4d3fc6c12a46c0b07 100644 (file)
@@ -85,6 +85,8 @@ public:
 
   struct emit_ops *emit_ops () override;
 
+  int get_ipa_tdesc_idx () override;
+
 protected:
 
   void low_arch_setup () override;
@@ -1445,10 +1447,10 @@ s390_target::get_min_fast_tracepoint_insn_len ()
   return 6;
 }
 
-/* Implementation of linux_target_ops method "get_ipa_tdesc_idx".  */
+/* Implementation of target ops method "get_ipa_tdesc_idx".  */
 
-static int
-s390_get_ipa_tdesc_idx (void)
+int
+s390_target::get_ipa_tdesc_idx ()
 {
   struct regcache *regcache = get_thread_regcache (current_thread, 0);
   const struct target_desc *tdesc = regcache->tdesc;
@@ -2855,7 +2857,6 @@ s390_target::emit_ops ()
 }
 
 struct linux_target_ops the_low_target = {
-  s390_get_ipa_tdesc_idx,
 };
 
 /* The linux target ops object.  */
index 2837994653de7de51e6007a0057ecd4a002d4b30..67690914f8ccd5ec625a4d8d6f9e8d39b056546b 100644 (file)
@@ -124,6 +124,8 @@ public:
 
   struct emit_ops *emit_ops () override;
 
+  int get_ipa_tdesc_idx () override;
+
 protected:
 
   void low_arch_setup () override;
@@ -2974,8 +2976,8 @@ x86_target::low_supports_range_stepping ()
   return true;
 }
 
-static int
-x86_get_ipa_tdesc_idx (void)
+int
+x86_target::get_ipa_tdesc_idx ()
 {
   struct regcache *regcache = get_thread_regcache (current_thread, 0);
   const struct target_desc *tdesc = regcache->tdesc;
@@ -2995,7 +2997,6 @@ x86_get_ipa_tdesc_idx (void)
 
 struct linux_target_ops the_low_target =
 {
-  x86_get_ipa_tdesc_idx,
 };
 
 /* The linux target ops object.  */