From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id C267E385DC39; Wed, 17 Mar 2021 22:46:10 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org C267E385DC39 From: "gprocida+abigail at google dot com" To: libabigail@sourceware.org Subject: [Bug default/27599] New: abidiff's notion of harmless union diff may need refinement Date: Wed, 17 Mar 2021 22:46:10 +0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: new 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: bug_id short_desc product version bug_status bug_severity priority component assigned_to reporter cc target_milestone Message-ID: 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: Wed, 17 Mar 2021 22:46:10 -0000 https://sourceware.org/bugzilla/show_bug.cgi?id=3D27599 Bug ID: 27599 Summary: abidiff's notion of harmless union diff may need refinement Product: libabigail Version: unspecified Status: UNCONFIRMED Severity: normal Priority: P2 Component: default Assignee: dodji at redhat dot com Reporter: gprocida+abigail at google dot com CC: libabigail at sourceware dot org Target Milestone: --- The fix to PR24731 introduced the notion of harmless union diffs. Occasionally we check what is being reported as filtered out by abidiff and peek in more detail with abidiff --harmless. Alas, for kernel code, this usually generates massive diffs and it's quite hard to spot the real causes. This bug report is about a frequent red herring in such diffs. The file tests/data/test-diff-dwarf/PR25058-liblttng-ctl-report-1.txt illustrates the issue on a smaller scale. There are two diff stanzas of interest. type of 'union {char* string; uint64_t constant; double float_constant; cha= r* identifier; filter_node* child;} u' changed and underlying type 'union YYSTYPE' changed Both have members of type filter_node* (which has changed... somewhere). Emitting the "harmless union diff" text here is unhelpful as union definiti= on is unchanged. The current test for a harmless union change is effectively (sizes are equal and) has_changes() which amounts to an equality comparison= of the two union types. abidiff --leaf-changes-only doesn't report these changes at all. [As an aside and to give an idea of what I mean by "massive". I compared two ABIs I expected to be equal. abidiff --leaf-changes-only: 0 changes, no diff abidiff --leaf-changes-only --harmless: 0 changes, 0 no diff abidiff: 1861 filtered out function and variable changes, no diff abidiff --harmless: 23848 lines of output A second trigger appears to be some definition/declaration issues in the XML which don't get picked up in leaf mode here either.] --=20 You are receiving this mail because: You are on the CC list for the bug.=