Understand arm breakpoints in aarch64_breakpoint_at
AArch64 GDBserver can debug ARM program, and it should recognize
various arm breakpoint instructions. This patch should be included
in 17b1509a
.
gdb/gdbserver:
2015-12-11 Yao Qi <yao.qi@linaro.org>
* linux-aarch64-low.c (aarch64_breakpoint_at): Call
arm_breakpoint_at if the process is 32-bit.
This commit is contained in:
parent
b37a6290be
commit
db91f50261
|
@ -1,3 +1,8 @@
|
|||
2015-12-11 Yao Qi <yao.qi@linaro.org>
|
||||
|
||||
* linux-aarch64-low.c (aarch64_breakpoint_at): Call
|
||||
arm_breakpoint_at if the process is 32-bit.
|
||||
|
||||
2015-12-11 Yao Qi <yao.qi@linaro.org>
|
||||
|
||||
* linux-aarch32-low.c [__aarch64__]: Use arm_abi_breakpoint
|
||||
|
|
|
@ -211,14 +211,19 @@ static const gdb_byte aarch64_breakpoint[] = {0x00, 0x00, 0x20, 0xd4};
|
|||
static int
|
||||
aarch64_breakpoint_at (CORE_ADDR where)
|
||||
{
|
||||
gdb_byte insn[aarch64_breakpoint_len];
|
||||
if (is_64bit_tdesc ())
|
||||
{
|
||||
gdb_byte insn[aarch64_breakpoint_len];
|
||||
|
||||
(*the_target->read_memory) (where, (unsigned char *) &insn,
|
||||
aarch64_breakpoint_len);
|
||||
if (memcmp (insn, aarch64_breakpoint, aarch64_breakpoint_len) == 0)
|
||||
return 1;
|
||||
(*the_target->read_memory) (where, (unsigned char *) &insn,
|
||||
aarch64_breakpoint_len);
|
||||
if (memcmp (insn, aarch64_breakpoint, aarch64_breakpoint_len) == 0)
|
||||
return 1;
|
||||
|
||||
return 0;
|
||||
return 0;
|
||||
}
|
||||
else
|
||||
return arm_breakpoint_at (where);
|
||||
}
|
||||
|
||||
static void
|
||||
|
|
Loading…
Reference in New Issue