[30/31] gdbserver/linux-low: turn 'get_ipa_tdesc_idx' into a method
Commit Message
gdbserver/ChangeLog:
2020-03-06 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/linux-low.cc | 9 ---------
gdbserver/linux-low.h | 4 ----
gdbserver/linux-ppc-low.cc | 9 +++++----
gdbserver/linux-s390-low.cc | 9 +++++----
gdbserver/linux-x86-low.cc | 7 ++++---
5 files changed, 14 insertions(+), 24 deletions(-)
@@ -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)
{
@@ -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;
@@ -321,8 +319,6 @@ class linux_process_target : public process_stratum_target
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;
@@ -81,6 +81,8 @@ public:
struct emit_ops *emit_ops () override;
+ int get_ipa_tdesc_idx () override;
+
protected:
void low_arch_setup () override;
@@ -3394,10 +3396,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;
@@ -3448,7 +3450,6 @@ ppc_get_ipa_tdesc_idx (void)
}
struct linux_target_ops the_low_target = {
- ppc_get_ipa_tdesc_idx,
};
/* The linux target ops object. */
@@ -90,6 +90,8 @@ public:
struct emit_ops *emit_ops () override;
+ int get_ipa_tdesc_idx () override;
+
protected:
void low_arch_setup () override;
@@ -1439,10 +1441,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;
@@ -2849,7 +2851,6 @@ s390_target::emit_ops ()
}
struct linux_target_ops the_low_target = {
- s390_get_ipa_tdesc_idx,
};
/* The linux target ops object. */
@@ -126,6 +126,8 @@ public:
struct emit_ops *emit_ops () override;
+ int get_ipa_tdesc_idx () override;
+
protected:
void low_arch_setup () override;
@@ -2967,8 +2969,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;
@@ -2988,7 +2990,6 @@ x86_get_ipa_tdesc_idx (void)
struct linux_target_ops the_low_target =
{
- x86_get_ipa_tdesc_idx,
};
/* The linux target ops object. */