summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTankut Baris Aktemur <tankut.baris.aktemur@intel.com>2020-04-02 15:11:32 +0200
committerTankut Baris Aktemur <tankut.baris.aktemur@intel.com>2020-04-02 15:11:32 +0200
commitfc5ecdb630406b68ce98c112e1fe618b5839c188 (patch)
tree0c49efc72a257dd5a81b54ae0190386ab54bdda7
parent9eedd27d42ceeb6f3765c24972a5c97ce20727cd (diff)
downloadbinutils-gdb-fc5ecdb630406b68ce98c112e1fe618b5839c188.tar.gz
gdbserver/linux-low: turn 'get_ipa_tdesc_idx' into a method
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.
-rw-r--r--gdbserver/ChangeLog22
-rw-r--r--gdbserver/linux-low.cc9
-rw-r--r--gdbserver/linux-low.h4
-rw-r--r--gdbserver/linux-ppc-low.cc9
-rw-r--r--gdbserver/linux-s390-low.cc9
-rw-r--r--gdbserver/linux-x86-low.cc7
6 files changed, 36 insertions, 24 deletions
diff --git a/gdbserver/ChangeLog b/gdbserver/ChangeLog
index 4649ec2fb10..e51d3e09b5f 100644
--- a/gdbserver/ChangeLog
+++ b/gdbserver/ChangeLog
@@ -1,5 +1,27 @@
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
of process_stratum_target.
diff --git a/gdbserver/linux-low.cc b/gdbserver/linux-low.cc
index cd04160978d..3cd8d5594dc 100644
--- a/gdbserver/linux-low.cc
+++ b/gdbserver/linux-low.cc
@@ -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)
{
diff --git a/gdbserver/linux-low.h b/gdbserver/linux-low.h
index 1f1c3820edb..8ad56c33970 100644
--- a/gdbserver/linux-low.h
+++ b/gdbserver/linux-low.h
@@ -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;
diff --git a/gdbserver/linux-ppc-low.cc b/gdbserver/linux-ppc-low.cc
index 71ad842243c..127de5b5fa3 100644
--- a/gdbserver/linux-ppc-low.cc
+++ b/gdbserver/linux-ppc-low.cc
@@ -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. */
diff --git a/gdbserver/linux-s390-low.cc b/gdbserver/linux-s390-low.cc
index d09860f36db..1c94be04f4b 100644
--- a/gdbserver/linux-s390-low.cc
+++ b/gdbserver/linux-s390-low.cc
@@ -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. */
diff --git a/gdbserver/linux-x86-low.cc b/gdbserver/linux-x86-low.cc
index 2837994653d..67690914f8c 100644
--- a/gdbserver/linux-x86-low.cc
+++ b/gdbserver/linux-x86-low.cc
@@ -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. */