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