From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id 5DD23385801F; Tue, 11 Jan 2022 11:30:48 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 5DD23385801F From: "gprocida at google dot com" To: libabigail@sourceware.org Subject: [Bug default/28319] abidw - regression in treatment of anonymous enums in structs Date: Tue, 11 Jan 2022 11:30:48 +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 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: Tue, 11 Jan 2022 11:30:48 -0000 https://sourceware.org/bugzilla/show_bug.cgi?id=3D28319 --- Comment #4 from gprocida at google dot com --- Hi Dodji. Following up on the last few bug comments: "old" and "new" refer to abidw before and after commit 1cfbff1b3037d1049bdff7e86de27c3a86af23b3. Looking at that commit and the new code in more detail, the binary-only enum comparison behaviour was added to address issues with a GIMP library ABI and makes abidw ignore enumerator names when canonicalising types. For Android and especially the kernel, we are extremely unlikely to have a use-case where binary-only enum comparison is useful, because we are very unlikely to link code against an old .a. On the other hand, the new behaviour is causing the regression noted in this bug. While there may be a more nuanced resolution possible, the best way forward= for us is seems to be to put the new behaviour under flag control. I'll start work on this now. Do you have any preference as to whether binary-only enum comparison should be the default and what the flag should = be called? >From the perspective of adding the binary-only comparison feature, only the GIMP test is improved, various other tests exhibit worse behaviour. Details follow. Regards. runtestannotate and runtestreaddwarf test-annotate/test18-pr19037-libvtkRenderingLIC-6.1.so.abi test-read-dwarf/test18-pr19037-libvtkRenderingLIC-6.1.so.abi 2 different (member type) enums are conflated 1 of them disappears from its containing class it wasn't referred to elsewhere in the ABI test-annotate/test19-pr19023-libtcmalloc_and_profiler.so.abi test-read-dwarf/test19-pr19023-libtcmalloc_and_profiler.so.abi enum tcmalloc::ThreadCache::__anonymous_enum__ disappears it wasn't referred to elsewhere in ABI test-annotate/test-anonymous-members-0.o.abi 3 anonymous enums (all used) are conflated 2 of them vanish from their containing type test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi 1 anonymous enum disappears from its containing type it wasn't referred to elsewhere in ABI test-abidiff/test-enum0-report.txt This was an enum test where the name of an enumerator changed. The report no longer shows any diff. runtestaltdwarf the GIMP test changes a lot, as expected runtestdiffdwarf test-diff-dwarf/PR25058-liblttng-ctl-report-1.txt The report no longer includes some enumerator name changes. --=20 You are receiving this mail because: You are on the CC list for the bug.=