[PATCH v2 3/7] Implement breakpoint_from_kind for supported architectures in GDBServer.
Antoine Tremblay
antoine.tremblay@ericsson.com
Mon Oct 5 16:44:00 GMT 2015
This patch implements the breakpoint_from_kind linux_target_ops for
architectures that support software breakpoints, namely : x86 and aarch64.
No regressions, tested on Ubuntu 14.04 x86.
With gdbserver-{native,extended}.
Compilation was also tested on aarch64.
---
gdb/gdbserver/linux-aarch64-low.c | 9 +++++++++
gdb/gdbserver/linux-x86-low.c | 9 +++++++++
2 files changed, 18 insertions(+)
diff --git a/gdb/gdbserver/linux-aarch64-low.c b/gdb/gdbserver/linux-aarch64-low.c
index 1e7a0ff..46b79a5 100644
--- a/gdb/gdbserver/linux-aarch64-low.c
+++ b/gdb/gdbserver/linux-aarch64-low.c
@@ -3238,6 +3238,14 @@ aarch64_supports_range_stepping (void)
return 1;
}
+/* Implementation of linux_target_ops method "breakpoint_from_kind". */
+
+static const unsigned char *
+aarch64_breakpoint_from_kind (int *kind)
+{
+ return (const unsigned char *) &aarch64_breakpoint;
+}
+
struct linux_target_ops the_low_target =
{
aarch64_arch_setup,
@@ -3270,6 +3278,7 @@ struct linux_target_ops the_low_target =
aarch64_emit_ops,
aarch64_get_min_fast_tracepoint_insn_len,
aarch64_supports_range_stepping,
+ aarch64_breakpoint_from_kind,
};
void
diff --git a/gdb/gdbserver/linux-x86-low.c b/gdb/gdbserver/linux-x86-low.c
index 41803c4..e64b498 100644
--- a/gdb/gdbserver/linux-x86-low.c
+++ b/gdb/gdbserver/linux-x86-low.c
@@ -3258,6 +3258,14 @@ x86_supports_range_stepping (void)
return 1;
}
+/* Implementation of linux_target_ops method "breakpoint_from_kind". */
+
+static const unsigned char *
+x86_breakpoint_from_kind (int *kind)
+{
+ return x86_breakpoint;
+}
+
/* This is initialized assuming an amd64 target.
x86_arch_setup will correct it for i386 or amd64 targets. */
@@ -3297,6 +3305,7 @@ struct linux_target_ops the_low_target =
x86_emit_ops,
x86_get_min_fast_tracepoint_insn_len,
x86_supports_range_stepping,
+ x86_breakpoint_from_kind,
};
void
--
1.9.1
More information about the Gdb-patches
mailing list