From: Dodji Seketeli <dodji@seketeli.org>
To: Giuliano Procida <gprocida@google.com>
Cc: libabigail@sourceware.org, kernel-team@android.com,
maennich@google.com
Subject: Re: [PATCH 1/2] DWARF: look up DW_AT_declaration non-recursively
Date: Thu, 06 Aug 2020 18:43:31 +0200 [thread overview]
Message-ID: <878serend8.fsf@seketeli.org> (raw)
In-Reply-To: <20200724170953.4069948-2-gprocida@google.com> (Giuliano Procida's message of "Fri, 24 Jul 2020 18:09:52 +0100")
Giuliano Procida <gprocida@google.com> a écrit:
> Bug 26297: Possible misinterpretation of DW_AT_declaration via DW_AT_specification
>
> The DWARF attribute DW_AT_declaration indicates that a DIE is
> "declaration only". DWARF DIEs can be linked with DW_AT_specification
> and DW_AT_abstract_origin attributes, effectively combining them. A
> lone DW_AT_declaration in a chain of such DIEs should not render the
> whole chain declaration only.
Thank you for looking into this.
I kept meaning to look into that for a long time now and here you are
\o/
And yes, I think that several DW_AT_declaration a chain of DIEs linked by
DW_AT_{specification, abstract_origin} attributes should shouldn't turn a
definition DIE into a declaration-only one.
[...]
> * src/abg-dwarf-reader.cc (die_die_attribute): Rename
> 'look_thru_abstract_origin' argument to 'recursively' and
> mention DW_AT_specification in its doc comment. Remove stale
> comment for non-existent argument. Simplify code with the help
> of the ternary operator. (die_flag_attribute): Add
> recursively argument, defaulted to true. If this is false,
> look for attribute using dwarf_attr rather than
> dwarf_attr_integrate. (die_is_declaration_only): Call
> die_flag_attribute specifying non-recursive attribute search.
> * tests/data/test-annotate/test15-pr18892.so.abi: Update
> tests. This is mostly the removal of unreachable parts of the type
> graph and type id renumbering.
> * tests/data/test-annotate/test18-pr19037-libvtkRenderingLIC-6.1.so.abi:
> Likewise.
> * tests/data/test-annotate/test19-pr19023-libtcmalloc_and_profiler.so.abi:
> Likewise.
> * tests/data/test-diff-dwarf-abixml/test0-pr19026-libvtkIOSQL-6.1.so.1-report-0.txt:
> Likewise.
> * tests/data/test-read-dwarf/test15-pr18892.so.abi: Likewise.
> * tests/data/test-read-dwarf/test18-pr19037-libvtkRenderingLIC-6.1.so.abi:
> Likewise.
> * tests/data/test-read-dwarf/test19-pr19023-libtcmalloc_and_profiler.so.abi:
> Likewise.
> * tests/data/test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi:
> Likewise.
>
> Signed-off-by: Giuliano Procida <gprocida@google.com>
Applied to master, thanks!
Cheers,
--
Dodji
next prev parent reply other threads:[~2020-08-06 16:43 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-07-24 17:09 [PATCH 0/2] Fix determination of DIE declaration-only status Giuliano Procida
2020-07-24 17:09 ` [PATCH 1/2] DWARF: look up DW_AT_declaration non-recursively Giuliano Procida
2020-08-06 16:43 ` Dodji Seketeli [this message]
2020-07-24 17:09 ` [PATCH 2/2] DWARF: track chained DIE declaration-only status Giuliano Procida
2020-08-06 16:47 ` Dodji Seketeli
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=878serend8.fsf@seketeli.org \
--to=dodji@seketeli.org \
--cc=gprocida@google.com \
--cc=kernel-team@android.com \
--cc=libabigail@sourceware.org \
--cc=maennich@google.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).