From patchwork Fri Mar 6 21:31:18 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tankut Baris Aktemur X-Patchwork-Id: 38501 Received: (qmail 53116 invoked by alias); 6 Mar 2020 21:32:43 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Delivered-To: mailing list gdb-patches@sourceware.org Received: (qmail 52356 invoked by uid 89); 6 Mar 2020 21:32:36 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-25.6 required=5.0 tests=AWL, BAYES_00, GIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3 autolearn=ham version=3.3.1 spammy=2136 X-HELO: mga03.intel.com Received: from mga03.intel.com (HELO mga03.intel.com) (134.134.136.65) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Fri, 06 Mar 2020 21:32:23 +0000 Received: from fmsmga005.fm.intel.com ([10.253.24.32]) by orsmga103.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 06 Mar 2020 13:32:19 -0800 Received: from irvmail001.ir.intel.com ([163.33.26.43]) by fmsmga005.fm.intel.com with ESMTP; 06 Mar 2020 13:32:18 -0800 Received: from ulvlx001.iul.intel.com (ulvlx001.iul.intel.com [172.28.207.17]) by irvmail001.ir.intel.com (8.14.3/8.13.6/MailSET/Hub) with ESMTP id 026LWHkd022452; Fri, 6 Mar 2020 21:32:17 GMT Received: from ulvlx001.iul.intel.com (localhost [127.0.0.1]) by ulvlx001.iul.intel.com with ESMTP id 026LWHNK020411; Fri, 6 Mar 2020 22:32:17 +0100 Received: (from taktemur@localhost) by ulvlx001.iul.intel.com with LOCAL id 026LWHPG020407; Fri, 6 Mar 2020 22:32:17 +0100 From: Tankut Baris Aktemur To: gdb-patches@sourceware.org Subject: [PATCH 10/31] gdbserver/linux-low: turn 'breakpoint_kind_from_{pc, current_state}' into methods Date: Fri, 6 Mar 2020 22:31:18 +0100 Message-Id: <2f5f8156b5f3ceeff985dbd1af983e1212f9027e.1583529166.git.tankut.baris.aktemur@intel.com> In-Reply-To: References: In-Reply-To: References: X-IsSubscribed: yes gdbserver/ChangeLog: 2020-03-06 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/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 | 11 ++++++----- 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 -- 20 files changed, 32 insertions(+), 74 deletions(-) diff --git a/gdbserver/linux-aarch64-low.cc b/gdbserver/linux-aarch64-low.cc index 6bed620320d..c9c9b30b36f 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 7b9ef8999f6..d02ead70fa9 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 f734c122090..1a0938ef584 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 50c9b5bd858..882e4c61eb0 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 1d650e3ded9..270c206e806 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 47b2ef9fd31..730f23bb6f0 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 4d2435cd59d..60ec910057f 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 @@ class linux_process_target : public process_stratum_target 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 090b75d8112..c7bb811e64c 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 07bbae6da61..6483c27698e 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 22cd3bd3300..d36836669db 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 c1372dd6d3c..4f10df53d20 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 4aa7f5159b5..167c3b60f76 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 4fb2308a452..87abb7cb52d 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 { @@ -257,7 +259,7 @@ riscv_breakpoint_kind_from_pc (CORE_ADDR *pcptr) } buf; - if (target_read_memory (*pcptr, buf.bytes, sizeof (buf.insn)) == 0 + if (read_memory (*pcptr, buf.bytes, sizeof (buf.insn)) == 0 && riscv_insn_length (buf.insn == sizeof (riscv_ibreakpoint))) return sizeof (riscv_ibreakpoint); else @@ -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 ef5e8227d50..44f3be6c98e 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 4e514257185..36c19334758 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 b415deeaa6a..18a529adb70 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 790b4e44baf..1486829594d 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 9756c6c3fb9..d577b589b4a 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 9aa29f81522..1da48db3027 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 fb680bdb965..32643307cb7 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, };