This is the mail archive of the elfutils-devel@sourceware.org mailing list for the elfutils 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: dwarflint versus linkage_name attributes


On Mon, 2011-04-04 at 16:12 +0200, Petr Machata wrote:
> just a plug about writing future high-level checks.
> 
> As of last week, it's possible to use a different scheme for writing
> high-level checks.  There's a new pass called check_die_tree, which uses
> all_dies_iterator<dwarf> to loop through the dwarf file.  It doesn't do
> any checking itself, instead on each DIE, it dispatches to a suite of
> per-DIE checks.

These are really nice. Already discussed on irc, but I turned a couple
of checks into die_checks:

commit b49c88a178c58f14973a470b280e1fb1be013764
Author: Mark Wielaard <mjw@redhat.com>
Date:   Thu Apr 7 18:03:19 2011 +0200

    Turn check_dups_abstract_origin into a die_check class.

commit 679a0d48c2f9a7c666ff49041d651bae9b5e1295
Author: Mark Wielaard <mjw@redhat.com>
Date:   Tue Apr 5 18:11:36 2011 +0200

    Turn check_linkage_external_die into a die_check class.

commit 9cd163d105333c3b6c9e785f96ae0c02031821e6
Author: Mark Wielaard <mjw@redhat.com>
Date:   Tue Apr 5 17:59:48 2011 +0200

    Turn check_self_referential_die into a die_check class.

We do have a nice collection of checks, but we still need to investigate
a lot of them. I am going through some of them to see if we need to be a
bit less strict or whether they really point to gcc deficiencies. Here
are a couple of checks I tweaked to be more inline with what I believe
gcc/dwarf means:

commit 6a0cc8997d4554f5a64b406cd951a1b5e547d759
Author: Mark Wielaard <mjw@redhat.com>
Date:   Fri Apr 8 11:17:48 2011 +0200

    dwarflint: expected-at GNU extension for anonymous typedef structs
and enums

commit 2c3b5027681e6c47b51e5605dd80184e2c3a4865
Author: Mark Wielaard <mjw@redhat.com>
Date:   Fri Apr 8 11:16:11 2011 +0200

    dwarflint: check_dups_abstract_origin allow subprogram defined
outside body.
    
    A subprogram can be defined outside the body of the enclosing class,
    then file and/or line attributes can differ.

commit d3037523d4f8e010093e7c0a7c3cf6ea0f16d669
Author: Mark Wielaard <mjw@redhat.com>
Date:   Mon Apr 4 16:10:20 2011 +0200

    Update dwarf-knowledge.cc and expected-at.cc with DWARF4 tags and
attributes

Cheers,

Mark


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