This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]