[Dwarf-Discuss] implementing SFN, support for multiple views per PC

Alexandre Oliva aoliva@redhat.com
Tue Sep 13 20:31:00 GMT 2016


On Sep 12, 2016, Cary Coutant <ccoutant at gmail.com> wrote:

> In the meantime, have you seen my proposal for two-level line tables
> (a prototype of which is implemented in the google/gcc-4_9 branch)?

>    http://dwarfstd.org/ShowIssue.php?issue=140906.1

>    http://wiki.dwarfstd.org/index.php?title=TwoLevelLineTables

I hadn't.  Thanks for the pointers.  I reciprocate your interest :-)


> At the bottom of the wiki page, I briefly mention a possible extension
> to support checkpoint-based debugging, where location lists will need
> to be able to refer to a logical location rather than a specific PC or
> PC range. This may be relevant to your ideas -- I'm thinking your view
> numbers might be similar to my logical locations.

I'm still digesting the information in the proposal and trying to
confirm they're roughly equivalent, or can be easily made so, but I have
two related comments from a first reading of the links above:

- the issue suggests referencing inlined functions by name.  I'm not
sure that's a very good idea, given templates, overloaded functions and
whatnot.  I think we'd be better off with a reference to the
DW_TAG_inlined_function DIE instead.  The DIE could then bring in such
additional information as template parameters, function arguments and
whatnot, and even identifying multiple inlined copies of the same
function.

- there seems to be a divergence between the issue and the wiki page WRT
that very topic: where the former says "function_name" and suggests it
refers to a string, the latter says "subprogram" and refers to an entry
in the line number program header.

-- 
Alexandre Oliva, freedom fighter    http://FSFLA.org/~lxoliva/
You must be the change you wish to see in the world. -- Gandhi
Be Free! -- http://FSFLA.org/   FSF Latin America board member
Free Software Evangelist|Red Hat Brasil GNU Toolchain Engineer



More information about the Dwarf-discuss mailing list