const regs_info *get_regs_info () override;
+ const gdb_byte *sw_breakpoint_from_kind (int kind, int *size) override;
+
protected:
void low_arch_setup () override;
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. */
static const gdb_byte xtensa_breakpoint[] = XTENSA_BREAKPOINT;
#define xtensa_breakpoint_len 2
-/* Implementation of linux_target_ops method "sw_breakpoint_from_kind". */
+/* Implementation of target ops method "sw_breakpoint_from_kind". */
-static const gdb_byte *
-xtensa_sw_breakpoint_from_kind (int kind, int *size)
+const gdb_byte *
+xtensa_target::sw_breakpoint_from_kind (int kind, int *size)
{
*size = xtensa_breakpoint_len;
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;
}
}
struct linux_target_ops the_low_target = {
- xtensa_sw_breakpoint_from_kind,
- NULL,
- 0,
- xtensa_breakpoint_at,
NULL, /* supports_z_point_type */
NULL, /* insert_point */
NULL, /* remove_point */