From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id BF1B5395CCBB; Wed, 2 Dec 2020 17:10:40 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org BF1B5395CCBB From: "gprocida+abigail at google dot com" To: libabigail@sourceware.org Subject: [Bug default/26998] New: abidiff --leaf-changes-only misreports array member changes Date: Wed, 02 Dec 2020 17:10:40 +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, 02 Dec 2020 17:10:40 -0000 https://sourceware.org/bugzilla/show_bug.cgi?id=3D26998 Bug ID: 26998 Summary: abidiff --leaf-changes-only misreports array member changes 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: --- We've seen various cases where abidiff --leaf-changes-only reporting falls = off the bottom of the represent helper resulting in the message " has *some* difference - please report as a bug". The problem manifests itself in two different ways. Sometime this message j= ust appears (and I speculate anonymous type renumbering has something to do with it). At other times, it's clear that there is a type change but abidiff has already reported it. I took a hour or so to dig deeper into one of the latter instances. Note that extracting ABIs with abidw and then comparing them yields the same results. $ head -100 *.c =3D=3D> test.0.c <=3D=3D struct buzz { int a; }; struct flexible { long count; struct buzz lightyear[0]; }; void impacted(const struct flexible * flex) { (void) flex; } =3D=3D> test.1.c <=3D=3D struct buzz { long a; }; struct flexible { long count; struct buzz lightyear[0]; }; void impacted(const struct flexible * flex) { (void) flex; } $ for x in test.{0,1}.c; do gcc -Wall -Wextra -g -c $x; done $ abidiff --impacted-interfaces --leaf-changes-only test.{0,1}.o Leaf changes summary: 2 artifacts changed Changed leaf types summary: 2 leaf types changed Removed/Changed/Added functions summary: 0 Removed, 0 Changed, 0 Added func= tion Removed/Changed/Added variables summary: 0 Removed, 0 Changed, 0 Added vari= able 'struct buzz at test.0.c:1:1' changed: type size changed from 32 to 64 (in bits) there are data member changes: type 'int' of 'buzz::a' changed: type name changed from 'int' to 'long int' type size changed from 32 to 64 (in bits) one impacted interface: function void impacted(const flexible*) 'struct flexible at test.0.c:5:1' changed: type size hasn't changed there are data member changes: 'buzz flexible::lightyear[]' has *some* difference - please report as a= bug one impacted interface: function void impacted(const flexible*) Changing both array sizes from 0 to 1 results in actual (size) difference b= eing reported for struct flexible. However, this type should probably not be bei= ng reported at all as it's not a leaf type (i.e., a changed type that is the r= oot cause of other changes). I'll see if I can generate another test case where there's just a harmless anonymous type rename and trigger the message that way as well. --=20 You are receiving this mail because: You are on the CC list for the bug.=