On 3/10/21 1:28 PM, David Blaikie wrote:
On Wed, Mar 10, 2021 at 1:21 PM Cary Coutant <ccout...@gmail.com
<mailto:ccout...@gmail.com>> wrote:
> Speculation beyond the original question:
> Given that it's a pretty common/core feature of a debugger to
call functions, perhaps a start would be some way for the producer
to communicate, via DWARF, that it has changed the ABI of a function
and so the consumer should not try to synthesize calls to it.
Providing much more functionality than that I think will amount to
encoding the ad-hoc ABIs that compilers create in these situations
(possible, but a fairly non-trivial proposal/enhancement to DWARF)
I believe that's what DW_AT_calling_convention and DW_CC_nocall are
for (Section 3.3.1.1).
Oh, sweet - yep, that looks like the ticket indeed.
"If the value of the calling convention attribute is the constant
DW_CC_nocall, the subroutine does not obey standard calling conventions,
and it may not be safe for the debugger to call this subroutine."
All that says is that you can't call the function. It doesn't
describe how to call functions with non-ABI calling conventions.
--
Michael Eager
_______________________________________________
Dwarf-Discuss mailing list
Dwarf-Discuss@lists.dwarfstd.org
http://lists.dwarfstd.org/listinfo.cgi/dwarf-discuss-dwarfstd.org