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.
This commit is contained in:
Tankut Baris Aktemur 2020-04-02 15:11:32 +02:00
parent 9eedd27d42
commit fc5ecdb630
6 changed files with 36 additions and 24 deletions

View 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

View 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)
{

View 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;

View 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. */

View 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. */

View 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. */