This is the mail archive of the
dwarf2@corp.sgi.com
mailing list for the dwarf2 project.
Re: dwarf and clones
- To: David B Anderson <davea at quasar dot engr dot sgi dot com>, Michael Eager <eager at eagercon dot com>
- Subject: Re: dwarf and clones
- From: David B Anderson <davea at quasar dot engr dot sgi dot com>
- Date: Wed, 14 Feb 2001 09:32:24 -0800 (PST)
- Cc: Jason Merrill <jason at redhat dot com>, dwarf2 at corp dot sgi dot com
- References: <200102141623.IAA66069@quasar.engr.sgi.com>
- Reply-To: David B Anderson <davea at quasar dot engr dot sgi dot com>
>How is this different from an out-of-line instance?
Not much different conceptually.
We don't have an abstract root, we simply generate dwarf
for the clone as a complete routine,
but the out-of-line instance approach should work ok.
For real inlines and concrete out-of-line instances we follow
the dwarf document.
>It looks like DW_AT_MIPS_clone_origin is the same as DW_AT_abstract_origin.
Yes.
>What would be the effect of describing a clone as a concrete out-of-line
>instance?
It would not be different, really.
I think we did it differently just because it was thought
to be slighly simpler to implement.
I found some debugger-internal documentation supporting
this recollection.
A key attribute for clones is the nocall attribute.
Such routines may not follow ABI argument-passing rules and
they are not intended for interactive calls from a
debugger in any case.
>DW_AT_MIPS_abstract_name looks like it could be a DW_AT_abstract_origin
>with DW_FORM_ref_addr. This doesn't seem directly related to clones.
Correct.
davea@sgi.com