From 06250e4e67c0f40a00526afac642b4c345b56750 Mon Sep 17 00:00:00 2001 From: Tankut Baris Aktemur Date: Thu, 2 Apr 2020 15:11:25 +0200 Subject: [PATCH] gdbserver/linux-low: turn 'breakpoint_kind_from_{pc, current_state}' into methods gdbserver/ChangeLog: 2020-04-02 Tankut Baris Aktemur Remove the 'breakpoint_kind_from_pc' and 'breakpoint_kind_from_current_state' linux target ops, and let the concrete linux target define them by overriding the ops of process_stratum_target. * linux-low.cc (linux_process_target::breakpoint_kind_from_pc): Remove. (linux_process_target::breakpoint_kind_from_current_state): Remove. * linux-low.h (struct linux_target_ops): Remove ops. (class linux_process_target) : Remove. : Remove. * linux-x86-low.cc (the_low_target): Remove the op fields. * linux-bfin-low.cc (the_low_target): Ditto. * linux-cris-low.cc (the_low_target): Ditto. * linux-crisv32-low.cc (the_low_target): Ditto. * linux-m32r-low.cc (the_low_target): Ditto. * linux-m68k-low.cc (the_low_target): Ditto. * linux-mips-low.cc (the_low_target): Ditto. * linux-nios2-low.cc (the_low_target): Ditto. * linux-ppc-low.cc (the_low_target): Ditto. * linux-s390-low.cc (the_low_target): Ditto. * linux-sh-low.cc (the_low_target): Ditto. * linux-sparc-low.cc (the_low_target): Ditto. * linux-tic6x-low.cc (the_low_target): Ditto. * linux-tile-low.cc (the_low_target): Ditto. * linux-xtensa-low.cc (the_low_target): Ditto. * linux-aarch64-low.cc (class aarch64_target) : Declare. (aarch64_breakpoint_kind_from_pc): Turn into... (aarch64_target::breakpoint_kind_from_pc): ...this. (aarch64_breakpoint_kind_from_current_state): Turn into... (aarch64_target::breakpoint_kind_from_current_state): ...this. (the_low_target): Remove the op fields. * linux-arm-low.cc (class arm_target): : Declare. (arm_target::breakpoint_kind_from_pc): Define. (arm_target::breakpoint_kind_from_current_state): Define. (the_low_target): Remove the op fields. * linux-riscv-low.cc (class riscv_target): : Declare. (riscv_breakpoint_kind_from_pc): Turn into... (riscv_target::breakpoint_kind_from_pc): ...this. (the_low_target): Remove the op fields. --- gdbserver/ChangeLog | 48 ++++++++++++++++++++++++++++++++++ gdbserver/linux-aarch64-low.cc | 18 +++++++------ gdbserver/linux-arm-low.cc | 18 +++++++++++-- gdbserver/linux-bfin-low.cc | 2 -- gdbserver/linux-cris-low.cc | 1 - gdbserver/linux-crisv32-low.cc | 2 -- gdbserver/linux-low.cc | 23 ---------------- gdbserver/linux-low.h | 10 ------- gdbserver/linux-m32r-low.cc | 2 -- gdbserver/linux-m68k-low.cc | 2 -- gdbserver/linux-mips-low.cc | 1 - gdbserver/linux-nios2-low.cc | 1 - gdbserver/linux-ppc-low.cc | 2 -- gdbserver/linux-riscv-low.cc | 9 ++++--- gdbserver/linux-s390-low.cc | 2 -- gdbserver/linux-sh-low.cc | 2 -- gdbserver/linux-sparc-low.cc | 1 - gdbserver/linux-tic6x-low.cc | 2 -- gdbserver/linux-tile-low.cc | 2 -- gdbserver/linux-x86-low.cc | 2 -- gdbserver/linux-xtensa-low.cc | 2 -- 21 files changed, 79 insertions(+), 73 deletions(-) diff --git a/gdbserver/ChangeLog b/gdbserver/ChangeLog index 891eccd63b..d81641cc19 100644 --- a/gdbserver/ChangeLog +++ b/gdbserver/ChangeLog @@ -1,3 +1,51 @@ +2020-04-02 Tankut Baris Aktemur + + Remove the 'breakpoint_kind_from_pc' and + 'breakpoint_kind_from_current_state' linux target ops, and let the + concrete linux target define them by overriding the ops of + process_stratum_target. + + * linux-low.cc (linux_process_target::breakpoint_kind_from_pc): + Remove. + (linux_process_target::breakpoint_kind_from_current_state): Remove. + * linux-low.h (struct linux_target_ops): Remove ops. + (class linux_process_target) : Remove. + : Remove. + * linux-x86-low.cc (the_low_target): Remove the op fields. + * linux-bfin-low.cc (the_low_target): Ditto. + * linux-cris-low.cc (the_low_target): Ditto. + * linux-crisv32-low.cc (the_low_target): Ditto. + * linux-m32r-low.cc (the_low_target): Ditto. + * linux-m68k-low.cc (the_low_target): Ditto. + * linux-mips-low.cc (the_low_target): Ditto. + * linux-nios2-low.cc (the_low_target): Ditto. + * linux-ppc-low.cc (the_low_target): Ditto. + * linux-s390-low.cc (the_low_target): Ditto. + * linux-sh-low.cc (the_low_target): Ditto. + * linux-sparc-low.cc (the_low_target): Ditto. + * linux-tic6x-low.cc (the_low_target): Ditto. + * linux-tile-low.cc (the_low_target): Ditto. + * linux-xtensa-low.cc (the_low_target): Ditto. + * linux-aarch64-low.cc (class aarch64_target) + + : Declare. + (aarch64_breakpoint_kind_from_pc): Turn into... + (aarch64_target::breakpoint_kind_from_pc): ...this. + (aarch64_breakpoint_kind_from_current_state): Turn into... + (aarch64_target::breakpoint_kind_from_current_state): ...this. + (the_low_target): Remove the op fields. + * linux-arm-low.cc (class arm_target): + + : Declare. + (arm_target::breakpoint_kind_from_pc): Define. + (arm_target::breakpoint_kind_from_current_state): Define. + (the_low_target): Remove the op fields. + * linux-riscv-low.cc (class riscv_target): + : Declare. + (riscv_breakpoint_kind_from_pc): Turn into... + (riscv_target::breakpoint_kind_from_pc): ...this. + (the_low_target): Remove the op fields. + 2020-04-02 Tankut Baris Aktemur Turn the 'get_pc' and 'set_pc' linux target ops into methods diff --git a/gdbserver/linux-aarch64-low.cc b/gdbserver/linux-aarch64-low.cc index 6bed620320..c9c9b30b36 100644 --- a/gdbserver/linux-aarch64-low.cc +++ b/gdbserver/linux-aarch64-low.cc @@ -57,6 +57,10 @@ public: const regs_info *get_regs_info () override; + int breakpoint_kind_from_pc (CORE_ADDR *pcptr) override; + + int breakpoint_kind_from_current_state (CORE_ADDR *pcptr) override; + protected: void low_arch_setup () override; @@ -3064,10 +3068,10 @@ aarch64_sw_breakpoint_from_kind (int kind, int *size) return arm_sw_breakpoint_from_kind (kind, size); } -/* Implementation of linux_target_ops method "breakpoint_kind_from_pc". */ +/* Implementation of target ops method "breakpoint_kind_from_pc". */ -static int -aarch64_breakpoint_kind_from_pc (CORE_ADDR *pcptr) +int +aarch64_target::breakpoint_kind_from_pc (CORE_ADDR *pcptr) { if (is_64bit_tdesc ()) return aarch64_breakpoint_len; @@ -3075,11 +3079,11 @@ aarch64_breakpoint_kind_from_pc (CORE_ADDR *pcptr) return arm_breakpoint_kind_from_pc (pcptr); } -/* Implementation of the linux_target_ops method +/* Implementation of the target ops method "breakpoint_kind_from_current_state". */ -static int -aarch64_breakpoint_kind_from_current_state (CORE_ADDR *pcptr) +int +aarch64_target::breakpoint_kind_from_current_state (CORE_ADDR *pcptr) { if (is_64bit_tdesc ()) return aarch64_breakpoint_len; @@ -3097,7 +3101,6 @@ aarch64_supports_hardware_single_step (void) struct linux_target_ops the_low_target = { - aarch64_breakpoint_kind_from_pc, aarch64_sw_breakpoint_from_kind, NULL, /* get_next_pcs */ 0, /* decr_pc_after_break */ @@ -3123,7 +3126,6 @@ struct linux_target_ops the_low_target = aarch64_emit_ops, aarch64_get_min_fast_tracepoint_insn_len, aarch64_supports_range_stepping, - aarch64_breakpoint_kind_from_current_state, aarch64_supports_hardware_single_step, aarch64_get_syscall_trapinfo, }; diff --git a/gdbserver/linux-arm-low.cc b/gdbserver/linux-arm-low.cc index 7b9ef8999f..d02ead70fa 100644 --- a/gdbserver/linux-arm-low.cc +++ b/gdbserver/linux-arm-low.cc @@ -62,6 +62,10 @@ public: const regs_info *get_regs_info () override; + int breakpoint_kind_from_pc (CORE_ADDR *pcptr) override; + + int breakpoint_kind_from_current_state (CORE_ADDR *pcptr) override; + protected: void low_arch_setup () override; @@ -99,6 +103,18 @@ arm_target::low_set_pc (regcache *regcache, CORE_ADDR pc) linux_set_pc_32bit (regcache, pc); } +int +arm_target::breakpoint_kind_from_pc (CORE_ADDR *pcptr) +{ + return arm_breakpoint_kind_from_pc (pcptr); +} + +int +arm_target::breakpoint_kind_from_current_state (CORE_ADDR *pcptr) +{ + return arm_breakpoint_kind_from_current_state (pcptr); +} + /* Information describing the hardware breakpoint capabilities. */ static struct { @@ -1051,7 +1067,6 @@ arm_target::get_regs_info () } struct linux_target_ops the_low_target = { - arm_breakpoint_kind_from_pc, arm_sw_breakpoint_from_kind, arm_gdbserver_get_next_pcs, 0, @@ -1077,7 +1092,6 @@ struct linux_target_ops the_low_target = { NULL, /* emit_ops */ NULL, /* get_min_fast_tracepoint_insn_len */ NULL, /* supports_range_stepping */ - arm_breakpoint_kind_from_current_state, arm_supports_hardware_single_step, arm_get_syscall_trapinfo, }; diff --git a/gdbserver/linux-bfin-low.cc b/gdbserver/linux-bfin-low.cc index f734c12209..1a0938ef58 100644 --- a/gdbserver/linux-bfin-low.cc +++ b/gdbserver/linux-bfin-low.cc @@ -159,7 +159,6 @@ bfin_target::get_regs_info () } struct linux_target_ops the_low_target = { - NULL, /* breakpoint_kind_from_pc */ bfin_sw_breakpoint_from_kind, NULL, /* get_next_pcs */ 2, @@ -185,7 +184,6 @@ struct linux_target_ops the_low_target = { NULL, /* emit_ops */ NULL, /* get_min_fast_tracepoint_insn_len */ NULL, /* supports_range_stepping */ - NULL, /* breakpoint_kind_from_current_state */ bfin_supports_hardware_single_step, }; diff --git a/gdbserver/linux-cris-low.cc b/gdbserver/linux-cris-low.cc index 50c9b5bd85..882e4c61eb 100644 --- a/gdbserver/linux-cris-low.cc +++ b/gdbserver/linux-cris-low.cc @@ -156,7 +156,6 @@ cris_target::get_regs_info () } struct linux_target_ops the_low_target = { - NULL, /* breakpoint_kind_from_pc */ cris_sw_breakpoint_from_kind, NULL, /* get_next_pcs */ 0, diff --git a/gdbserver/linux-crisv32-low.cc b/gdbserver/linux-crisv32-low.cc index 1d650e3ded..270c206e80 100644 --- a/gdbserver/linux-crisv32-low.cc +++ b/gdbserver/linux-crisv32-low.cc @@ -453,7 +453,6 @@ crisv32_target::get_regs_info () } struct linux_target_ops the_low_target = { - NULL, /* breakpoint_kind_from_pc */ cris_sw_breakpoint_from_kind, NULL, /* get_next_pcs */ 0, @@ -479,7 +478,6 @@ struct linux_target_ops the_low_target = { NULL, /* emit_ops */ NULL, /* get_min_fast_tracepoint_insn_len */ NULL, /* supports_range_stepping */ - NULL, /* breakpoint_kind_from_current_state */ cris_supports_hardware_single_step, }; diff --git a/gdbserver/linux-low.cc b/gdbserver/linux-low.cc index 47b2ef9fd3..730f23bb6f 100644 --- a/gdbserver/linux-low.cc +++ b/gdbserver/linux-low.cc @@ -7230,17 +7230,6 @@ current_lwp_ptid (void) return ptid_of (current_thread); } -/* Implementation of the target_ops method "breakpoint_kind_from_pc". */ - -int -linux_process_target::breakpoint_kind_from_pc (CORE_ADDR *pcptr) -{ - if (the_low_target.breakpoint_kind_from_pc != NULL) - return (*the_low_target.breakpoint_kind_from_pc) (pcptr); - else - return process_stratum_target::breakpoint_kind_from_pc (pcptr); -} - /* Implementation of the target_ops method "sw_breakpoint_from_kind". */ const gdb_byte * @@ -7251,18 +7240,6 @@ linux_process_target::sw_breakpoint_from_kind (int kind, int *size) return (*the_low_target.sw_breakpoint_from_kind) (kind, size); } -/* Implementation of the target_ops method - "breakpoint_kind_from_current_state". */ - -int -linux_process_target::breakpoint_kind_from_current_state (CORE_ADDR *pcptr) -{ - if (the_low_target.breakpoint_kind_from_current_state != NULL) - return (*the_low_target.breakpoint_kind_from_current_state) (pcptr); - else - return breakpoint_kind_from_pc (pcptr); -} - const char * linux_process_target::thread_name (ptid_t thread) { diff --git a/gdbserver/linux-low.h b/gdbserver/linux-low.h index 4d2435cd59..60ec910057 100644 --- a/gdbserver/linux-low.h +++ b/gdbserver/linux-low.h @@ -131,9 +131,6 @@ struct lwp_info; struct linux_target_ops { - /* See target.h for details. */ - int (*breakpoint_kind_from_pc) (CORE_ADDR *pcptr); - /* See target.h for details. */ const gdb_byte *(*sw_breakpoint_from_kind) (int kind, int *size); @@ -227,9 +224,6 @@ struct linux_target_ops /* Returns true if the low target supports range stepping. */ int (*supports_range_stepping) (void); - /* See target.h. */ - int (*breakpoint_kind_from_current_state) (CORE_ADDR *pcptr); - /* See target.h. */ int (*supports_hardware_single_step) (void); @@ -442,12 +436,8 @@ public: ssize_t multifs_readlink (int pid, const char *filename, char *buf, size_t bufsiz) override; - int breakpoint_kind_from_pc (CORE_ADDR *pcptr) override; - const gdb_byte *sw_breakpoint_from_kind (int kind, int *size) override; - int breakpoint_kind_from_current_state (CORE_ADDR *pcptr) override; - const char *thread_name (ptid_t thread) override; #if USE_THREAD_DB diff --git a/gdbserver/linux-m32r-low.cc b/gdbserver/linux-m32r-low.cc index 090b75d811..c7bb811e64 100644 --- a/gdbserver/linux-m32r-low.cc +++ b/gdbserver/linux-m32r-low.cc @@ -158,7 +158,6 @@ m32r_target::get_regs_info () } struct linux_target_ops the_low_target = { - NULL, /* breakpoint_from_pc */ m32r_sw_breakpoint_from_kind, NULL, 0, @@ -184,7 +183,6 @@ struct linux_target_ops the_low_target = { NULL, /* emit_ops */ NULL, /* get_min_fast_tracepoint_insn_len */ NULL, /* supports_range_stepping */ - NULL, /* breakpoint_kind_from_current_state */ m32r_supports_hardware_single_step, }; diff --git a/gdbserver/linux-m68k-low.cc b/gdbserver/linux-m68k-low.cc index 07bbae6da6..6483c27698 100644 --- a/gdbserver/linux-m68k-low.cc +++ b/gdbserver/linux-m68k-low.cc @@ -253,7 +253,6 @@ m68k_supports_hardware_single_step (void) } struct linux_target_ops the_low_target = { - NULL, /* breakpoint_kind_from_pc */ m68k_sw_breakpoint_from_kind, NULL, 2, @@ -279,7 +278,6 @@ struct linux_target_ops the_low_target = { NULL, /* emit_ops */ NULL, /* get_min_fast_tracepoint_insn_len */ NULL, /* supports_range_stepping */ - NULL, /* breakpoint_kind_from_current_state */ m68k_supports_hardware_single_step, }; diff --git a/gdbserver/linux-mips-low.cc b/gdbserver/linux-mips-low.cc index 22cd3bd330..d36836669d 100644 --- a/gdbserver/linux-mips-low.cc +++ b/gdbserver/linux-mips-low.cc @@ -964,7 +964,6 @@ mips_target::get_regs_info () } struct linux_target_ops the_low_target = { - NULL, /* breakpoint_kind_from_pc */ mips_sw_breakpoint_from_kind, NULL, /* get_next_pcs */ 0, diff --git a/gdbserver/linux-nios2-low.cc b/gdbserver/linux-nios2-low.cc index c1372dd6d3..4f10df53d2 100644 --- a/gdbserver/linux-nios2-low.cc +++ b/gdbserver/linux-nios2-low.cc @@ -275,7 +275,6 @@ nios2_target::get_regs_info () struct linux_target_ops the_low_target = { - NULL, /* breakpoint_kind_from_pc */ nios2_sw_breakpoint_from_kind, NULL, /* get_next_pcs */ 0, diff --git a/gdbserver/linux-ppc-low.cc b/gdbserver/linux-ppc-low.cc index 4aa7f5159b..167c3b60f7 100644 --- a/gdbserver/linux-ppc-low.cc +++ b/gdbserver/linux-ppc-low.cc @@ -3404,7 +3404,6 @@ ppc_get_ipa_tdesc_idx (void) } struct linux_target_ops the_low_target = { - NULL, /* breakpoint_kind_from_pc */ ppc_sw_breakpoint_from_kind, NULL, 0, @@ -3430,7 +3429,6 @@ struct linux_target_ops the_low_target = { ppc_emit_ops, ppc_get_min_fast_tracepoint_insn_len, NULL, /* supports_range_stepping */ - NULL, /* breakpoint_kind_from_current_state */ ppc_supports_hardware_single_step, NULL, /* get_syscall_trapinfo */ ppc_get_ipa_tdesc_idx, diff --git a/gdbserver/linux-riscv-low.cc b/gdbserver/linux-riscv-low.cc index 4fb2308a45..87266395e9 100644 --- a/gdbserver/linux-riscv-low.cc +++ b/gdbserver/linux-riscv-low.cc @@ -38,6 +38,8 @@ public: const regs_info *get_regs_info () override; + int breakpoint_kind_from_pc (CORE_ADDR *pcptr) override; + protected: void low_arch_setup () override; @@ -245,10 +247,10 @@ riscv_target::low_set_pc (regcache *regcache, CORE_ADDR newpc) static const uint16_t riscv_ibreakpoint[] = { 0x0073, 0x0010 }; static const uint16_t riscv_cbreakpoint = 0x9002; -/* Implementation of linux_target_ops method "breakpoint_kind_from_pc". */ +/* Implementation of target ops method "breakpoint_kind_from_pc". */ -static int -riscv_breakpoint_kind_from_pc (CORE_ADDR *pcptr) +int +riscv_target::breakpoint_kind_from_pc (CORE_ADDR *pcptr) { union { @@ -305,7 +307,6 @@ riscv_breakpoint_at (CORE_ADDR pc) /* RISC-V/Linux target operations. */ struct linux_target_ops the_low_target = { - riscv_breakpoint_kind_from_pc, riscv_sw_breakpoint_from_kind, NULL, /* get_next_pcs */ 0, /* decr_pc_after_break */ diff --git a/gdbserver/linux-s390-low.cc b/gdbserver/linux-s390-low.cc index ef5e8227d5..44f3be6c98 100644 --- a/gdbserver/linux-s390-low.cc +++ b/gdbserver/linux-s390-low.cc @@ -2824,7 +2824,6 @@ s390_emit_ops (void) } struct linux_target_ops the_low_target = { - NULL, /* breakpoint_kind_from_pc */ s390_sw_breakpoint_from_kind, NULL, s390_breakpoint_len, @@ -2850,7 +2849,6 @@ struct linux_target_ops the_low_target = { s390_emit_ops, s390_get_min_fast_tracepoint_insn_len, NULL, /* supports_range_stepping */ - NULL, /* breakpoint_kind_from_current_state */ s390_supports_hardware_single_step, NULL, /* get_syscall_trapinfo */ s390_get_ipa_tdesc_idx, diff --git a/gdbserver/linux-sh-low.cc b/gdbserver/linux-sh-low.cc index 4e51425718..36c1933475 100644 --- a/gdbserver/linux-sh-low.cc +++ b/gdbserver/linux-sh-low.cc @@ -188,7 +188,6 @@ sh_target::low_arch_setup () } struct linux_target_ops the_low_target = { - NULL, /* breakpoint_kind_from_pc */ sh_sw_breakpoint_from_kind, NULL, 0, @@ -214,7 +213,6 @@ struct linux_target_ops the_low_target = { NULL, /* emit_ops */ NULL, /* get_min_fast_tracepoint_insn_len */ NULL, /* supports_range_stepping */ - NULL, /* breakpoint_kind_from_current_state */ sh_supports_hardware_single_step, }; diff --git a/gdbserver/linux-sparc-low.cc b/gdbserver/linux-sparc-low.cc index b415deeaa6..18a529adb7 100644 --- a/gdbserver/linux-sparc-low.cc +++ b/gdbserver/linux-sparc-low.cc @@ -337,7 +337,6 @@ sparc_target::get_regs_info () } struct linux_target_ops the_low_target = { - NULL, /* breakpoint_kind_from_pc */ sparc_sw_breakpoint_from_kind, NULL, /* get_next_pcs */ 0, diff --git a/gdbserver/linux-tic6x-low.cc b/gdbserver/linux-tic6x-low.cc index 790b4e44ba..1486829594 100644 --- a/gdbserver/linux-tic6x-low.cc +++ b/gdbserver/linux-tic6x-low.cc @@ -419,7 +419,6 @@ tic6x_target::get_regs_info () } struct linux_target_ops the_low_target = { - NULL, /* breakpoint_kind_from_pc */ tic6x_sw_breakpoint_from_kind, NULL, 0, @@ -445,7 +444,6 @@ struct linux_target_ops the_low_target = { NULL, /* emit_ops */ NULL, /* get_min_fast_tracepoint_insn_len */ NULL, /* supports_range_stepping */ - NULL, /* breakpoint_kind_from_current_state */ tic6x_supports_hardware_single_step, }; diff --git a/gdbserver/linux-tile-low.cc b/gdbserver/linux-tile-low.cc index 9756c6c3fb..d577b589b4 100644 --- a/gdbserver/linux-tile-low.cc +++ b/gdbserver/linux-tile-low.cc @@ -220,7 +220,6 @@ tile_supports_hardware_single_step (void) struct linux_target_ops the_low_target = { - NULL, /* breakpoint_kind_from_pc */ tile_sw_breakpoint_from_kind, NULL, 0, @@ -246,7 +245,6 @@ struct linux_target_ops the_low_target = NULL, /* emit_ops */ NULL, /* get_min_fast_tracepoint_insn_len */ NULL, /* supports_range_stepping */ - NULL, /* breakpoint_kind_from_current_state */ tile_supports_hardware_single_step, }; diff --git a/gdbserver/linux-x86-low.cc b/gdbserver/linux-x86-low.cc index 9aa29f8152..1da48db302 100644 --- a/gdbserver/linux-x86-low.cc +++ b/gdbserver/linux-x86-low.cc @@ -2897,7 +2897,6 @@ x86_get_ipa_tdesc_idx (void) struct linux_target_ops the_low_target = { - NULL, /* breakpoint_kind_from_pc */ x86_sw_breakpoint_from_kind, NULL, 1, @@ -2927,7 +2926,6 @@ struct linux_target_ops the_low_target = x86_emit_ops, x86_get_min_fast_tracepoint_insn_len, x86_supports_range_stepping, - NULL, /* breakpoint_kind_from_current_state */ x86_supports_hardware_single_step, x86_get_syscall_trapinfo, x86_get_ipa_tdesc_idx, diff --git a/gdbserver/linux-xtensa-low.cc b/gdbserver/linux-xtensa-low.cc index fb680bdb96..32643307cb 100644 --- a/gdbserver/linux-xtensa-low.cc +++ b/gdbserver/linux-xtensa-low.cc @@ -326,7 +326,6 @@ xtensa_target::get_regs_info () } struct linux_target_ops the_low_target = { - NULL, /* breakpoint_kind_from_pc */ xtensa_sw_breakpoint_from_kind, NULL, 0, @@ -352,7 +351,6 @@ struct linux_target_ops the_low_target = { NULL, /* emit_ops */ NULL, /* get_min_fast_tracepoint_insn_len */ NULL, /* supports_range_stepping */ - NULL, /* breakpoint_kind_from_current_state */ xtensa_supports_hardware_single_step, }; -- 2.34.1