Re: [RFC 2/3] Record function descriptor address instead of function address in value

Yao Qi
2017-10-04T21:25:25Z

On Tue, Oct 3, 2017 at 7:12 PM, Maciej W. Rozycki <macro@imgtec.com> wrote:
> Hi Yao,
>
> On Fri, 28 Oct 2016, Yao Qi wrote:
>
>> > Overall I like the proposal and if this goes forward I will see if we can
>> > adapt the MIPS backend to use this approach as well, addressing the issues
>> > we still have remaining, such as confusing instruction addresses and wrong
>> > instruction data shown with `disass /r'. We have a little complication in
>> > that we have the ISA bit set in line information, so that would have to be
>> > stripped in DWARF record processing, but it should be much easier to do
>> > with a single hook in place than the complicated processing now required
>> > to copy ISA bit annotation from the symbol table (msymbols), the hooks to
>> > handle which we'll then be able to drop from our DWARF machinery.
>>
>> At the very beginning, I wanted to follow the MIPS approach in ARM,
>> but I realized some issues when writing the patch. Then, I switched to
>> the approach I am proposing in this thread. If the ISA bit plus function
>> address is regarded as a function descriptor, this approach should be
>> able to handle all of them (ppc64, arm and mips) correctly (and
>> cleanly, I hope).
>
> Have you made any progress with your solution? I saw Ulrich had concerns
> and it's been a while, silent, since we discussed it. Meanwhile we have
> started discovering corner case issues with compressed code disassembly,
> which I believe your change would fix. So we'd rather avoid creating more
> hooks (hacks) addressing these issues, only to remove them again once your
> obviously more promising solution has gone in.
>

Hi Maciej,
I had some ideas to address Ulrich's concerns/comments, IIRC. It is still
on my TODO, but it was interrupted by GDBserver software single step
last year, and SVE/target description this year :( I still have 3 - 4
things I need
to finish by next release. I hope that I can pick it up again next year.

--
Yao (齐尧)