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;
bool low_cannot_fetch_register (int regno) override;
bool low_cannot_store_register (int regno) override;
+
+ bool low_fetch_register (regcache *regcache, int regno) override;
+
+ bool low_breakpoint_at (CORE_ADDR pc) override;
};
/* The singleton target ops object. */
static ia64_target the_ia64_target;
+const gdb_byte *
+ia64_target::sw_breakpoint_from_kind (int kind, int *size)
+{
+ gdb_assert_no_reached ("target op sw_breakpoint_from_kind is not "
+ "implemented by this target");
+}
+
+bool
+ia64_target::low_breakpoint_at (CORE_ADDR pc)
+{
+ gdb_assert_no_reached ("linux target op low_breakpoint_at is not "
+ "implemented by this target");
+}
+
/* Defined in auto-generated file reg-ia64.c. */
void init_registers_ia64 (void);
extern const struct target_desc *tdesc_ia64;
#define IA64_FR0_REGNUM 128
#define IA64_FR1_REGNUM 129
-static int
-ia64_fetch_register (struct regcache *regcache, int regnum)
+bool
+ia64_target::low_fetch_register (regcache *regcache, int regnum)
{
/* r0 cannot be fetched but is always zero. */
if (regnum == IA64_GR0_REGNUM)
gdb_assert (sizeof (zero) == register_size (regcache->tdesc, regnum));
supply_register (regcache, regnum, zero);
- return 1;
+ return true;
}
/* fr0 cannot be fetched but is always zero. */
gdb_assert (sizeof (f_zero) == register_size (regcache->tdesc, regnum));
supply_register (regcache, regnum, f_zero);
- return 1;
+ return true;
}
/* fr1 cannot be fetched but is always one (1.0). */
gdb_assert (sizeof (f_one) == register_size (regcache->tdesc, regnum));
supply_register (regcache, regnum, f_one);
- return 1;
+ return true;
}
- return 0;
+ return false;
}
static struct usrregs_info ia64_usrregs_info =
current_process ()->tdesc = tdesc_ia64;
}
-
-struct linux_target_ops the_low_target = {
- ia64_fetch_register,
-};
-
/* The linux target ops object. */
linux_process_target *the_linux_target = &the_ia64_target;