X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=gdbserver%2Flinux-xtensa-low.cc;h=a666f52e155ec1b41d8e4359852f65a7d1ecf0fb;hb=5fd104addfddb68844fb8df67be832ee98ad9888;hp=606204b45e4f6fc1cc7d6a23ba847581436fe44e;hpb=d4807ea231eea599a474a9ad75a0552ef7217e1f;p=deliverable%2Fbinutils-gdb.git diff --git a/gdbserver/linux-xtensa-low.cc b/gdbserver/linux-xtensa-low.cc index 606204b45e..a666f52e15 100644 --- a/gdbserver/linux-xtensa-low.cc +++ b/gdbserver/linux-xtensa-low.cc @@ -43,6 +43,8 @@ protected: CORE_ADDR low_get_pc (regcache *regcache) override; void low_set_pc (regcache *regcache, CORE_ADDR newpc) override; + + bool low_breakpoint_at (CORE_ADDR pc) override; }; /* The singleton target ops object. */ @@ -263,13 +265,12 @@ xtensa_target::sw_breakpoint_from_kind (int kind, int *size) return xtensa_breakpoint; } -static int -xtensa_breakpoint_at (CORE_ADDR where) +bool +xtensa_target::low_breakpoint_at (CORE_ADDR where) { unsigned long insn; - the_target->read_memory (where, (unsigned char *) &insn, - xtensa_breakpoint_len); + read_memory (where, (unsigned char *) &insn, xtensa_breakpoint_len); return memcmp((char *) &insn, xtensa_breakpoint, xtensa_breakpoint_len) == 0; } @@ -313,46 +314,12 @@ xtensa_target::low_arch_setup () current_process ()->tdesc = tdesc_xtensa; } -/* Support for hardware single step. */ - -static int -xtensa_supports_hardware_single_step (void) -{ - return 1; -} - const regs_info * xtensa_target::get_regs_info () { return &myregs_info; } -struct linux_target_ops the_low_target = { - xtensa_breakpoint_at, - NULL, /* supports_z_point_type */ - NULL, /* insert_point */ - NULL, /* remove_point */ - NULL, /* stopped_by_watchpoint */ - NULL, /* stopped_data_address */ - NULL, /* collect_ptrace_register */ - NULL, /* supply_ptrace_register */ - NULL, /* siginfo_fixup */ - NULL, /* new_process */ - NULL, /* delete_process */ - NULL, /* new_thread */ - NULL, /* delete_thread */ - NULL, /* new_fork */ - NULL, /* prepare_to_resume */ - NULL, /* process_qsupported */ - NULL, /* supports_tracepoints */ - NULL, /* get_thread_area */ - NULL, /* install_fast_tracepoint_jump_pad */ - NULL, /* emit_ops */ - NULL, /* get_min_fast_tracepoint_insn_len */ - NULL, /* supports_range_stepping */ - xtensa_supports_hardware_single_step, -}; - /* The linux target ops object. */ linux_process_target *the_linux_target = &the_xtensa_target;