From: Pedro Alves <palves@redhat.com>
To: Antoine Tremblay <antoine.tremblay@ericsson.com>,
Yao Qi <qiyaoltc@gmail.com>
Cc: gdb-patches@sourceware.org
Subject: Re: [PATCH v7 3/8] Use xml-syscall to compare syscall numbers in arm_linux_sigreturn_return-addr.
Date: Fri, 11 Dec 2015 13:20:00 -0000 [thread overview]
Message-ID: <566ACDA2.1060200@redhat.com> (raw)
In-Reply-To: <566AC9F2.8090906@ericsson.com>
On 12/11/2015 01:04 PM, Antoine Tremblay wrote:
>
>
> On 12/11/2015 07:47 AM, Pedro Alves wrote:
>> 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?
>>
>
> This is only used if we need software single stepping, I think in that
> case hardware single stepping will be used on aarch64 even if stepping
> over an arm32 program, Yao can confirm ?
Ah, I think you're right.
>
>
>> 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.
>>
>>>
>
> Looking at the kernel code in linux/arch/arm64 I see :
>
> include/asm/unistd.h:#define __NR_compat_sigreturn 119
> include/asm/unistd.h:#define __NR_compat_rt_sigreturn 173
>
> include/asm/unistd32.h:#define __NR_sigreturn 119
> include/asm/unistd32.h:__SYSCALL(__NR_sigreturn,
> compat_sys_sigreturn_wrapper)
>
> include/asm/unistd32.h:#define __NR_rt_sigreturn 173
> include/asm/unistd32.h:__SYSCALL(__NR_rt_sigreturn,
> compat_sys_rt_sigreturn_wrapper)
>
> So I think it's ok... but I can't compile on aarch64 at the moment.
From that, it seems to be that Aarch64 64-bit doesn't even
have __NR_sigreturn. The one we see above is in unistd32.h,
which should mean it's only included when compiling 32-bit code.
So it seems like if you tried to reference __NR_sigreturn on
Aarch64, you'd get a build failure.
Note there are Aarch64 Ubuntu machines on the gcc compile farm.
But, it's moot if we do hardware stepping.
Thanks,
Pedro Alves
next prev parent reply other threads:[~2015-12-11 13:20 UTC|newest]
Thread overview: 48+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-12-08 14:07 [PATCH v7 0/8] Support software single step and conditional breakpoints on ARM in GDBServer Antoine Tremblay
2015-12-08 14:07 ` [PATCH v7 5/8] Share regcache function regcache_raw_read_unsigned Antoine Tremblay
2015-12-08 14:07 ` [PATCH v7 1/8] Replace breakpoint_reinsert_addr by get_next_pcs operation in GDBServer Antoine Tremblay
2015-12-08 14:07 ` [PATCH v7 2/8] Share some ARM target dependent code from GDB with GDBServer Antoine Tremblay
2015-12-08 14:07 ` [PATCH v7 3/8] Use xml-syscall to compare syscall numbers in arm_linux_sigreturn_return-addr Antoine Tremblay
2015-12-11 11:29 ` Yao Qi
2015-12-11 11:59 ` Pedro Alves
2015-12-11 12:02 ` Yao Qi
2015-12-11 12:05 ` Pedro Alves
2015-12-11 12:31 ` Antoine Tremblay
2015-12-11 12:47 ` Pedro Alves
2015-12-11 13:04 ` Antoine Tremblay
2015-12-11 13:20 ` Pedro Alves [this message]
2015-12-11 13:25 ` Antoine Tremblay
2015-12-15 12:46 ` Antoine Tremblay
2015-12-16 15:59 ` Pedro Alves
2015-12-16 16:36 ` Yao Qi
2015-12-16 16:37 ` Antoine Tremblay
2015-12-11 12:29 ` Antoine Tremblay
2015-12-16 15:59 ` Pedro Alves
2015-12-16 16:05 ` Antoine Tremblay
2015-12-16 16:24 ` [PATCH v7.1 " Antoine Tremblay
2015-12-17 10:09 ` Yao Qi
2015-12-17 10:17 ` Pedro Alves
2015-12-17 12:51 ` Antoine Tremblay
2015-12-17 13:25 ` Yao Qi
2015-12-17 13:36 ` Antoine Tremblay
2015-12-08 14:07 ` [PATCH v7 4/8] Refactor arm_software_single_step to use regcache Antoine Tremblay
2015-12-11 11:37 ` Yao Qi
2015-12-11 12:41 ` Antoine Tremblay
2015-12-08 14:08 ` [PATCH v7 7/8] Enable software single stepping for while-stepping actions in GDBServer Antoine Tremblay
2015-12-08 14:08 ` [PATCH v7 6/8] Support software single step on ARM " Antoine Tremblay
2015-12-09 20:09 ` [PATCH v7.1] " Antoine Tremblay
2015-12-11 13:28 ` Yao Qi
2015-12-11 13:36 ` Antoine Tremblay
2015-12-11 13:41 ` Antoine Tremblay
2015-12-11 14:45 ` Yao Qi
2015-12-11 14:43 ` Yao Qi
2015-12-11 15:06 ` Antoine Tremblay
2015-12-11 15:26 ` Antoine Tremblay
2015-12-11 15:38 ` Yao Qi
2015-12-11 16:11 ` Antoine Tremblay
2015-12-11 16:26 ` [PATCH v7.2] " Antoine Tremblay
2015-12-11 17:28 ` Yao Qi
2015-12-11 17:52 ` Antoine Tremblay
2015-12-08 14:08 ` [PATCH v7 8/8] Enable conditional breakpoints for targets that support software single step " Antoine Tremblay
2015-12-10 15:59 ` [PATCH v7 0/8] Support software single step and conditional breakpoints on ARM " Yao Qi
2015-12-10 16:02 ` Antoine Tremblay
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=566ACDA2.1060200@redhat.com \
--to=palves@redhat.com \
--cc=antoine.tremblay@ericsson.com \
--cc=gdb-patches@sourceware.org \
--cc=qiyaoltc@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox