Re: [PATCH v7 3/8] Use xml-syscall to compare syscall numbers in arm_linux_sigreturn_return-addr.

Pedro Alves
2015-12-11T12:47:43Z

On 12/11/2015 12:31 PM, Antoine Tremblay wrote:
>
>
> On 12/11/2015 07:05 AM, Pedro Alves wrote:
>> On 12/11/2015 12:02 PM, Yao Qi wrote:
>>> On 11/12/15 11:59, Pedro Alves wrote:
>>>> but then you might as well just do:
>>>>
>>>> #define ARM_SIGRETURN 119
>>>
>>> How about using __NR_sigreturn and __NR_rt_sigreturn directly? like
>>> what patch #6 does.
>>
>> Those are host/native macros. Only make sense for the running host.
>> Can't use that in a tdep file, like arm-linux-tdep.c. Otherwise, e.g.,
>> a x86-hosted cross debugger would be using the x86 __NR_sigreturn, etc.
>>
>
> Exactly that's why I use those only in GDBServer.

Hmm, actually, that sounds wrong.

What about Aarch64 gdbserver debugging Aarch32?

I see that the new code in question in patch #6 is in gdbserver/linux-arm-low.c,
which is not built on Aarch64, but, shouldn't that new arm_sigreturn_next_pc
code be used in the biarch scenario as well?

If you just made that 32-bit-specific code compile on Aarch64 it would
be compiling against Aarch64's __NR_sigreturn, which I'd assume is wrong for Aarch32.

>
> Personally while I like the #define ARM_SIGRETURN 119 better, I think
> the xml function is fine.
>

If you added

#define ARM_LINUX_SIGRETURN 119

to arch/arm-linux.h

you could use it in both places.

Thanks,
Pedro Alves