This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: [RFC][PATCH 09/15] gdb: Add relocate instruction helpers
- From: Simon Marchi <simon dot marchi at ericsson dot com>
- To: Yao Qi <qiyaoltc at gmail dot com>, <henrik dot wallin at windriver dot com>
- Cc: <gdb-patches at sourceware dot org>, Antoine Tremblay <antoine dot tremblay at ericsson dot com>
- Date: Fri, 20 Nov 2015 13:06:41 -0500
- Subject: Re: [RFC][PATCH 09/15] gdb: Add relocate instruction helpers
- Authentication-results: sourceware.org; auth=none
- References: <cover dot 1444820235 dot git dot henrik dot wallin at windriver dot com> <cover dot 1444820235 dot git dot henrik dot wallin at windriver dot com> <b3dfc6c9e6fdba064a0925c137723e63d3103362 dot 1444820235 dot git dot henrik dot wallin at windriver dot com> <86mvv4zhfj dot fsf at gmail dot com>
On 15-10-27 07:20 AM, Yao Qi wrote:
> henrik.wallin@windriver.com writes:
>
>> The functions are used both when validating an instruction
>> when the users sets a fast tracepoint and when relocating
>> an instruction when gdbserver/ipa installs the jump pad.
>>
>> Currently all PC relative instructions are considered
>> not relocatable.
>>
>> Futher improvements can be made by rewriting some of those
>> instructions with alternative instructions.
>>
>> gdb/ChangeLog:
>>
>> * arm-tdep.c : Add relocate functionality to be used by fast
>> tracepoint support.
>
> You are relocating instructions in GDB side, which uses qRelocInsn
> packet. Why don't you relocate them in GDBserver side? Search
> aarch64_relocate_instruction in gdbserver/linux-aarch64-low.c, and you
> may have some clues from it.
>
Hi Yao,
It seems like the code that Henrik adds in this patch (for relocating an
instruction) is very similar to the code currently in arm-tdep.c for
displaced stepping. I think we can extract it and place it in arch/,
then use it both for displaced stepping and fast tracepoints. That's
what aarch64 does currently, is that right? Do you think it's the
right way to go for arm as well?
Simon