X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=gdbserver%2Flinux-tile-low.cc;h=fa24b0899c028d7af74fd71fcbc0cd9a41d15a6a;hb=7ab967941150b2f79fc089893bf51e6bb53d245b;hp=86191b9bb1ced59a0600b3ce7c996eb755391654;hpb=7582c77c1d2cab3f53b70697529c1644ceeb94a2;p=deliverable%2Fbinutils-gdb.git diff --git a/gdbserver/linux-tile-low.cc b/gdbserver/linux-tile-low.cc index 86191b9bb1..fa24b0899c 100644 --- a/gdbserver/linux-tile-low.cc +++ b/gdbserver/linux-tile-low.cc @@ -46,6 +46,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. */ @@ -127,18 +129,18 @@ tile_target::sw_breakpoint_from_kind (int kind, int *size) return (const gdb_byte *) &tile_breakpoint; } -static int -tile_breakpoint_at (CORE_ADDR where) +bool +tile_target::low_breakpoint_at (CORE_ADDR where) { uint64_t insn; - the_target->read_memory (where, (unsigned char *) &insn, 8); + read_memory (where, (unsigned char *) &insn, 8); if (insn == tile_breakpoint) - return 1; + return true; /* If necessary, recognize more trap instructions here. GDB only uses the one. */ - return 0; + return false; } static void @@ -211,43 +213,6 @@ tile_target::low_arch_setup () current_process ()->tdesc = tdesc_tilegx; } -/* Support for hardware single step. */ - -static int -tile_supports_hardware_single_step (void) -{ - return 1; -} - - -struct linux_target_ops the_low_target = -{ - 0, - tile_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 */ - tile_supports_hardware_single_step, -}; - /* The linux target ops object. */ linux_process_target *the_linux_target = &the_tile_target;