From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id A3B2538930D0; Fri, 24 Jul 2020 12:45:06 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org A3B2538930D0 From: "gprocida+abigail at google dot com" To: libabigail@sourceware.org Subject: [Bug default/26297] Possible misinterpretation of DW_AT_declaration via DW_AT_specification Date: Fri, 24 Jul 2020 12:45:06 +0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: libabigail X-Bugzilla-Component: default X-Bugzilla-Version: unspecified X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: gprocida+abigail at google dot com X-Bugzilla-Status: UNCONFIRMED X-Bugzilla-Resolution: X-Bugzilla-Priority: P2 X-Bugzilla-Assigned-To: dodji at redhat dot com X-Bugzilla-Target-Milestone: --- X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: http://sourceware.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 X-BeenThere: libabigail@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Mailing list of the Libabigail project List-Unsubscribe: , List-Archive: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 24 Jul 2020 12:45:06 -0000 https://sourceware.org/bugzilla/show_bug.cgi?id=3D26297 --- Comment #4 from Giuliano Procida -= -- Some progress. It's possible and easy to update die_is_declaration only to not follow link= s. This makes some difference. For the rest, passing through some state is still needed. However, my first attempt definitely contained something which blew up the tests/data/test-diff-pkg/spice-server-0.12.4-19.el7.x86_64-0.12.8-1.el7.x86= _64-report-2.txt test. This may have been due to treating DW_AT_abstract_origin differently = from DW_AT_specification in one place. I've rethought and reworked it. Instead of recording whether we have reache= d a DIE via one or more links, I think it makes more sense to track the conjunc= tion of all the declaration-only states in a chain. DIE1 --> DIE2 --> DIE3 decl (no decl only attr) only This should be treated as NOT declaration-only. Each time a link is followe= d, it's either used for scope logic which doesn't care about this or there's a recursive call to build_ir_node_from_die. So, build_ir_node_from_die should take an is_declaration_only argument, defaulted to true and (almost) immediately AND it with die_is_declaration_only(die). This does leave much the same amount of plumb= ing as before but it does make more logical sense. WIP changes at https://github.com/myxoid/libabigail/commits/dwarf-follow-sp= ec --=20 You are receiving this mail because: You are on the CC list for the bug.=