bool supports_z_point_type (char z_type) override;
+ bool supports_hardware_single_step () override;
+
protected:
void low_arch_setup () override;
void low_new_fork (process_info *parent, process_info *child) override;
void low_prepare_to_resume (lwp_info *lwp) override;
+
+ bool low_supports_catch_syscall () override;
+
+ void low_get_syscall_trapinfo (regcache *regcache, int *sysno) override;
};
/* The singleton target ops object. */
/* Support for hardware single step. */
-static int
-arm_supports_hardware_single_step (void)
+bool
+arm_target::supports_hardware_single_step ()
+{
+ return false;
+}
+
+bool
+arm_target::low_supports_catch_syscall ()
{
- return 0;
+ return true;
}
-/* Implementation of linux_target_ops method "get_syscall_trapinfo". */
+/* Implementation of linux target ops method "low_get_syscall_trapinfo". */
-static void
-arm_get_syscall_trapinfo (struct regcache *regcache, int *sysno)
+void
+arm_target::low_get_syscall_trapinfo (regcache *regcache, int *sysno)
{
if (arm_is_thumb_mode ())
collect_register_by_name (regcache, "r7", sysno);
collect_register_by_name (regcache, "pc", &pc);
- if (the_target->read_memory (pc - 4, (unsigned char *) &insn, 4))
+ if (read_memory (pc - 4, (unsigned char *) &insn, 4))
*sysno = UNKNOWN_SYSCALL;
else
{
return ®s_info_arm;
}
-struct linux_target_ops the_low_target = {
- arm_supports_hardware_single_step,
- arm_get_syscall_trapinfo,
-};
-
/* The linux target ops object. */
linux_process_target *the_linux_target = &the_arm_target;