+2015-06-29 Pierre Langlois <pierre.langlois@arm.com>
+
+ * linux-aarch64-low.c: Remove comment about endianness.
+ (aarch64_breakpoint): Change type to gdb_byte[]. Set to "brk #0".
+ (aarch64_breakpoint_at): Change type of insn to gdb_byte[]. Use
+ memcmp.
+
2015-06-24 Gary Benson <gbenson@redhat.com>
* linux-i386-ipa.c (stdint.h): Do not include.
supply_register_by_name (regcache, "pc", &newpc);
}
-/* Correct in either endianness. */
-
#define aarch64_breakpoint_len 4
-static const unsigned long aarch64_breakpoint = 0x00800011;
+/* AArch64 BRK software debug mode instruction.
+ This instruction needs to match gdb/aarch64-tdep.c
+ (aarch64_default_breakpoint). */
+static const gdb_byte aarch64_breakpoint[] = {0x00, 0x00, 0x20, 0xd4};
static int
aarch64_breakpoint_at (CORE_ADDR where)
{
- unsigned long insn;
+ gdb_byte insn[aarch64_breakpoint_len];
- (*the_target->read_memory) (where, (unsigned char *) &insn, 4);
- if (insn == aarch64_breakpoint)
+ (*the_target->read_memory) (where, (unsigned char *) &insn,
+ aarch64_breakpoint_len);
+ if (memcmp (insn, aarch64_breakpoint, aarch64_breakpoint_len) == 0)
return 1;
return 0;