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

Reply via email to