Use arm_eabi_breakpoint on aarch32

Nowdays, GDBserver chooses arm breakpoint instructions by checking
macro __ARM_EABI__.  When aarch64 GDBserver debugs arm program,
arm_eabi_breakpoint is still needed, but __ARM_EABI__ isn't defined
in aarch64 compiler.  This causes GDBserver chooses the wrong
breakpoint instruction for arm program.  This patch fixes it.

gdb/gdbserver:

2015-12-11  Yao Qi  <yao.qi@linaro.org>

	* linux-aarch32-low.c [__aarch64__]: Use arm_abi_breakpoint
	arm breakpoint.
This commit is contained in:
Yao Qi 2015-12-11 11:19:52 +00:00
parent 1e6f4800fc
commit b37a6290be
2 changed files with 8 additions and 3 deletions

View File

@ -1,3 +1,8 @@
2015-12-11 Yao Qi <yao.qi@linaro.org>
* linux-aarch32-low.c [__aarch64__]: Use arm_abi_breakpoint
arm breakpoint.
2015-12-07 Yao Qi <yao.qi@linaro.org>
* configure.srv: Append arm.o to srv_tgtobj for

View File

@ -146,10 +146,10 @@ struct regs_info regs_info_aarch32 =
ABI's breakpoint instruction. For now at least. */
#define arm_eabi_breakpoint 0xe7f001f0UL
#ifndef __ARM_EABI__
static const unsigned long arm_breakpoint = arm_abi_breakpoint;
#else
#if (defined __ARM_EABI__ || defined __aarch64__)
static const unsigned long arm_breakpoint = arm_eabi_breakpoint;
#else
static const unsigned long arm_breakpoint = arm_abi_breakpoint;
#endif
#define arm_breakpoint_len 4