diff options
author | Tankut Baris Aktemur <tankut.baris.aktemur@intel.com> | 2020-04-02 15:11:23 +0200 |
---|---|---|
committer | Tankut Baris Aktemur <tankut.baris.aktemur@intel.com> | 2020-04-02 15:11:23 +0200 |
commit | aa8d21c9bb43baaa35f456a3d371942a26cdce4e (patch) | |
tree | 5314e7b7f95e5c9a7ed2947dbfcccabfbf0fbba9 /gdbserver/linux-s390-low.cc | |
parent | 797bcff595c5e161b333077299fcaca19bb4fd17 (diff) | |
download | fsf-binutils-gdb-aa8d21c9bb43baaa35f456a3d371942a26cdce4e.zip fsf-binutils-gdb-aa8d21c9bb43baaa35f456a3d371942a26cdce4e.tar.gz fsf-binutils-gdb-aa8d21c9bb43baaa35f456a3d371942a26cdce4e.tar.bz2 |
gdbserver/linux-low: turn 'regs_info' into a method
gdbserver/ChangeLog:
2020-04-02 Tankut Baris Aktemur <tankut.baris.aktemur@intel.com>
Turn the 'regs_info' linux target op into a method of
linux_process_target.
* linux-low.h (struct linux_target_ops) <regs_info>: Remove.
(class linux_process_target) <get_regs_info>: Define.
Update the callers below.
* linux-low.cc (linux_process_target::fetch_registers)
(linux_process_target::store_registers)
* proc-service.cc (gregset_info)
* linux-x86-low.cc (class x86_target) <get_regs_info>: Declare.
(x86_linux_regs_info): Turn into ...
(x86_target::get_regs_info): ...this.
(the_low_target): Remove the op field.
* linux-aarch64-low.cc (class aarch64_target) <get_regs_info>:
Declare.
(aarch64_regs_info): Turn into ...
(aarch64_target::get_regs_info): ...this.
(the_low_target): Remove the op field.
* linux-arm-low.cc (class arm_target) <get_regs_info>: Declare.
(arm_regs_info): Turn into ...
(arm_target::get_regs_info): ...this.
(the_low_target): Remove the op field.
* linux-bfin-low.cc (class bfin_target) <get_regs_info>: Declare.
(bfin_regs_info): Turn into ...
(bfin_target::get_regs_info): ...this.
(the_low_target): Remove the op field.
* linux-cris-low.cc (class cris_target) <get_regs_info>: Declare.
(cris_regs_info): Turn into ...
(cris_target::get_regs_info): ...this.
(the_low_target): Remove the op field.
* linux-crisv32-low.cc (class crisv32_target) <get_regs_info>:
Declare.
(crisv32_regs_info): Turn into ...
(crisv32_target::get_regs_info): ...this.
(the_low_target): Remove the op field.
* linux-ia64-low.cc (class ia64_target) <get_regs_info>: Declare.
(ia64_regs_info): Turn into ...
(ia64_target::get_regs_info): ...this.
(the_low_target): Remove the op field.
* linux-m32r-low.cc (class m32r_target) <get_regs_info>: Declare.
(m32r_regs_info): Turn into ...
(m32r_target::get_regs_info): ...this.
(the_low_target): Remove the op field.
* linux-m68k-low.cc (class m68k_target) <get_regs_info>: Declare.
(m68k_regs_info): Turn into ...
(m68k_target::get_regs_info): ...this.
(the_low_target): Remove the op field.
* linux-mips-low.cc (class mips_target) <get_regs_info>: Declare.
(mips_regs_info): Turn into ...
(mips_target::get_regs_info): ...this.
(the_low_target): Remove the op field.
(get_usrregs_info): Update the call to the op.
* linux-nios2-low.cc (class nios2_target) <get_regs_info>: Declare.
(nios2_regs_info): Turn into ...
(nios2_target::get_regs_info): ...this.
(the_low_target): Remove the op field.
* linux-ppc-low.cc (class ppc_target) <get_regs_info>: Declare.
(ppc_regs_info): Turn into ...
(ppc_target::get_regs_info): ...this.
(the_low_target): Remove the op field.
* linux-riscv-low.cc (class riscv_target) <get_regs_info>: Declare.
(riscv_regs_info): Turn into ...
(riscv_target::get_regs_info): ...this.
(the_low_target): Remove the op field.
* linux-s390-low.cc (class s390_target) <get_regs_info>: Declare.
(s390_regs_info): Turn into ...
(s390_target::get_regs_info): ...this.
(the_low_target): Remove the op field.
(s390_collect_ptrace_register)
(s390_supply_ptrace_register)
(s390_fill_gregset): Update the call to the op.
* linux-sh-low.cc (class sh_target) <get_regs_info>: Declare.
(sh_regs_info): Turn into ...
(sh_target::get_regs_info): ...this.
(the_low_target): Remove the op field.
* linux-sparc-low.cc (class sparc_target) <get_regs_info>: Declare.
(sparc_regs_info): Turn into ...
(sparc_target::get_regs_info): ...this.
(the_low_target): Remove the op field.
* linux-tic6x-low.cc (class tic6x_target) <get_regs_info>: Declare.
(tic6x_regs_info): Turn into ...
(tic6x_target::get_regs_info): ...this.
(the_low_target): Remove the op field.
* linux-tile-low.cc (class tile_target) <get_regs_info>: Declare.
(tile_regs_info): Turn into ...
(tile_target::get_regs_info): ...this.
(the_low_target): Remove the op field.
* linux-xtensa-low.cc (class xtensa_target) <get_regs_info>:
Declare.
(xtensa_regs_info): Turn into ...
(xtensa_target::get_regs_info): ...this.
(the_low_target): Remove the op field.
Diffstat (limited to 'gdbserver/linux-s390-low.cc')
-rw-r--r-- | gdbserver/linux-s390-low.cc | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/gdbserver/linux-s390-low.cc b/gdbserver/linux-s390-low.cc index 012e2fb..464f60d 100644 --- a/gdbserver/linux-s390-low.cc +++ b/gdbserver/linux-s390-low.cc @@ -57,6 +57,8 @@ class s390_target : public linux_process_target { public: + const regs_info *get_regs_info () override; + protected: void low_arch_setup () override; @@ -171,7 +173,7 @@ static void s390_collect_ptrace_register (struct regcache *regcache, int regno, char *buf) { int size = register_size (regcache->tdesc, regno); - const struct regs_info *regs_info = (*the_low_target.regs_info) (); + const struct regs_info *regs_info = the_linux_target->get_regs_info (); struct usrregs_info *usr = regs_info->usrregs; int regaddr = usr->regmap[regno]; @@ -218,7 +220,7 @@ s390_supply_ptrace_register (struct regcache *regcache, int regno, const char *buf) { int size = register_size (regcache->tdesc, regno); - const struct regs_info *regs_info = (*the_low_target.regs_info) (); + const struct regs_info *regs_info = the_linux_target->get_regs_info (); struct usrregs_info *usr = regs_info->usrregs; int regaddr = usr->regmap[regno]; @@ -276,7 +278,7 @@ static void s390_fill_gregset (struct regcache *regcache, void *buf) { int i; - const struct regs_info *regs_info = (*the_low_target.regs_info) (); + const struct regs_info *regs_info = the_linux_target->get_regs_info (); struct usrregs_info *usr = regs_info->usrregs; for (i = 0; i < usr->num_regs; i++) @@ -687,7 +689,7 @@ static struct regsets_info s390_regsets_info = NULL, /* disabled_regsets */ }; -static struct regs_info regs_info = +static struct regs_info myregs_info = { NULL, /* regset_bitmap */ &s390_usrregs_info, @@ -714,8 +716,8 @@ static struct regs_info regs_info_3264 = &s390_regsets_info_3264 }; -static const struct regs_info * -s390_regs_info (void) +const regs_info * +s390_target::get_regs_info () { if (have_hwcap_s390_high_gprs) { @@ -728,7 +730,7 @@ s390_regs_info (void) return ®s_info_3264; #endif } - return ®s_info; + return &myregs_info; } /* The "supports_tracepoints" linux_target_ops method. */ @@ -2806,7 +2808,6 @@ s390_emit_ops (void) } struct linux_target_ops the_low_target = { - s390_regs_info, s390_cannot_fetch_register, s390_cannot_store_register, NULL, /* fetch_register */ |