[v8,5/7] Support software single step on ARM in GDBServer
Commit Message
Antoine Tremblay <antoine.tremblay@ericsson.com> writes:
> -#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
> -
> +
> +#ifndef __ARM_EABI__
> +static const unsigned long arm_breakpoint = arm_abi_breakpoint;
> +#else
> +static const unsigned long arm_breakpoint = arm_eabi_breakpoint;
> +#endif
Your code move actually changes the code. My recent fix
https://sourceware.org/ml/gdb-patches/2015-12/msg00215.html was removed
by mistake. This breaks the whole aarch64 multi-arch debugging.
I'll push the patch below in.
Comments
On 12/21/2015 08:58 AM, Yao Qi wrote:
> Antoine Tremblay <antoine.tremblay@ericsson.com> writes:
>
>> -#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
>> -
>
>> +
>> +#ifndef __ARM_EABI__
>> +static const unsigned long arm_breakpoint = arm_abi_breakpoint;
>> +#else
>> +static const unsigned long arm_breakpoint = arm_eabi_breakpoint;
>> +#endif
>
> Your code move actually changes the code. My recent fix
> https://sourceware.org/ml/gdb-patches/2015-12/msg00215.html was removed
> by mistake. This breaks the whole aarch64 multi-arch debugging.
>
> I'll push the patch below in.
>
Sorry about that, thanks for the fix!
Antoine
@@ -1,3 +1,8 @@
+2015-12-21 Yao Qi <yao.qi@linaro.org>
+
+ * linux-aarch32-low.h [__aarch64__]: Use arm_abi_breakpoint
+ arm breakpoint.
+
2015-12-18 Antoine Tremblay <antoine.tremblay@ericsson.com>
* server.c (handle_query): Call target_supports_software_single_step.
@@ -24,10 +24,10 @@
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