Re: [PATCH 08/10] Support software single step on ARM in GDBServer.

Pedro Alves
2015-11-04T18:46:53Z

On 10/29/2015 05:09 PM, Antoine Tremblay wrote:
> This patch teaches GDBserver how to software single step on ARM
> linux by sharing code with GDB.
>
> The arm_get_next_pcs function in GDB is now shared with GDBServer. So that
> GDBServer can use the function to return the possible addresses of the next PC.
>
> A proper shared context was also needed so that we could share the code, this
> context is described as this data structure (expressed as a class
> hierarchy):
>
> struct get_next_pcs
> struct os_arch_get_next_pcs
> struct os_arch_(gdb|gdbserver)_get_next_pcs
>
> Where arch can by replaced by arm for this patch. This structure should be
> flexible enough to accomodate any arch or os (optional) that would need a
> get_next_pcs context.

Thanks for following through with this. I skimmed this and it looks very
much like what I had imagined, so LGTM from a general design perspective.
But I'd rather leave it to Yao to go over the ARM details.

(BTW, I noticed several formatting problems just from skimming. I'd be good
if you did a pass over the patch fixing them; I'm sure you'll notice them too.)

Thanks,
Pedro Alves