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

Maciej W. Rozycki
2017-10-03T18:12:29Z

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.

Maciej