This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: Backtrace library [3/3]
On Tue, Sep 11, 2012 at 10:16 PM, Jakub Jelinek <jakub@redhat.com> wrote:
> On Tue, Sep 11, 2012 at 03:55:04PM -0700, Ian Lance Taylor wrote:
>> +/* The DWARF abbreviations for a compilation unit. This structure
>> + only exists while reading the compilation unit. Most DWARF readers
>> + seem to a hash table to map abbrev ID's to abbrev entries.
>> + However, we primarily care about GCC, and GCC simply issues ID's in
>> + numerical order starting at 1. So we simply keep a sorted vector,
>> + and try to just look up the code. */
>
> As soon as you run dwz on it, the abbrevs won't be in numerical order,
> and even GCC really should be changed to sort the abbrevs by decreasing
> use count if there are more than 127 abbrevs (special casing the base types
> that are used for typed DWARF stack).
OK. Still, the current code should work correctly.
> The patch also doesn't handle DW_TAG_imported_unit/DW_TAG_partial_unit,
> which is a show stopper if dwz is used (and
> DW_FORM_GNU_strp_alt/DW_FORM_GNU_ref_alt isn't handled properly).
>
> BTW, the library doesn't seem to implement what gdb does, in particular
> improved support for tail calls. In gdb that was (at least);
> 2011-10-09 Jan Kratochvil <jan.kratochvil@redhat.com>
>
> Protect entry values against self tail calls.
> ...
>
> 2011-10-09 Jan Kratochvil <jan.kratochvil@redhat.com>
>
> Recognize virtual tail call frames.
Yes. I think these are issues that can be addressed after the initial
version of the library is approved and committed.
Ian