From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id 4D6B5398A4B2; Thu, 22 Jul 2021 11:16:02 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 4D6B5398A4B2 From: "gprocida at google dot com" To: libabigail@sourceware.org Subject: [Bug default/28120] New: abidw: anonymous types and naming typedefs Date: Thu, 22 Jul 2021 11:16:01 +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 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 attachments.created 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: Thu, 22 Jul 2021 11:16:02 -0000 https://sourceware.org/bugzilla/show_bug.cgi?id=3D28120 Bug ID: 28120 Summary: abidw: anonymous types and naming typedefs Product: libabigail Version: unspecified Status: UNCONFIRMED Severity: normal Priority: P2 Component: default Assignee: dodji at redhat dot com Reporter: gprocida at google dot com CC: libabigail at sourceware dot org Target Milestone: --- Created attachment 13563 --> https://sourceware.org/bugzilla/attachment.cgi?id=3D13563&action=3Ded= it compressed ABI XML file Consider this: typedef struct { int b; } foo; typedef struct { int b; } bar; void fun(foo a, bar b) { (void)a; (void)b; } Compiling results in one type for the struct and two types for the typedefs. The struct has one naming typedef (and cannot have two, obviously). We've seen issues with the Linux kernel where isomorphic anonymous structs = with different naming typedefs in different compilation units end up as the same type id in the XML, but appear twice with different naming typedef ids. The attachment illustrates the issue with type id 8425539a. In terms of ABI diffing this is probably a low priority issue - I don't think naming typede= f is even inspected. --=20 You are receiving this mail because: You are on the CC list for the bug.=